Skip to main content

Graphical and Textual Model-Driven Microservice Development

  • Chapter
  • First Online:
Microservices

Abstract

Model-driven development (MDD) is an approach to software engineering that aims to enable analysis, validation, and code generation of software on the basis of models expressed with dedicated modeling languages. MDD is particularly useful in the engineering of complex, possibly distributed software systems. It is therefore sensible to investigate the adoption of MDD to support and facilitate the engineering of distributed software systems based on microservice architecture (MSA).

This chapter presents recent insights from studying and developing two approaches for employing MDD in MSA engineering. The first approach uses a graphical notation to model the topology and interactions of MSA-based software systems. The second approach emerged from the first one and exploits viewpoint-based modeling to better cope with MSA’s inherent complexity. It also considers the distributed nature of MSA teams, as well as the technology heterogeneity introduced by MSA adoption. Both approaches are illustrated and discussed in the context of a case study. Moreover, we present a catalog of research questions for subsequent investigation of employing MDD to support and facilitate MSA engineering.

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 129.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 169.00
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 169.99
Price excludes VAT (USA)
  • Durable hardcover 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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. M. Artač, T. Borovšak, E. Di Nitto, M. Guerriero, D. Perez-Palacin, D.A. Tamburri, Infrastructure-as-code for data-intensive architectures: A model-driven development approach, in 2018 IEEE International Conference on Software Architecture (ICSA) (IEEE, Piscataway, 2018), pp. 156–165

    Google Scholar 

  2. A. Balalaie, A. Heydarnoori, P. Jamshidi, Microservices architecture enables DevOps: migration to a cloud-native architecture. IEEE Softw. 33(3), 42–52 (2016)

    Article  Google Scholar 

  3. L. Bass, P. Clements, R. Kazman, Software Architecture in Practice, 3 edn. (Addison-Wesley, Upper Saddle River, 2013)

    Google Scholar 

  4. J. Bogner, A. Zimmermann, Towards integrating microservices with adaptable enterprise architecture, in 2016 IEEE 20th International Enterprise Distributed Object Computing Workshop (EDOCW) (IEEE, Piscataway, 2016), pp. 1–6

    Google Scholar 

  5. J. Bogner, J. Fritzsch, S. Wagner, A. Zimmermann, Microservices in industry: insights into technologies, characteristics, and software quality, in 2019 IEEE International Conference on Software Architecture Companion (ICSA-C) (IEEE, Piscataway, 2019), pp. 187–195

    Google Scholar 

  6. B. Combemale, R.B. France, J.M. Jézéquel, B. Rumpe, J. Steel, D. Vojtisek, Engineering Modeling Languages (CRC Press, Boca Raton, 2017)

    Google Scholar 

  7. N. Dragoni, S. Giallorenzo, A.L. Lafuente, M. Mazzara, F. Montesi, R. Mustafin, L. Safina, Microservices: Yesterday, Today, and Tomorrow (Springer, Berlin, 2017), pp. 195–216

    Google Scholar 

  8. T.F. Düllmann, A. van Hoorn, Model-driven generation of microservice architectures for benchmarking performance and resilience engineering approaches, in Proceedings of the 8th ACM/SPEC on International Conference on Performance Engineering Companion, ICPE ’17 Companion (ACM, New York, 2017), pp. 171–172

    Book  Google Scholar 

  9. T. Erl, Service-Oriented Architecture (SOA) Concepts, Technology and Design (Prentice Hall, Upper Saddle River, 2005)

    Google Scholar 

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

    Google Scholar 

  11. R. France, B. Rumpe, Model-driven development of complex software: a research roadmap, in Future of Software Engineering (FOSE ’07) (IEEE, Piscataway, 2007), pp. 37–54

    Book  Google Scholar 

  12. M. Franzago, D.D. Ruscio, I. Malavolta, H. Muccini, Collaborative model-driven software engineering: a classification framework and a research map. IEEE Trans. Softw. Eng. 44(12), 1146–1175 (2018)

    Article  Google Scholar 

  13. T. Goldschmidt, S. Becker, A. Uhl, Classification of concrete textual syntax mapping approaches, in Model Driven Architecture—Foundations and Applications, eds. by I. Schieferdecker, A. Hartman (Springer, Berlin, 2008), pp. 169–184

    Google Scholar 

  14. J. Gosling, B. Joy, G.L. Steele, G. Bracha, A. Buckley, The Java Language Specification, Java SE, 8 edn. (Addison-Wesley, Boston, 2014)

    Google Scholar 

  15. G. Granchelli, M. Cardarelli, P.D. Francesco, I. Malavolta, L. Iovino, A.D. Salle, Towards recovering the software architecture of microservice-based systems, in 2017 IEEE International Conference on Software Architecture Workshops (ICSAW) (IEEE, Piscataway, 2017), pp. 46–53

    Google Scholar 

  16. T. Killalea, The hidden dividends of microservices. Queue 14(3), 10:25–10:34 (2016)

    Article  Google Scholar 

  17. N. Kratzke, P.C. Quint, Investigation of impacts on network performance in the advance of a microservice design, in Cloud Computing and Services Science, ed. by M. Helfert, D. Ferguson, V. Méndez Muñoz, J. Cardoso (Springer, Berlin, 2017), pp. 187–208

    Chapter  Google Scholar 

  18. L. Lúcio, M. Amrani, J. Dingel, L. Lambers, R. Salay, G.M.K. Selim, E. Syriani, M. Wimmer, Model transformation intents and their properties. Softw. Syst. Model. 15(3), 647–684 (2016)

    Article  Google Scholar 

  19. J. Ludewig, Models in software engineering—an introduction. Softw. Syst. Model. 2(1), 5–14 (2003)

    Article  Google Scholar 

  20. S. Meliá, C. Cachero, J.M. Hermida, E. Aparicio, Comparison of a textual versus a graphical notation for the maintainability of MDE domain models: an empirical pilot study. Softw. Qual. J. 24(3), 709–735 (2016)

    Article  Google Scholar 

  21. F. Montesi, C. Guidi, G. Zavattaro, Service-Oriented Programming with Jolie (Springer, Berlin, 2014), pp. 81–107

    Google Scholar 

  22. I. Nadareishvili, R. Mitra, M. McLarty, M. Amundsen, Microservice Architecture (O’Reilly Media, Sebastopol, 2016)

    Google Scholar 

  23. S. Newman, Building Microservices (O’Reilly Media, Sebastopol, 2015)

    Google Scholar 

  24. Object Management Group, Model Driven Architecture (MDA) Guide (OMG, Needham, 2014), Version 2.0

    Google Scholar 

  25. Object Management Group, Object Constraint Language (OCL) (OMG, Needham, 2014), Version 2.4

    Google Scholar 

  26. D. Palma, T. Spatzier, Topology and Orchestration Specification for Cloud Applications Version 1.0 (OASIS, Manchester, 2013)

    Google Scholar 

  27. M.P. Papazoglou, Web Services and SOA: Principles and Technology, vol. 2 (Pearson Education, Harlow, 2012)

    Google Scholar 

  28. M. Petre, Why looking isn’t always seeing: Readership skills and graphical programming. Commun. Assoc. Comput. Mach. 38(6), 33–44 (1995)

    Google Scholar 

  29. F. Rademacher, J. Sorgalla, S. Sachweh, Challenges of domain-driven microservice design: a model-driven perspective. IEEE Softw. 35(3), 36–43 (2018)

    Article  Google Scholar 

  30. F. Rademacher, J. Sorgalla, P. Wizenty, S. Sachweh, A. Zündorf, Microservice architecture and model-driven development: Yet singles, soon married (?), in Proceedings of the 19th International Conference on Agile Software Development: Companion, XP ’18 (ACM, New York, 2018), pp. 23:1–23:5

    Google Scholar 

  31. F. Rademacher, S. Sachweh, A. Zündorf, Aspect-oriented modeling of technology heterogeneity in microservice architecture, in 2019 IEEE International Conference on Software Architecture (ICSA), pp. 21–30 (IEEE, Piscataway, 2019)

    Google Scholar 

  32. F. Rademacher, J. Sorgalla, S. Sachweh, A. Zündorf, A model-driven workflow for distributed microservice development, in Proceedings of the 34th ACM/SIGAPP Symposium on Applied Computing, SAC ’19 (ACM, New York, 2019), pp. 1260–1262

    Google Scholar 

  33. F. Rademacher, J. Sorgalla, S. Sachweh, A. Zündorf, Viewpoint-specific model-driven microservice development with interlinked modeling languages, in 2019 IEEE International Conference on Service-Oriented System Engineering (SOSE) (IEEE, Piscataway, 2019), pp. 57–66

    Google Scholar 

  34. M. Richards, Microservices vs. Service-Oriented Architecture (O’Reilly Media, Sebastopol, 2015)

    Google Scholar 

  35. G. Schermann, J. Cito, P. Leitner, All the services large and micro: revisiting industrial practice in services computing, in Service-Oriented Computing—ICSOC 2015 Workshops, eds. by A. Norta, W. Gaaloul, G.R. Gangadharan, H.K. Dam (Springer, Berlin, 2016), pp. 36–47

    Chapter  Google Scholar 

  36. J. Sorgalla, P. Wizenty, F. Rademacher, S. Sachweh, A. Zündorf, Ajil: enabling model-driven microservice development, in Proceedings of the 12th European Conference on Software Architecture: Companion Proceedings, ECSA ’18 (ACM, New York, 2018), pp. 1:1–1:4

    Google Scholar 

  37. D. Steinberg, F. Budinsky, M. Paternostro, E. Merks, EMF–Eclipse Modeling Framework, 2 edn. (Pearson Education, Harlow, 2011)

    Google Scholar 

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

    Article  Google Scholar 

  39. B. Terzić, V. Dimitrieski, S. Kordić, G. Milosavljević, I. Luković, Development and Evaluation of Microbuilder: A Model-Driven Tool for the Specification of Rest Microservice Software Architectures (Taylor and Francis, Milton Park, 2018), pp. 1034–1057

    Google Scholar 

  40. J. Whittle, J. Hutchinson, M. Rouncefield, The state of practice in model-driven engineering. IEEE Softw. 31(3), 79–85 (2014)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Florian Rademacher .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Rademacher, F., Sorgalla, J., Wizenty, P., Sachweh, S., Zündorf, A. (2020). Graphical and Textual Model-Driven Microservice Development. In: Bucchiarone, A., et al. Microservices. Springer, Cham. https://doi.org/10.1007/978-3-030-31646-4_7

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-31646-4_7

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-31645-7

  • Online ISBN: 978-3-030-31646-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics