Advertisement

Inputs from a Model-Based Approach Towards the Specification of Microservices Logical Architectures: An Experience Report

  • Nuno SantosEmail author
  • Helena Rodrigues
  • Nuno Ferreira
  • Ricardo J. Machado
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11915)

Abstract

Adopting microservices architectures (MSA) in software projects include specific concerns on design, development and deployment. Projects often struggle for taking decisions for properly bound the microservices, partition databases, address communication and messaging, among others. Proposing a model-driven approach allows abstracting microservices behavior from the business domain. However, there is still lack of modeling methods supporting architecture design alignment with business requirements that cover microservices principles. In this paper, microservices logical architectures are derived from functional requirements, which are modeled in SoaML diagrams. This paper discusses design, data management, inter-service communication and automatization based on the derived architecture diagram.

Keywords

Microservices Modeling Design Data management Inter-service communication Automatization UML SoaML 

References

  1. 1.
    Newman, S.: Building Microservices - Designing Fine-Grained Systems. O’Reilly Media Inc., Newton (2015)Google Scholar
  2. 2.
    Thönes, J.: Microservices. IEEE Softw. 32, 116 (2015)CrossRefGoogle Scholar
  3. 3.
    Kruchten, P.: The 4+1 view model of architecture. IEEE Softw. 12, 42–50 (1995).  https://doi.org/10.1109/52.469759CrossRefGoogle Scholar
  4. 4.
    Machado, R.J., Fernandes, J.M., Monteiro, P., Rodrigues, H.: Transformation of UML models for service-oriented software architectures. In: Proceedings of 12th IEEE International Conference Workshops on Engineering of Computer Systems, pp. 173–182 (2005)Google Scholar
  5. 5.
    Richardson, C.: Microservice Patterns, 1st edn. Manning, Shelter Island (2018)Google Scholar
  6. 6.
    Krause, L.: Microservices: Patterns and Applications - Designing Fine-grained Services by Applying Patterns (2014). Lucas KrauseGoogle Scholar
  7. 7.
    Namiot, D., Sneps-Sneppe, M.: On micro-services architecture. Int. J. Open Inf. Technol. 2, 24–27 (2014)Google Scholar
  8. 8.
    Taibi, D., Lenarduzzi, V., Pahl, C.: Architectural patterns for microservices: a systematic mapping study. In: International Conference on Cloud Computing and Services Science, CLOSER. INSTICC (2018)Google Scholar
  9. 9.
    Di Francesco, P., Malavolta, I., Lago, P.: Research on architecting microservices: trends, focus, and potential for industrial adoption. In: IEEE International Conference on Software Architecture (ICSA), pp. 21–30. IEEE (2017)Google Scholar
  10. 10.
    Di Francesco, P.: Architecting microservices. In: IEEE International Conference on Software Architecture Workshops, ICSAW 2017: Side Track Proceedings (2017)Google Scholar
  11. 11.
    Rademacher, F., Sachweh, S., Zündorf, A.: Analysis of service-oriented modeling approaches for viewpoint-specific model-driven development of microservice architecture. arXiv Preprint arXiv:180409946 (2018)
  12. 12.
    Alshuqayran, N., Ali, N., Evans, R.: A systematic mapping study in microservice architecture. In: Service Computing (2016)Google Scholar
  13. 13.
    Kharbuja, R.: Designing a Business Platform using Microservices. Technische Universität München (2016)Google Scholar
  14. 14.
    Rademacher, F., Sorgalla, J., Sachweh, S.: Challenges of domain-driven microservice design: a model-driven perspective. IEEE Softw. 35, 36–43 (2018).  https://doi.org/10.1109/MS.2018.2141028CrossRefGoogle Scholar
  15. 15.
    Santos, N., Rodrigues, H., Pereira, J., et al.: UH4SP: a software platform for integrated management of connected smart plants. In: 9th IEEE International Conference on Intelligent Systems (IS). IEEE, Funchal (2018)Google Scholar
  16. 16.
    Balalaie, A., Heydarnoori, A., Jamshidi, P.: Migrating to cloud-native architectures using microservices: an experience report. In: Celesti, A., Leitner, P. (eds.) ESOCC Workshops 2015. CCIS, vol. 567, pp. 201–215. Springer, Cham (2016).  https://doi.org/10.1007/978-3-319-33313-7_15CrossRefGoogle Scholar
  17. 17.
    Evans, E.: Domain-Driven Design: Tackling Complexity in the Heart of Software. Addison-Wesley, Boston (2004)Google Scholar
  18. 18.
    Lenarduzzi, V., Taibi, D.: Microservices, continuous architecture, and technical debt interest: an empirical study. In: 44th Euromicro Conference on Software Engineering and Advanced Applications (SEAA). IEEE, Prague (2018)Google Scholar
  19. 19.
    Tyszberowicz, S., Heinrich, R., Liu, B., Liu, Z.: Identifying microservices using functional decomposition. In: Feng, X., Müller-Olm, M., Yang, Z. (eds.) SETTA 2018. LNCS, vol. 10998, pp. 50–65. Springer, Cham (2018).  https://doi.org/10.1007/978-3-319-99933-3_4CrossRefGoogle Scholar
  20. 20.
    Hassan, S., Ali, N., Bahsoon, R.: Microservice ambients: an architectural meta-modelling approach for microservice granularity. In: IEEE International Conference on Software Architecture (ICSA), pp. 1–10. IEEE (2017)Google Scholar
  21. 21.
    Furda, A., Fidge, C., Zimmermann, O., et al.: Migrating enterprise legacy source code to microservices: on multitenancy, statefulness, and data consistency. IEEE Softw. 35, 63–72 (2018).  https://doi.org/10.1109/MS.2017.440134612CrossRefGoogle Scholar
  22. 22.
    Messina, A., Rizzo, R., Storniolo, P., Tripiciano, M., Urso, A.: The database-is-the-service pattern for microservice architectures. In: Renda, M., Bursa, M., Holzinger, A., Khuri, S. (eds.) ITBAM 2016. LNCS, vol. 9832, pp. 223–233. Springer, Cham (2016).  https://doi.org/10.1007/978-3-319-43949-5_18CrossRefGoogle Scholar
  23. 23.
    Chen, L.: Microservices: architecting for continuous delivery and DevOps. In: IEEE International Conference on Software Architecture (ICSA). IEEE, Seattle (2018)Google Scholar
  24. 24.
    Santos, N., Ferreira, N., Machado, R.J.: Transition from information systems to service-oriented logical architectures: formalizing steps and rules with QVT. In: Ramachandran, M., Mahmood, Z. (eds.) Requirements Engineering for Service and Cloud Computing, pp. 247–270. Springer, Cham (2017).  https://doi.org/10.1007/978-3-319-51310-2_11CrossRefGoogle Scholar
  25. 25.
    Santos, N., Pereira, J., Morais, F., Barros, J., Ferreira, N., Machado, R.J.: An agile modeling oriented process for logical architecture design. In: Gulden, J., Reinhartz-Berger, I., Schmidt, R., Guerreiro, S., Guédria, W., Bera, P. (eds.) BPMDS/EMMSAD - 2018. LNBIP, vol. 318, pp. 260–275. Springer, Cham (2018).  https://doi.org/10.1007/978-3-319-91704-7_17CrossRefGoogle Scholar
  26. 26.
    Santos, N., et al.: Specifying software services for fog computing architectures using recursive model transformations. In: Mahmood, Z. (ed.) Fog Computing, pp. 153–181. Springer, Cham (2018).  https://doi.org/10.1007/978-3-319-94890-4_8CrossRefGoogle Scholar

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  1. 1.CCG/ZGDV InstituteGuimarãesPortugal
  2. 2.ALGORITMI Center, School of EngineeringMinho UniversityGuimarãesPortugal
  3. 3.i2S Insurance Knowledge S.A.PortoPortugal

Personalised recommendations