Die digitale Transformation stellt moderne Softwaresysteme vor große Herausforderungen. Smart Cities und Industrie 4.0 erfordern u. a. eine hohe Skalierbarkeit. Gleichzeitig müssen IT-Unternehmen zunehmend flexibel agieren und Produkte kontinuierlich anpassen. Microservice Architecture (MSA) ist ein neuer Ansatz zur Realisierung skalierbarer und wartbarer Softwaresysteme. MSA strukturiert Softwarearchitekturen in sog. Microservices, die jeweils eine dedizierte Funktion umsetzen, möglichst unabhängig voneinander lauffähig und für ihre Interaktionen mit anderen Komponenten eigenverantwortlich sind. Trotz vieler Vorteile erhöht der Einsatz von MSA die Komplexität von Architekturentwurf, -implementierung und -betrieb signifikant.
Die Promotion untersuchte das Potenzial des Model-driven Engineering (MDE) zum Umgang mit dieser Komplexität durch (I) Modellkonstruktion zur Beschreibung von Microservice-Architekturen aus Stakeholder-spezifischen Viewpoints; (II) Modellkomposition zur Verbesserung des Architekturverständnisses; und (III) Modellverarbeitung zur Architekturentwicklung und -analyse. Hauptergebnis der Promotion bildet das Language Ecosystem for Modeling Microservice Architecture (LEMMA). LEMMA betrachtet vier MSA-Viewpoints mit Stakeholder-spezifischen Modellierungssprachen (Abb. 1). LEMMAs Domain View-point adressiert Domänenexpert*innen, Microservice-Entwickler*innen und Software-architekt*innen; seine Domain Data Modeling Language (DDML) ermöglicht die Erfassung relevanter Domänenkonzepte. Der Technology Viewpoint mit der Technology Modeling Language (TML) fokussiert die Dokumentation von Technologieentscheidungen. Die Sprachen des Service Viewpoints unterstützen die Spezifikation von Microservice-Schnittstellen sowohl konzeptionell (Service Modeling Language; SML) wie technologisch (Service Technology Mapping Modeling Language). Der Operation Viewpoint und seine Operation Modeling Language adressieren den Betrieb von Microservice-Architekturen. Abbildung 2 zeigt drei LEMMA-Modelle des PuLS-Projekts (siehe S. 52). Das Domänenmodell in LEMMAs DDML definiert Domänenkonzepte zur Repräsentation von Parkplätzen. Das Technologiemodell in LEMMAs TML erfasst die Existenz von HTTP und definiert Aspekte für HTTP-basierte Microservice-Operationen. Aspekte ermöglichen die semantische Verfeinerung von LEMMA-Modellen über eingebaute Modellierungskonzepte hinaus. Das Servicemodell in LEMMAs SML spezifiziert einen Microservice mit einer Schnittstelle und einer Operation zur Erstellung von Parkplätzen. LEMMA integriert einen Import-Mechanismus zur Modellkomposition, sodass das Servicemodell ein importiertes Domänenkonzept zur Typisierung des Operationsparameters referenzieren kann. Das Servicemodell importiert zudem das Technologiemodell, um Service-Endpunkte und den HTTP-basierten Aufruf der Operation zu konfigurieren. LEMMA-Modelle können verarbeitet werden, etwa zur Generierung von Microservice-Code oder zur Qualitiätsanalyse. Zu Steigerung der Verarbeitungseffizienz wurden optimierte Zwischenrepräsentationen und entsprechende Transformationen für LEMMA-Modelle realisiert. Abbildung 3 illustriert die Verarbeitung von Servicemodellen. Die Promotion zeigte, dass Codegenerierung aus LEMMA-Modellen die Entwicklungseffizienz von Java-Microservices positiv beeinflusst. Zudem wurde festgestellt, dass LEMMA-Modelle die Berechnung von 20 Qualitätsmetriken zur Service-Wartbarkeit bereits zur Designzeit erlauben. LEMMA bietet demnach eine hervorragende Basis zur effizienten Realisierung komplexer Microservice-Architekturen mittels MDE.
2015 beendete Florian Rademacher sein Studium der Informatik an der Fachhochschule Dortmund mit einem Master of Science. Von 2016 bis 2022 promovierte er zum Dr. rer. nat. an der Universität Kassel. Von Januar 2014 bis Februar 2023 war Dr. Rademacher wissenschaftlicher Mitarbeiter am IDiAL. Seit März 2023 ist er Postdoc am Lehrstuhl für Software Engineering der RWTH Aachen. Dr. Rademacher ist Autor von 35 begutachteten wissenschaftlichen Publikationen. Er war oder ist zudem Vorsitzender von vier und Mitglied von 14 Programmkomitees internationaler Konferenzen und Worskhops. Seit 2018 fungiert Dr. Rademacher auch als Reviewer für renommierte Journals wie ACM Computing Surveys, IEEE Transactions on Software Engineering und Journal of Systems and Software.
Gutachter
- Prof. Dr. Albert Zündorf, (Universität Kassel)
- Prof. Dr. Sabine Sachweh, (IDiAL, Fachhochschule Dortmund)
- Prof. Dr. Bernhard Rumpe, (Rheinisch-Westfälische Technische Hochschule (RWTH) Aachen)