Supporting a Hybrid Composition of Microservices. The EUCalipTool Platform
In order to provide complex and elaborated functionalities, Microservices may cooperate with each other either by following a centralized (orchestration) or decentralized (choreography) approach. It seems that the decentralized nature of microservices makes the choreography approach more appropriate to achieve such cooperation, where lighter solutions based on events and message queues are used. However, orchestration through the usage of a process model makes it is easier to analyze the flow of the composition when modifications are required. In order to benefit from the goodness of these two approaches, this paper presents a hybrid solution based on the choreography of business process pieces, that are obtained from a previously defined description of the complete microservice composition. To support this solution, the EUCalipTool platform is presented.
Basili, V.R., Rombach, H.D. (1988). The TAME project: towards improvement-oriented software environments. IEEE Trans. Softw. Eng. 14(6), 758–773
Bucchiarone, A., Dragoni, N., Dustdar, S., Larsen, S. T., and Mazzara, M. (2018). From Monolithic to Microservices: An Experience Report from the Banking Domain. IEEE Software, vol. 35, no. 3, pp. 50-55
Butzin, B., Golatowski, F., & Timmermann, D. (2016). Microservices approach for the internet of things. In 2016 IEEE 21st International Conference on Emerging Technologies and Factory Automation (ETFA) (pp. 1-6). IEEE.
Casati, F.: Models, Semantics, and Formal Methods for the design of Workflows and their Exceptions. (1998). PhD thesis, Milano
Dadam, P., Reichert, M. (2009). The ADEPT project: a decade of research and development for robust and flexible process support. Comp Scie - R&D 23: 81-97
Dragoni, N, Giallorenzo, S., Lluch-Lafuente, A., Mazzara, M., Montesi, F., Mustafin, R., Safina, L. (2017). Microservices: Yesterday, Today, and Tomorrow. Present and Ulterior Software Engineering: 195-216
Dräxler, S., Karl, H., Peuster, M., Kouchaksaraei, H. R., Bredel, M., Lessmann, J., ... & Xilouris, G. (2017). SONATA: Service programming and orchestration for virtualized software networks. In 2017 IEEE International Conference on Communications Workshops (ICC Workshops) (pp. 973-978). IEEE.
Guidi, C., Lanese, I., Mazzara, M., & Montesi, F. (2017). Microservices: a language-based approach. In Present and Ulterior Software Engineering (pp. 217-225). Springer, Cham.
Hamidehkhan, P. (2019). Analysis and evaluation of composition languages and orchestration engines for microservices (Master's thesis).
Indrasiri, K., & Siriwardena, P. (2018). Integrating Microservices. In Microservices for the Enterprise (pp. 167-217). Apress, Berkeley, CA.
Jolie. (2019). A service oriented language. URL: <a href="https://www.jolielang.org/">https://www.jolielang.org/</a> Last time accesed: November 2019.
Kitchenham, B., Pickard, L. and Pfleeger, S. L. (1995). Case studies for method and tool evaluation, Software, IEEE, vol. 12, no. 4, pp. 52–62, 1995.
Newman, S. (2015). Building Microservices, USA:O'Reilly Media Inc., February 2015.
Petrasch, R. (2017). Model-based engineering for microservice architectures using enterprise integration patterns for inter-service communication. In 2017 14th International Joint Conference on Computer Science and Software Engineering (JCSSE) (pp. 1-4). IEEE.
Rajasekar, A., Wan, M., Moore, R., & Schroeder, W. (2012). MicroServices: A Service-Oriented Paradigm for. Data Intensive Distributed Computing. In: Challenges and Solutions for Largescale Information Management (pp. 74-93). IGI Global.
Safina, L., Mazzara, M., Montesi, F., & Rivera, V. (2016). Datadriven workflows for microservices: Genericity in jolie. In 2016 IEEE 30th International Conference on Advanced Information Networking and Applications (AINA) (pp. 430-437). IEEE.
Shadija, D., Rezai, M., Hill, R. (2017). Towards an understanding of microservices. ICAC 2017: 1-6
Singhal, N., Sakthivel, U., & Raj, P. (2019). Selection Mechanism of Micro-Services Orchestration Vs. Choreography. International Journal of Web & Semantic Technology (IJWesT), 10(1), 25.
Terraform. (2019). URL: https://www.terraform.io/ Last time accesed: November 2019.
Valderas, P., Torres, T., Mansanet, M., Pelechano, V. (2017). A mobile-based solution for supporting end-users in the composition of services. Multimedia Tools Appl. 76 (15): 16315-16345
Valderas, P, Torres, V, and Pelechano, V. (2019). Hybrid Composition of Microservices with EUCalipTool. Proceedings of the XXII Iberoamerican Conference on Software Engineering, CIbSE 2019, La Habana, Cuba, April 22-26, 2019: 2-15.
Weber, B., Reichert, M., Rinderle, S. (2008). Change Patterns and Change Support Features - Enhancing Flexibility in ProcessAware Information Systems. Data and Knowledge Engineering 66: 438-466
Wohlin, C., Runeson, P. , Höst, M., Ohlsson, M. C., Regnell, B. and Wesslén, A. (2012). Experimentation in Software Engineering, Springer.
Yahia, E. B. H., Réveillère, L., Bromberg, Y. D., Chevalier, R., & Cadot, A. (2016). Medley: An event-driven lightweight platform for service composition. In International Conference on Web Engineering (pp. 3-20). Springer, Cham.