Skip to main content

Towards an Extensible Approach for Generative Microservice Development and Deployment Using LEMMA

  • Conference paper
  • First Online:
Software Architecture (ECSA 2021)

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.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    https://archive.softwareheritage.org/swh:1:dir:ec0f3181c6f2e0ffa9295766052e067d18079c98.

  2. 2.

    https://www.spring.io.

  3. 3.

    https://www.docker.com.

  4. 4.

    https://www.kubernetes.io.

  5. 5.

    https://github.com/Netflix/eureka.

  6. 6.

    https://spring.io/projects/spring-boot.

  7. 7.

    https://micronaut.io.

  8. 8.

    https://spring.io/projects/spring-kafka.

  9. 9.

    https://github.com/SeelabFhdo/lemma/tree/main/code%20generators.

  10. 10.

    https://docs.docker.com/engine/reference/builder.

  11. 11.

    https://www.mariadb.org.

  12. 12.

    https://www.mongodb.com.

  13. 13.

    https://github.com/Netflix/zuul.

  14. 14.

    https://docs.docker.com/compose.

  15. 15.

    Funded by the German Federal Ministry of Transport and Digital Infrastructure under grant number 03EMF0203C.

  16. 16.

    https://archive.softwareheritage.org/swh:1:dir:a1ec70bc3a12387fde806dcb0b5364260541b583.

  17. 17.

    https://kafka.apache.org.

  18. 18.

    https://www.sculptorgenerator.org.

  19. 19.

    https://www.jhipster.tech/jdl.

References

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

    Google Scholar 

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

    Chapter  Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

  7. Erl, T.: Service-Oriented Architecture (SOA): Concepts, Technology and Design. Prentice Hall, Hoboken (2005)

    Google Scholar 

  8. Evans, E.: Domain-Driven Design. Addison-Wesley, Boston (2004)

    Google Scholar 

  9. Fielding, R.T.: Architectural styles and the design of network-based software architectures. Ph.D. thesis (2000)

    Google Scholar 

  10. Fielding, R.T., Reschke, J.F.: Hypertext Transfer Protocol (HTTP/1.1): Semantics and content. RFC 7231, RFC Editor (2014)

    Google Scholar 

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

    Google Scholar 

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

    Chapter  Google Scholar 

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

    Article  Google Scholar 

  14. ISO/IEC/IEEE: Systems and software engineering – Architecture description. Standard ISO/IEC/IEEE 42010:2011(E) (2011)

    Google Scholar 

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

    Chapter  Google Scholar 

  16. Nadareishvili, I., Mitra, R., McLarty, M., Amundsen, M.: Microservice Architecture: Aligning Principles, Practices, and Culture. O’Reilly, Sebastopol (2016)

    Google Scholar 

  17. Newman, S.: Building Microservices: Designing Fine-Grained Systems. O’Reilly, Sebastopol (2015)

    Google Scholar 

  18. OASIS: Topology and orchestration specification for cloud applications version 1.0. Standard, Organization for the Advancement of Structured Information Standards (2013)

    Google Scholar 

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

    Google Scholar 

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

    Chapter  Google Scholar 

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

  22. Richardson, C.: Microservices Patterns. Manning Publications, New York (2019)

    Google Scholar 

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

    Google Scholar 

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

    Article  Google Scholar 

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

    Article  Google Scholar 

  26. Taibi, D., Lenarduzzi, V.: On the definition of microservice bad smells. IEEE Softw. 35(3), 56–62 (2018)

    Article  Google Scholar 

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

    Article  Google Scholar 

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

    Article  Google Scholar 

  29. Tsui, F., Karam, O., Bernal, B.: Essentials of Software Engineering. Jones & Bartlett Learning (2016)

    Google Scholar 

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

    Book  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Jonas Sorgalla .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2022 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics