{'fraction_non_alphanumeric': 0.017763157894736842, 'fraction_numerical': 0.0, 'mean_word_length': 5.584415584415584, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Refactoring Orchestrated Web Services into Microservices Using Decomposition Pattern

Service-oriented architecture (SOA) is an architectural design of inter-services collaborations. In general, SOA has three major roles, including client, service provider, and service broker. To access a service usually depends on a service broker, which causes inflexibility in system modification. The software industry now focuses more on productivity, flexibility of the constant changes and continuous modifications, for which the SOA style may not be suitable. Therefore, a new microservice style is an alternative serving those needs, which means a microservice unit is more adaptable and replaceable with no ripple effects. Since the microservice architecture design is considered as a collection of the small self-contained services, each service represents a business capability and carries its own isolated data. However, how to identify microservices is still a challenging task in the business process model level. This paper proposes an alternative mean to extract the existing SOA services from the BPEL flow and refactor them into a set of relevant microservices using the decomposition pattern. In our case study, we propose how to do the service refactoring against the business domain profiles collected from the extracted vocabularies from the given business scenarios. The resulting microservices are domain specific and conform to the business capability vocabularies extracted from the given business scenarios.