An MDD Approach to Support the Identification and Composition of Microservices from Business Goals
摘要
Organizations usually use Business Processes (BPs) to describe how to achieve their goals. When these activities are performed in a decentralized way, by different departments or organizations, microservices architectures appear as an interesting and convenient solution to implement such BPs due to their decoupling characteristics. To create a system based on microservices, these must be first identified and then composed to achieve the organization’s goals. However, this is not a trivial task, since the identification of microservices is a well-known problem. Furthermore, in the context of BPs, little attention has been paid to the notion of goals and, consequently, they are not explicitly defined when designing a BP. This causes a lack of alignment between goals and the microservices that implement the BP, making its composition even more difficult since the goals that each microservice must achieve are not known. To solve these problems, we propose a Model-Driven Development (MDD) approach to identify and compose microservices from goals. We have defined a transformation algorithm to automatically generate a choreographed and distributed BP based on microservices from goals. In addition, we present the reverse transformation, i.e., deriving goals from an orchestrated and global BP. The main benefits of our proposal are: (1) it facilitates the alignment of goals and BP and therefore, between BP and microservices; (2) it supports the distributed definition of a microservices composition; and (3) it supports the automatic refactoring of an orchestrated BP to a choreographed BP.