LEMMA
Ein Sprachökosystem zur Modellierung der Microservice-Architektur
Erleichterung der Designentwicklung? und Einsatz? komplexer Microservice-Architekturen
mit Model-Driven Engineering
Gebaut mit ❤︎ von Florian Rademacher und Mitwirkenden
Inhaltsverzeichnis
- Merkmale
- Installation
- Beispiele
- Dokumentation
- Änderungsprotokoll
- Wissenschaft
- Mitwirkende
- Lizenz
Merkmale
- Modellgetrieben: Abstrahieren Sie die Komplexität von Microservice-Architekturen mit der Leistungsfähigkeit von Model-driven Engineering
- kollaborativ: Bereitstellung bedenkenorientierter, integrierter Modellierungssprachen für Interessengruppen von Microservice-Architekturen, von Domänenexperten bis hin zu Microservice-Entwicklern und -Betreibern
- Praxisorientiert: ausgerichtet auf die Anforderungen realer Microservice-Architekturen, einschließlich verteilter Entwicklung, DevOps-basierter Teams und Technologieheterogenität
- breite Anwendbarkeit: LEMMA wurde beispielsweise für (i) die Übersetzung domänengesteuerter Microservice-Designs in Implementierungen verwendet; (ii) Architekturwiederherstellung und Qualitätsattributanalyse; und (iii) Microservice-Codegenerierung
- IDE-Unterstützung: Dank des Eclipse-Ökosystems verfügt LEMMA über spezielle Editoren, einschließlich Syntaxhervorhebung, Code-Vervollständigung und Validierung während der Eingabe
- Auf Erweiterbarkeit ausgelegt: Sind Sie daran interessiert, LEMMA mit Ihrem eigenen supercoolen Framework für die Entwicklung oder Bereitstellung von Microservices zu erweitern? Schreiben Sie uns eine E-Mail
Installation
LEMMA funktioniert mit jeder Eclipse-Version größer oder gleich 2021-03 und kann über eine dedizierte Eclipse-Updatesite oder eine Reihe von Eclipse-Dropins installiert werden.
Aktualisierungsseite
Sie können LEMMA von einer laufenden Eclipse-Instanz über die folgende Eclipse-Updatesite installieren: https://microservices.fh-dortmund.de/lemma/.
Dropins
Alternativ zur Eclipse-Updateseite können Sie auch die LEMMA Eclipse-Plugins für die neueste Version als Satz von Eclipse-Dropins herunterladen. Sie finden diese Dropins als Asset der neuesten Version von LEMMA auf GitHub. Allerdings müssen Sie in diesem Fall auch die Eclipse-Plugins für die ATL Transformation Language und EMFTVM Version 4.5 oder höher manuell installieren. Die entsprechende Eclipse-Updateseite ist hier verfügbar: https://download.eclipse.org/mmt/atl/updates/releases/.
Beispiele
Wir stellen mehrere Beispiele für die Verwendung von LEMMA zur Beschreibung kohärenter (Teile von) Microservice-Architekturen bereit, einschließlich ihrer Domänendaten, Microservice-APIs und ihres Betriebs. Diese Beispiele finden Sie auf GitHub:
- Beispiel für die Verwaltung einer Ladestation
- Beispiel für einen Parkplatz
- Beispiel für das Laden von E-Fahrzeugen
- Beispiel für Essen zum Mitnehmen
- Beispiel einer Versicherungsgesellschaft
Dokumentation
Die LEMMA-Dokumentation finden Sie unter https://seelabfhdo.github.io/lemma-docs. Die Dokumentation befindet sich derzeit in Arbeit, wird aber regelmäßig aktualisiert. Es enthält beispielsweise bereits eine ausführliche Installationsanleitung und eine kurze Tour!
Änderungsprotokoll
Informationen zur aktuellen Version von LEMMA finden Sie im Changelog.
Wissenschaft
LEMMA hat seine Wurzeln in der Software-Engineering-Forschung und insbesondere in den Forschungsgemeinschaften Software-Architektur und modellgetriebenes Engineering. Daher gibt es mehrere Artikel, die sich mit dem Design und der Anwendung von LEMMA befassen:
2022
- Rademacher, Florian „Ein Sprachökosystem zur Modellierung der Microservice-Architektur.“ Doktorarbeit. Fachbereich Elektrotechnik und Informatik, Universität Kassel.
- Rademacher, Florian, et al. „Auf dem Weg zu einem erweiterbaren Ansatz für die Entwicklung und Bereitstellung generativer Microservices mithilfe von LEMMA.“ Softwarearchitektur (ECSA 2021). Springer, 2022.
- Giallorenzo, Saverio et al. „Modellgesteuerte Generierung von Microservice-Schnittstellen: Von LEMMA-Domänenmodellen zu Jolie-APIs.“ Koordinationsmodelle und Sprachen (COORDINATION 2022). Springer, 2021. 276-284.
2021
- Giallorenzo, Saverio et al. „Jolie und LEMMA: Modellgetriebene Ingenieurs- und Programmiersprachen treffen sich auf Microservices.“ Koordinationsmodelle und Sprachen (COORDINATION 2021). Springer, 2021. 276-284.
- Rademacher, Florian, et al. „Auf dem Weg zur ganzheitlichen Modellierung von Microservice-Architekturen mithilfe von LEMMA.“ Begleitbeiträge der 15. Europäischen Konferenz für Softwarearchitektur 2021. CEUR-WS, 2021.
- Sorgalla, Jonas et al. „Anwenden von modellgetriebenem Engineering zur Förderung der Einführung von DevOps-Prozessen in kleinen und mittleren Entwicklungsorganisationen.“ SN Informatik. Springer, 2021.
2020
- Rademacher, Florian, et al. „Grafische und textuelle modellgesteuerte Microservice-Entwicklung.“ Mikrodienste. Springer, 2020. 147-179.
- Rademacher, Florian, Sabine Sachweh und Albert Zündorf. „Ableitung von Microservice-Code aus unterspezifizierten Domänenmodellen mithilfe von DevOps-fähigen Modellierungssprachen und Modelltransformationen.“ 2020 46. Euromicro-Konferenz zu Software Engineering und fortgeschrittenen Anwendungen (SEAA). IEEE, 2020.
- Rademacher, Florian, Sabine Sachweh und Albert Zündorf. „Eine Modellierungsmethode zur systematischen Architekturrekonstruktion von Microservice-basierten Softwaresystemen.“ Modellierung von Unternehmens-, Geschäftsprozessen und Informationssystemen. Springer, 2020. 311-326.
- Sorgalla, Jonas et al. „Modellierung einer Microservice-Architektur: ein vergleichendes Experiment zur Wirksamkeit zweier Ansätze.“ Vorträge des 35. jährlichen ACM-Symposiums für angewandtes Rechnen. 2020.
- Sorgalla, Jonas et al. „Modellgetriebene Entwicklung einer Microservice-Architektur: Ein Experiment zur Nutzungsqualität eines UML- und eines DSL-basierten Ansatzes.“ (2020).
- Sorgalla, Jonas, Sabine Sachweh und Albert Zündorf. „Erforschung des Microservice-Entwicklungsprozesses in kleinen und mittleren Unternehmen“ Produktorientierte Softwareprozessverbesserung. Springer, 2020. 453-460.
2019
- Rademacher, Florian, Sabine Sachweh und Albert Zündorf. „Aspektorientierte Modellierung der Technologieheterogenität in der Microservice-Architektur.“ 2019 IEEE International Conference on Software Architecture (ICSA). IEEE, 2019.
- Rademacher, Florian, et al. „Ein modellgesteuerter Workflow für die verteilte Microservice-Entwicklung.“ Vorträge des 34. ACM/SIGAPP-Symposiums für angewandtes Rechnen. 2019.
- Rademacher, Florian, et al. „Microservice-Architektur und modellgetriebene Entwicklung: Noch Singles, bald verheiratet (?).“ Tagungsband der 19. Internationalen Konferenz zur agilen Softwareentwicklung: Companion. 2018.
2018
- Rademacher, Florian, Jonas Sorgalla und Sabine Sachweh. „Herausforderungen des domänengesteuerten Microservice-Designs: eine modellgesteuerte Perspektive.“ IEEE Software 35.3 (2018): 36-43.
- Sorgalla, Jonas et al. „Kollaboratives modellgesteuertes Software-Engineering und Microservice-Architektur: eine perfekte Ergänzung?“ Tagungsband der 19. Internationalen Konferenz zur agilen Softwareentwicklung: Companion. 2018.
2017
- Rademacher, Florian, Sabine Sachweh und Albert Zündorf. „Unterschiede zwischen modellgetriebener Entwicklung serviceorientierter und Microservice-Architektur.“ 2017 IEEE International Conference on Software Architecture Workshops (ICSAW). IEEE, 2017.
- Rademacher, Florian, Sabine Sachweh und Albert Zündorf. „Auf dem Weg zu einem UML-Profil für domänengesteuertes Design von Microservice-Architekturen.“ Internationale Konferenz über Software Engineering und formale Methoden. Springer, 2017.
Mitwirkende
Ein großes Lob an alle LEMMA-Mitwirkenden ???
Lizenz
MIT