A microservice composition approach based on the choreography of BPMN fragments

Abstract Context Microservices must be composed to provide users with complex and elaborated functionalities. It seems that the decentralized nature of microservices makes a choreography style more appropriate to achieve such cooperation, where lighter solutions based on asynchronous events are generally used. However, a microservice composition based on choreography distributes the flow logic of the composition among microservices making further analysis and updating difficult, i.e. there is not a big picture of the composition that facilitates these tasks. Business Process Model and Notation (BPMN) is the OMG standard developed to represent Business Processes (BPs), being widely used to define the big picture of such compositions. However, BPMN is usually considered in orchestration-based solutions, and orchestration can be a drawback to achieve the decoupling pursued by a microservice architecture. Objective Defining a microservice composition approach that allows us to create a composition in a BPMN model, which facilitates further analysis for taking engineering decisions, and execute them through an event-based choreography to have a high degree of decoupling and independence among microservices. Method We followed a research methodology for information systems that consists of a 5-step process: awareness of the problem, suggestion, development, evaluation, and conclusion. Results We presented a microservice composition approach based on the choreography of BPMN fragments. On the one hand, we propose to describe the big picture of the composition with a BPMN model, providing a valuable mechanism to analyse it when engineering decisions need to be taken. On the other hand, this model is split into fragments in order to be executed through an event-based choreography form, providing the high degree of decoupling among microservices demanded in this type of architecture. This composition approach is supported by a microservice architecture defined to achieve that both descriptions of a composition (big picture and split one) coexist. A realization of this architecture in Java/Spring technology is also presented. Conclusions The evaluation that is done to our work allows us to conclude that the proposed approach for composing microservices is more efficient than solutions based on ad-hoc development.

[1]  Indika Perera,et al.  A Full Stack Microservices Framework with Business Modelling , 2018, 2018 18th International Conference on Advances in ICT for Emerging Regions (ICTer).

[2]  Muhammad Ali Babar,et al.  Identifying relevant studies in software engineering , 2011, Inf. Softw. Technol..

[3]  Roland Petrasch Model-based engineering for microservice architectures using Enterprise Integration Patterns for inter-service communication , 2017, 2017 14th International Joint Conference on Computer Science and Software Engineering (JCSSE).

[4]  Manuel Resinas,et al.  Redefining a Process Engine as a Microservice Platform , 2016, Business Process Management Workshops.

[5]  Alfred Zimmermann,et al.  Microservices in Industry: Insights into Technologies, Characteristics, and Software Quality , 2019, 2019 IEEE International Conference on Software Architecture Companion (ICSA-C).

[6]  Lincoln S. Rocha,et al.  Beethoven: An Event-Driven Lightweight Platform for Microservice Orchestration , 2018, ECSA.

[7]  Richard Hull,et al.  Introducing the Guard-Stage-Milestone Approach for Specifying Business Entity Lifecycles , 2010, WS-FM.

[8]  Daniel Port,et al.  A study of productivity and efficiency for object-oriented methods and languages , 1999, Proceedings Sixth Asia Pacific Software Engineering Conference (ASPEC'99) (Cat. No.PR00509).

[9]  Andrea Giglio,et al.  A service-in-the-loop approach for business process simulation based on microservices , 2018, SummerSim.

[10]  C. Peltz,et al.  Web Services Orchestration and Choreography , 2003, Computer.

[11]  Daniele Gianni,et al.  A model-driven method for building distributed simulation systems from business process models , 2012, Proceedings Title: Proceedings of the 2012 Winter Simulation Conference (WSC).

[12]  Gwen Salaün Generation of Service Wrapper Protocols from Choreography Specifications , 2008, 2008 Sixth IEEE International Conference on Software Engineering and Formal Methods.

[13]  Victor R. Basili,et al.  The TAME Project: Towards Improvement-Oriented Software Environments , 1988, IEEE Trans. Software Eng..

[14]  Roberto Gorrieri,et al.  Choreography and Orchestration Conformance for System Design , 2006, COORDINATION.

[15]  Omar Khadeer Hussain,et al.  From BPMN Models to SoaML Models , 2019, CISIS.

[16]  Wil M. P. van der Aalst,et al.  DECLARE: Full Support for Loosely-Structured Processes , 2007, 11th IEEE International Enterprise Distributed Object Computing Conference (EDOC 2007).

[17]  Salvatore T. March,et al.  Design and natural science research on information technology , 1995, Decis. Support Syst..

[18]  Mathias Weske,et al.  Semi-automatic derivation of RESTful choreographies from business process choreographies , 2017, Software & Systems Modeling.

[19]  Wouter Tavernier,et al.  SONATA: Service programming and orchestration for virtualized software networks , 2016, 2017 IEEE International Conference on Communications Workshops (ICC Workshops).

[20]  Ivan Lanese,et al.  ChIP: A Choreographic Integration Process , 2018, OTM Conferences.

[21]  Fabrizio Montesi,et al.  Microservices: Yesterday, Today, and Tomorrow , 2017, Present and Ulterior Software Engineering.

[22]  Claes Wohlin,et al.  Experimentation in Software Engineering , 2012, Springer Berlin Heidelberg.

[23]  Roderick Chapman Correctness by construction: a manifesto for high integrity software , 2006 .

[24]  Stefanie Rinderle-Ma,et al.  Change patterns and change support features - Enhancing flexibility in process-aware information systems , 2008, Data Knowl. Eng..

[25]  Yérom-David Bromberg,et al.  Medley: An Event-Driven Lightweight Platform for Service Composition , 2016, ICWE.

[26]  Jan Mendling,et al.  Learning from Quality Issues of BPMN Models from Industry , 2016, IEEE Software.

[27]  Fabrizio Montesi,et al.  Deadlock-freedom-by-design: multiparty asynchronous global programming , 2013, POPL.

[28]  Chaitanya K. Rudrabhatla Comparison of Event Choreography and Orchestration Techniques in Microservice Architecture , 2018 .

[29]  Samik Basu,et al.  Deciding choreography realizability , 2012, POPL '12.

[30]  John Krogstie,et al.  Assessing Business Process Modeling Languages Using a Generic Quality Framework , 2006 .

[31]  Huilong Duan,et al.  Supporting BPMN choreography with system integration artefacts for enterprise process collaboration , 2014, Enterp. Inf. Syst..

[32]  Paolo Bocciarelli,et al.  A model-driven method for enacting the design-time QoS analysis of business processes , 2013, Software & Systems Modeling.

[33]  Roy Oberhauser,et al.  Microflows: Lightweight Automated Planning and Enactment of Workflows Comprising Semantically-Annotated Microservices , 2016, BMSD 2016.

[34]  Thomas Schuster,et al.  Microservice Based Tool Support for Business Process Modelling , 2015, 2015 IEEE 19th International Enterprise Distributed Object Computing Workshop.

[35]  Björn Butzin,et al.  Microservices approach for the internet of things , 2016, 2016 IEEE 21st International Conference on Emerging Technologies and Factory Automation (ETFA).

[36]  Fabrizio Montesi,et al.  Data-Driven Workflows for Microservices: Genericity in Jolie , 2015, 2016 IEEE 30th International Conference on Advanced Information Networking and Applications (AINA).

[37]  Xiang Fu,et al.  Towards a Theory of Web Service Choreographies , 2007, WS-FM.

[38]  Giovanni Emanuele Corazza,et al.  Introducing the QEST broker: Scaling the IoT by bridging MQTT and REST , 2012, 2012 IEEE 23rd International Symposium on Personal, Indoor and Mobile Radio Communications - (PIMRC).

[39]  Mario Bravetti,et al.  Towards a Unifying Theory for Choreography Conformance and Contract Compliance , 2007, SC@ETAPS.

[40]  Raghava Rao Mukkamala,et al.  Exformatics Declarative Case Management Workflows as DCR Graphs , 2013, BPM.

[41]  Raman Kazhamiakin,et al.  Choreography Conformance Analysis: Asynchronous Communications and Information Alignment , 2006, WS-FM.

[42]  Wil M. P. van der Aalst,et al.  Choreography Conformance Checking: An Approach based on BPEL and Petri Nets , 2005, The Role of Business Processes in Service Oriented Architectures.

[43]  Mathias Weske,et al.  Modeling Service Choreographies Using BPMN and BPEL4Chor , 2008, CAiSE.

[44]  Holger Karl,et al.  Pishahang: Joint Orchestration of Network Function Chains and Distributed Cloud Applications , 2018, 2018 4th IEEE Conference on Network Softwarization and Workshops (NetSoft).

[45]  Paola Inverardi,et al.  CHOREOS: Large scale choreographies for the future internet , 2014, 2014 Software Evolution Week - IEEE Conference on Software Maintenance, Reengineering, and Reverse Engineering (CSMR-WCRE).

[46]  Ivan Lanese,et al.  Microservices: A Language-Based Approach , 2017, Present and Ulterior Software Engineering.