Búsqueda avanzada

Supporting Tools for Microservices Composition through the choreography of BPMN fragments (Demo)


Microservices must be composed to provide users with complex and elaborated functionalities. According to the decentralized nature of micro-services, choreographies is the most appropriate style to achieve such com-position. However, this style forces to distribute the flow logic of the com-position among the participating microservices making difficult its analysis and update. The Business Process Model and Notation (BPMN) provides a graphical notation widely used in academia and industry to specify business processes. Within the microservice composition context, this notation can be used to create the big picture of such compositions. However, this notation is usually considered in orchestration-based solutions, and orchestration can be a drawback to achieve the decoupling pursued by a microservice architecture. Therefore, in this demo paper we present the architectural solution and its realization in Java/Spring technology to support an approach that allows defining a microservice composition keeping the benefits of both composition mechanisms, i.e., orchestration and choreography. Specifically, the supporting tool allows 1) defining the microservice com-position in a BPMN model to have the big picture of the whole composition, which facilitates further analysis and maintenance when requirements change, and 2) splitting this BPMN model into fragments that are distributed among microservices in order to be executed by following an event-based choreography of BPMN fragments, which provide a high degree of de-coupling and independence to implement and maintain microservices. This composition approach is supported by a microservice architecture defined to achieve that both descriptions of a composition (big picture and split one) coexist.

Palabras Clave:

Architecture - BPMN - Choreography - composition - microservices





Este artículo tiene una licencia de uso CreativeCommons - Reconocimiento (by)

Descarga el artículo haciendo click aquí.

Ver la referencia en formato Bibtex