Skip to main content

Automatic Microservices Identification from a Set of Business Processes

  • Conference paper
  • First Online:
Smart Applications and Data Analysis (SADASC 2020)

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Similar content being viewed by others

Notes

  1. 1.

    www.openapis.org.

  2. 2.

    www.commonspaces.eu/en/oer/disco-extracting-distributionally-related-words-us.

  3. 3.

    In our work, individuals are activities and features are control and data dependencies.

  4. 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. 5.

    Let n be 3, \(\sum _{r=1,n} C(n,r)\) has the following value: (3+ 3+ 1)=7.

  6. 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

  1. Amiri, M.J.: Object-aware identification of microservices. In: 2018 IEEE International Conference on Services Computing (SCC), pp. 253–256. IEEE (2018)

    Google Scholar 

  2. 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

    Chapter  Google Scholar 

  3. 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)

    Google Scholar 

  4. 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

    Google Scholar 

  5. 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

  6. 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

  7. Davenport, T., Short, J.: The new industrial engineering: information technology and business process redesign. Sloan Manag. Rev. (1990)

    Google Scholar 

  8. 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

  9. 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

  10. Estañol, M.: Artefact-centric business process models in UML: specification and reasoning. Ph.D. thesis, Universitat Politècnica de Catalunya (2016)

    Google Scholar 

  11. 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

    Chapter  Google Scholar 

  12. Hammouda, K., Kamel, M.: Collaborative document clustering. In: SIAM International Conference on Data Mining (2006)

    Google Scholar 

  13. 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

  14. 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

  15. 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

  16. 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

  17. 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

  18. Levcovitz, A., Terra, R., Valente, M.T.: Towards a technique for extracting microservices from monolithic enterprise systems. arXiv preprint arXiv:1605.03175 (2016)

  19. 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

  20. 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

  21. Paulsen, C., J.M., B., Bartol, Winkler, N.: Criticality analysis process model. Technical report (2018)

    Google Scholar 

  22. 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)

    Google Scholar 

  23. Ueda, T., Nakaike, T., Ohara, M.: Workload characterization for microservices. In: 2016 IEEE International Symposium on Workload Characterization (IISWC), pp. 1–10. IEEE (2016)

    Google Scholar 

  24. Weske, M.: Business Process Management – Concepts, Languages, Architectures, 2nd edn. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-28616-2

    Book  Google Scholar 

  25. Wilkin, G., H., X.: A practical comparison of two k-means clustering algorithms. BMC Bioinform. 9 (2008)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding authors

Correspondence to Mohamed Daoud or Djamal Benslimane .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics