Inputs from a Model-Based Approach Towards the Specification of Microservices Logical Architectures: An Experience Report
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 SoaMLReferences
- 1.Newman, S.: Building Microservices - Designing Fine-Grained Systems. O’Reilly Media Inc., Newton (2015)Google Scholar
- 2.Thönes, J.: Microservices. IEEE Softw. 32, 116 (2015)CrossRefGoogle Scholar
- 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.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.Richardson, C.: Microservice Patterns, 1st edn. Manning, Shelter Island (2018)Google Scholar
- 6.Krause, L.: Microservices: Patterns and Applications - Designing Fine-grained Services by Applying Patterns (2014). Lucas KrauseGoogle Scholar
- 7.Namiot, D., Sneps-Sneppe, M.: On micro-services architecture. Int. J. Open Inf. Technol. 2, 24–27 (2014)Google Scholar
- 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.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.Di Francesco, P.: Architecting microservices. In: IEEE International Conference on Software Architecture Workshops, ICSAW 2017: Side Track Proceedings (2017)Google Scholar
- 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.Alshuqayran, N., Ali, N., Evans, R.: A systematic mapping study in microservice architecture. In: Service Computing (2016)Google Scholar
- 13.Kharbuja, R.: Designing a Business Platform using Microservices. Technische Universität München (2016)Google Scholar
- 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.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.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.Evans, E.: Domain-Driven Design: Tackling Complexity in the Heart of Software. Addison-Wesley, Boston (2004)Google Scholar
- 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.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.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.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.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.Chen, L.: Microservices: architecting for continuous delivery and DevOps. In: IEEE International Conference on Software Architecture (ICSA). IEEE, Seattle (2018)Google Scholar
- 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.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.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