Tools implemented in Spring/Java technology are provided to develop an architectural solution that allows the composition of microservices through the choreography of BPMN fragments. These tools will allow developers to describe the overall view of a microservice composition using a BPMN model, which provides a valuable mechanism for analyzing and evolving that composition as requirements change. On the other hand, this model is divided into BPMN fragments that are executed through a choreography based on events, providing a high degree of decoupling between microservices, as demanded in this type of architectures.
The infrastructure provided can be used in any microservices-based system for the creation of value-added services from the composition of existing microservices. An example of its application can be found at this URL: https://github.com/pvalderas/microservices-composition-example In this example, a solution has been implemented in the field of e-commerce to support the online purchasing process through the composition of 4 microservices: Customers, Inventory, Payment and Shipment. In the same way, this infrastructure can be used to provide complex services in other areas such as Industry 4.0, Smart Cities, eHealth, etc.
- Autonomous Computing, Self-adaptation and "Human in the loop" in industrial environments (Design and testing of Internet of Things (IoT) in enterprise environments: Integration of real world objects with information systems, Design and development of ubiquitous and ambient intelligence systems applied to Smart Homes, Buildings and Cities). Design of autonomous and self-adaptive systems) - Organizational Modeling and Requirements Engineering (From Requirements to Code, Requirements Management in Organizational Modeling, Support for Information Systems Evolution, Model and Ontology Driven Interoperability of Information Systems, Ubiquitous Business Processes and Business Process Variability Management)