Abstract
Microservice Architecture (MSA) is an approach to implement scalable and maintainable software systems. However, when compared to monolithic applications, MSA adoption also increases architecture complexity significantly. To cope with this complexity, we investigate the application of Model-driven Engineering to MSA engineering and developed an ecosystem of architecture modeling languages (AMLs), which supports the holistic capturing of stakeholder concerns towards heterogeneous parts of a microservice architecture.
This paper enriches our AML ecosystem with an extensible approach for generating adaptable microservice code and deployment specifications from MSA models. To this end, we first derive requirements for such an approach from MSA characteristics and present two compliant realizations. Next, we integrate the approach with our AML ecosystem by defining a process for MSA model construction and processing, and the manual adaptation of generated artifacts. We validate the effectiveness of our extended AML ecosystem with a case study from the Electromobility domain.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
Funded by the German Federal Ministry of Transport and Digital Infrastructure under grant number 03EMF0203C.
- 16.
- 17.
- 18.
- 19.
References
Artač, M., Borovšak, T., Nitto, E.D., Guerriero, M., Perez-Palacin, D., Tamburri, D.A.: Infrastructure-as-code for data-intensive architectures: a model-driven development approach. In: 2018 IEEE International Conference on Software Architecture (ICSA), pp. 156–165. IEEE (2018)
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_15
Bogner, J., Fritzsch, J., Wagner, S., Zimmermann, A.: Microservices in industry: insights into technologies, characteristics, and software quality. In: 2019 IEEE International Conference on Software Architecture Companion (ICSA-C), pp. 187–195. IEEE (2019)
Combemale, B., France, R.B., Jézéquel, J.M., Rumpe, B., Steel, J., Vojtisek, D.: Engineering Modeling Languages: Turning Domain Knowledge into Tools. CRC Press, Boca Raton (2017)
Di Francesco, P., Malavolta, I., Lago, P.: Research on architecting microservices: trends, focus, and potential for industrial adoption. In: 2017 IEEE International Conference on Software Architecture (ICSA), pp. 21–30. IEEE (2017)
Le, D.M., Dang, D.H., Nguyen, V.-H.: Domain-driven design using meta-attributes: a DSL-based approach. In: 2016 Eighth International Conference on Knowledge and Systems Engineering (KSE), pp. 67–72. IEEE (2016)
Erl, T.: Service-Oriented Architecture (SOA): Concepts, Technology and Design. Prentice Hall, Hoboken (2005)
Evans, E.: Domain-Driven Design. Addison-Wesley, Boston (2004)
Fielding, R.T.: Architectural styles and the design of network-based software architectures. Ph.D. thesis (2000)
Fielding, R.T., Reschke, J.F.: Hypertext Transfer Protocol (HTTP/1.1): Semantics and content. RFC 7231, RFC Editor (2014)
Gosling, J., Joy, B., Steele, G., Bracha, G., Buckley, A., Smith, D.: The Java language specification: Java se 13 edition. Specification JSR-388 Java SE 13, Oracle America, Inc. (2019)
Greifenberg, T., et al.: Integration of handwritten and generated object-oriented code. In: Desfray, P., Filipe, J., Hammoudi, S., Pires, L.F. (eds.) MODELSWARD 2015. CCIS, vol. 580, pp. 112–132. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-27869-8_7
Hutchinson, J., Whittle, J., Rouncefield, M.: Model-driven engineering practices in industry: social, organizational and managerial factors that lead to success or failure. Sci. Comput. Program. 89, 144–161 (2014)
ISO/IEC/IEEE: Systems and software engineering – Architecture description. Standard ISO/IEC/IEEE 42010:2011(E) (2011)
Kapferer, S., Zimmermann, O.: Domain-driven service design. In: Dustdar, S. (ed.) SummerSOC 2020. CCIS, vol. 1310, pp. 189–208. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-64846-6_11
Nadareishvili, I., Mitra, R., McLarty, M., Amundsen, M.: Microservice Architecture: Aligning Principles, Practices, and Culture. O’Reilly, Sebastopol (2016)
Newman, S.: Building Microservices: Designing Fine-Grained Systems. O’Reilly, Sebastopol (2015)
OASIS: Topology and orchestration specification for cloud applications version 1.0. Standard, Organization for the Advancement of Structured Information Standards (2013)
Rademacher, F., Sachweh, S., Zündorf, A.: Aspect-oriented modeling of technology heterogeneity in microservice architecture. In: 2019 IEEE International Conference on Software Architecture (ICSA), pp. 21–30. IEEE (2019)
Rademacher, F., Sorgalla, J., Wizenty, P., Sachweh, S., Zündorf, A.: Graphical and textual model-driven microservice development. In: Bucchiarone, A., et al. (eds.) Microservices, pp. 147–179. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-31646-4_7
Rademacher, F., Sorgalla, J., Wizenty, P., Trebbau, S.: Towards holistic modeling of microservice architectures using LEMMA, pp. 11–20 (2021). http://ceur-ws.org/Vol-2978/mde4sa-paper2.pdf
Richardson, C.: Microservices Patterns. Manning Publications, New York (2019)
Ruscio, D.D., Malavolta, I., Muccini, H., Pelliccione, P., Pierantonio, A.: Developing next generation ADLs through MDE techniques. In: 2010 ACM/IEEE 32nd International Conference on Software Engineering, vol. 1, pp. 85–94. IEEE (2010)
Soldani, J., Tamburri, D.A., Heuvel, W.J.V.D.: The pains and gains of microservices: a systematic grey literature review. J. Syst. Softw. 146, 215–232 (2018)
Sorgalla, J., Wizenty, P., Rademacher, F., Sachweh, S., Zündorf, A.: Applying model-driven engineering to stimulate the adoption of DevOps processes in small and medium-sized development organizations. SN Comput. Sci. 2(6), 459 (2021)
Taibi, D., Lenarduzzi, V.: On the definition of microservice bad smells. IEEE Softw. 35(3), 56–62 (2018)
Taibi, D., Lenarduzzi, V., Pahl, C.: Processes, motivations, and issues for migrating to microservices architectures: an empirical investigation. IEEE Cloud Comput. 4(5), 22–32 (2017)
Terzić, B., Dimitrieski, V., Kordić, S., Milosavljević, G., Luković, I.: Development and evaluation of MicroBuilder: a model-driven tool for the specification of REST microservice software architectures. Enterp. Inf. Syst. 12(8–9), 1034–1057 (2018)
Tsui, F., Karam, O., Bernal, B.: Essentials of Software Engineering. Jones & Bartlett Learning (2016)
Wohlin, C., Runeson, P., Höst, M., Ohlsson, M.C., Regnell, B., Wesslén, A.: Experimentation in Software Engineering. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-29044-2
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2022 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Rademacher, F., Sorgalla, J., Wizenty, P., Trebbau, S. (2022). Towards an Extensible Approach for Generative Microservice Development and Deployment Using LEMMA. In: Scandurra, P., Galster, M., Mirandola, R., Weyns, D. (eds) Software Architecture. ECSA 2021. Lecture Notes in Computer Science, vol 13365. Springer, Cham. https://doi.org/10.1007/978-3-031-15116-3_12
Download citation
DOI: https://doi.org/10.1007/978-3-031-15116-3_12
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-15115-6
Online ISBN: 978-3-031-15116-3
eBook Packages: Computer ScienceComputer Science (R0)