Abstract
All organizations engage in ongoing maintenance of their information systems due to constant changes in users’ needs and governments’ regulations. However these systems are monolithic making this maintenance a nightmare. To address this monolithic nature different technologies like commercial-of-the-shelf, service-oriented architecture, and lately microservices are proposed. This paper focuses on microservices by discussing their automatic identification from a set of business processes. Thanks to business processes, control and data dependencies between their activities are extracted and then clustered together. Each cluster constitutes a candidate microservice. To illustrate and demonstrate microservice automatic identification, a case study about renting bikes in the city of Barcelona is adopted and then implemented. In term of precision, the results show how business processes as inputs permit to generate better microservices compared to other approaches discussed in the paper, as well.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
- 2.
- 3.
In our work, individuals are activities and features are control and data dependencies.
- 4.
Let n be 3, \(\sum _{r=1,n} (\frac{r}{n} \times C(n,r))\) has the following value: (\(\frac{1}{3} \times 3 + \frac{2}{3} \times 3+ \frac{3}{3} \times 1\)=4).
- 5.
Let n be 3, \(\sum _{r=1,n} C(n,r)\) has the following value: (3+ 3+ 1)=7.
- 6.
\(distance [distance(C_u,C_v)]^{p}_{M}\) computes any distance between 2 clusters \(C_u\) and \(C_v\) by using the score Matrix M of the iteration p.
References
Amiri, M.J.: Object-aware identification of microservices. In: 2018 IEEE International Conference on Services Computing (SCC), pp. 253–256. IEEE (2018)
Baresi, L., Garriga, M., De Renzis, A.: Microservices identification through interface analysis. In: De Paoli, F., Schulte, S., Broch Johnsen, E. (eds.) ESOCC 2017. LNCS, vol. 10465, pp. 19–33. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-67262-5_2
Cerný, T., Donahoo, M.J., Pechanec, J.: Disambiguation and comparison of SOA, microservices and self-contained systems. In: Proceedings of the International Conference on Research in Adaptive and Convergent Systems, RACS 2017, Krakow, Poland, 20–23 September 2017, pp. 228–235 (2017)
Chen, R., Li, S., Li, Z.: From monolith to microservices: a dataflow-driven approach. In: 2017 24th Asia-Pacific Software Engineering Conference (APSEC), pp. 466–475. IEEE, December 2017
Chung, J., Chao, K.: A view on service-oriented architecture. Servi. Oriented Comput. Appl. 1(2), 93–95 (2007). https://doi.org/10.1007/s11761-007-0011-2
Cornuéjols, A., Wemmert, C., Gançarski, P., Bennani, Y.: Collaborative clustering: why, when, what and how. Inform. Fusion 39, 81–95 (2018). https://doi.org/10.1016/j.inffus.2017.04.008
Davenport, T., Short, J.: The new industrial engineering: information technology and business process redesign. Sloan Manag. Rev. (1990)
Djogic, E., Ribic, S., Donko, D.: Monolithic to microservices redesign of event driven integration platform. In: 41st International Convention on Information and Communication Technology, Electronics and Microelectronics, MIPRO 2018, Opatija, Croatia, 21–25 May 2018, pp. 1411–1414 (2018). https://doi.org/10.23919/MIPRO.2018.8400254
Escobar, D., et al.: Towards the understanding and evolution of monolithic applications as microservices. In: XLII Latin American Computing Conference, CLEI 2016, Valparaíso, Chile, 10–14 October 2016, pp. 1–11 (2016). https://doi.org/10.1109/CLEI.2016.7833410
Estañol, M.: Artefact-centric business process models in UML: specification and reasoning. Ph.D. thesis, Universitat Politècnica de Catalunya (2016)
Gysel, M., Kölbener, L., Giersche, W., Zimmermann, O.: Service cutter: a systematic approach to service decomposition. In: Aiello, M., Johnsen, E.B., Dustdar, S., Georgievski, I. (eds.) ESOCC 2016. LNCS, vol. 9846, pp. 185–200. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-44482-6_12
Hammouda, K., Kamel, M.: Collaborative document clustering. In: SIAM International Conference on Data Mining (2006)
Hassan, S., Bahsoon, R.: Microservices and their design trade-offs: a self-adaptive roadmap. In: IEEE International Conference on Services Computing, SCC 2016, San Francisco, CA, USA, June 27–July 2 2016, pp. 813–818 (2016). https://doi.org/10.1109/SCC.2016.113
Jin, W., Liu, T., Zheng, Q., Cui, D., Cai, Y.: Functionality-oriented microservice extraction based on execution trace clustering. In: 2018 IEEE International Conference on Web Services, ICWS 2018, San Francisco, CA, USA, 2–7 July 2018, pp. 211–218 (2018). https://doi.org/10.1109/ICWS.2018.00034
Ke, W., Gong, X.: Collaborative hierarchical clustering in the browser for scatter/gather on the web. In: Information, Interaction, Innovation: Celebrating the Past, Constructing the Present and Creating the Future - Proceedings of the 75th ASIS&T Annual Meeting, ASIST 2012, Baltimore, MD, USA, 26–30 October 2012, pp. 1–8 (2012). https://doi.org/10.1002/meet.14504901139
Klock, S., van der Werf, J.M.E.M., Guelen, J.P., Jansen, S.: Workload-based clustering of coherent feature sets in microservice architectures. In: 2017 IEEE International Conference on Software Architecture, ICSA 2017, Gothenburg, Sweden, 3–7 April 2017, pp. 11–20 (2017). https://doi.org/10.1109/ICSA.2017.38
Kouroshfar, E., Shahir, H.Y., Ramsin, R.: Process patterns for component-based software development. In: Proceedings of the Component-Based Software Engineering, 12th International Symposium, CBSE 2009, East Stroudsburg, PA, USA, 24–26 June 2009, pp. 54–68 (2009). https://doi.org/10.1007/978-3-642-02414-6_4
Levcovitz, A., Terra, R., Valente, M.T.: Towards a technique for extracting microservices from monolithic enterprise systems. arXiv preprint arXiv:1605.03175 (2016)
Mendez-Bonilla, O., Franch, X., Quer, C.: Requirements patterns for COTS systems. In: Proceedings of the Seventh International Conference on Composition-Based Software Systems (ICCBSS 2008), Madrid, Spain, 25–29 February 2008, pp. 232–234 (2008). https://doi.org/10.1109/ICCBSS.2008.34
Murtagh, F., Legendre, P.: Ward’s hierarchical clustering method: clustering criterion and agglomerative algorithm. CoRR abs/1111.6285 (2011). http://arxiv.org/abs/1111.6285
Paulsen, C., J.M., B., Bartol, Winkler, N.: Criticality analysis process model. Technical report (2018)
Singh, V., Peddoju, S.K.: Container-based microservice architecture for cloud applications. In: 2017 International Conference on Computing, Communication and Automation (ICCCA), pp. 847–852. IEEE (2017)
Ueda, T., Nakaike, T., Ohara, M.: Workload characterization for microservices. In: 2016 IEEE International Symposium on Workload Characterization (IISWC), pp. 1–10. IEEE (2016)
Weske, M.: Business Process Management – Concepts, Languages, Architectures, 2nd edn. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-28616-2
Wilkin, G., H., X.: A practical comparison of two k-means clustering algorithms. BMC Bioinform. 9 (2008)
Author information
Authors and Affiliations
Corresponding authors
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this paper
Cite this paper
Daoud, M., Mezouari, A.E., Faci, N., Benslimane, D., Maamar, Z., Fazziki, A.E. (2020). Automatic Microservices Identification from a Set of Business Processes. In: Hamlich, M., Bellatreche, L., Mondal, A., Ordonez, C. (eds) Smart Applications and Data Analysis. SADASC 2020. Communications in Computer and Information Science, vol 1207. Springer, Cham. https://doi.org/10.1007/978-3-030-45183-7_23
Download citation
DOI: https://doi.org/10.1007/978-3-030-45183-7_23
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-45182-0
Online ISBN: 978-3-030-45183-7
eBook Packages: Computer ScienceComputer Science (R0)