16/06/2022
Microservices have emerged as an alternative solution to many existing technologies allowing to break monolithic applications into “small” fine-grained, highly-cohesive, and loosely-coupled units. However, identifying microservices remains a challenge that could undermine this migration success.
This paper proposes an approach for microservices automatic identification from a set of business processes (BP).
The approach is multi-models combining different independent models that represent a BP’s control dependencies, data dependencies,
semantic dependencies, respectively. the approach is also based on collaborative clustering.
A case study about renting bikes is adopted to illustrate and demonstrate the approach. In term of precision, the results show how BPs as inputs permit to generate better microservices compared to other approaches discussed in the paper, as well.
Index Terms—Microservices, Semantics, Business Process, Disco, Data dependencies.
There is a consensus that existing solutions like Commercial-Of-The-Shelf and Component-Based Software Engineering have already shown their limitations to tackle the challenge of managing monolithic (legacy) systems.
Monolithic means one block of strongly-coupled components that complexify the process of accommodating functional, non-functional, and structural changes that all organizations experience on a daily basis. Contrarily, microservices have emerged as an alternative solution allowing to break such systems into “small” units that are fine grained, highly-cohesive, and loosely-coupled. However to sustain the benefits of microservices their successful discovery is a must. This paper presents a novel approach to discover microservices. First we use a set of Business Processes (BP) as an input for discovery while others use log files [6], source codes [7], UML class diagram [2], and legacy databases [3]. Second, we use clustering technique to capture the dependencies that characterize BPs’ activities in terms of control, data, and functional.
Referred to as organizations’ main assets, BPs could constitute an important source for identifying microservices.
According to Weske, ”... A business process consists of a set of activities that are performed in coordination in an organizational and technical environment. These activities jointly realize a business goal. Each business process is enacted by a single organization, but it may interact with business processes performed by other organizations” [14].
Despite being a rich reservoir of many details like who does what, when, where, and why, BPs seem overlooked during the exercise of identifying microservices. To the best of our knowledge, Amiri is the only one who adopted BPs in this exercise [1].