Ein erfolgreiches Experiment – Die A12-Low-Code-Evolution

Jede Low Code Plattform braucht Werkzeuge, um Teile einer Anwendung zu gestalten. Doch lassen sich diese Werkzeuge auch mit den Mitteln eben jener Plattform selbst erstellen? Diese Frage war die Keimzelle für die Entwicklung des Simple Model Editors (SME) der Enterprise Low Code Plattform A12. Wir zeichnen die Entwicklung nach und verfolgen den Weg des SME vom Prototyp bis hin zum Standard-Tool von A12.

Für die Modellierungswelt der Enterprise Low Code Plattform A12 markiert das Jahr 2023 einen wichtigen Wendepunkt: Die erste Tool-Generation geht in den Ruhestand. Der SME (Simple Model Editor) bietet nun als zentrales, modulares Werkzeug der neuen Generation die Mittel, um sämtliche A12-Modelle so komfortabel wie noch nie zu editieren. Wir nehmen diesen Meilenstein zum Anlass, um die bisherige Evolution der A12-Modellierungswerkzeuge Revue passieren zu lassen.

Dieser Beitrag ist Teil einer Reihe über die Werkzeugentwicklung von A12:

Für den Bau von Software-Tools braucht es keine physische Werkstatt. Die Entwicklung findet typischerweise verteilt an mehreren Standorten statt – je nach dem wo die spezialisierten Expert:innen sitzen. Wenn wir trotzdem einen stellvertretenden Ort benennen wollen, an dem heute an der aktuellen Werkzeug-Generation der Enterprise Low Code Plattform A12 gefeilt wird, landen wir unweigerlich in Aachen. In einem Bürokomplex am Karlshof, direkt am Marktplatz vor dem gotischen Rathaus, spielt sich ein Großteil der Tool-Entwicklung ab. Neben der unmittelbaren Nähe zur historischen Innenstadt ist der Aachener mgm-Standort auch von seiner Nähe zur RWTH geprägt. Die Universitätsbibliothek ist wenige hundert Meter entfernt. Durch eine Kooperation mit dem Lehrstuhl für Software Engineering unter der Leitung von Prof. Dr. Bernhard Rumpe sind mgm und die RWTH auch institutionell eng verbunden.

Die Nähe zur Wissenschaft und die Leidenschaft für Model-Driven Software Development (MDSD), die mgm mit dem Lehrstuhl verbindet, ist am Standort sehr gut spürbar. Gespräche kreisen um Konferenzen und Dissertationsvorhaben. Wer sich mit den Kolleginnen und Kollegen vor Ort zu einem fachlichen Thema austauscht, bekommt schnell Empfehlungen zu lesenswerten relevanten Forschungsartikeln. Dass in diesem Umfeld die nächste Generation der A12-Werkzeuge entstand, ist sicher kein reiner Zufall.

Metamodellierung als Startpunkt

Timo Greifenberg, Leiter des SME-Teams in Aachen

Die ursprüngliche Idee war, mit möglichst wenig Aufwand und den Mitteln von A12 – daher kommt das ‚Simple‘ in SME – einen Editor für drei neue Modellierungs-Features von A12 zu bauen

Mittlerweile sind einige ehemalige Mitarbeitende des Lehrstuhls zu mgm und damit in die Wirtschaft gewechselt, wo sie ihr Wissen jetzt in die Praxis einbringen. Einer von ihnen ist Dr. Timo Greifenberg. Im März 2019 bekam Timo, der bis dahin bei mgm an der A12 Workflows-Komponente gearbeitet hatte, den Auftrag für ein Experiment. „Die ursprüngliche Idee war, mit möglichst wenig Aufwand und den Mitteln von A12 – daher kommt das ‚Simple‘ in SME – einen Editor für drei neue Modellierungs-Features von A12 zu bauen: Relationship-Modelle, App-Modelle und Bindings“, erinnert sich Timo, der heute das SME-Team leitet. „Fachlich ging es um die Frage, ob man die JSON-Strukturen dieser Modelle nicht metamodellieren könnte.“

Die kurze Antwort: Ja, man kann – und zwar sehr effektiv. Damit war das Fundament für eine neue Generation der A12-Tools gelegt, die mit den eigenen Mitteln von A12 gebaut wird. „Ursprünglich bin ich davon ausgegangen, nach etwa drei Monaten wieder zu den Workflows zurückzukehren. Dazu ist es nie gekommen“, schmunzelt Timo. Heute arbeitet ein siebenköpfiges Team an den Kernfunktionalitäten des SME. Weitere Teams verantworten die Entwicklung zusätzlicher SME-Module.

Der Weg, die neuen A12-Editoren auf Basis von A12 zu bauen, war auch eine gewisse Bewährungsprobe für die Plattform selbst

„Der Ursprung des SME fiel in eine Zeit, in der wir den Modellierungsumfang deutlich weiterentwickelt haben. A12 entwickelte sich von einem modellgetriebenen Ansatz zu einer ausgewachsenen Plattform für die Entwicklung von Geschäftsanwendungen“, resümiert Ansgar Weiss, Projektmanager von A12. „Der Weg, die neuen A12-Editoren auf Basis von A12 zu bauen, war auch eine gewisse Bewährungsprobe für die Plattform selbst. Wir haben sehr gut gesehen, was gut klappt und was noch fehlt.“

„Eat your own dogfood“ – Wie mgm die eigenen Werkzeuge nutzt

Das Prinzip, dass Unternehmen die von ihnen angebotenen Produkte und Services auch selbst einsetzen, wird im Jargon der IT-Branche als „Eat your own dogfood“ bzw. „Dogfooding“ bezeichnet. Es zielt darauf ab, die Qualität der Produkte und das Vertrauen der Mitarbeitenden darin zu erhöhen. Wenn das Produkt Schwachstellen aufweist, leiden auch diejenigen darunter, die das Produkt herstellen – und haben entsprechend ein höheres Interesse daran, das Produkt schnell zu verbessern. Innerhalb von mgm war der SME das erste interne Produkt, das konsequent auf Basis der A12-Plattform gebaut wurde. Es weist die Besonderheit auf, dass es die A12-Plattform auf Basis von A12 bereichert. Darüber hinaus setzt mgm intern mittlerweile mehrere selbst erstellte Softwareprodukte ein, die auf A12 basieren. Dazu gehören ein System für die Zeiterfassung und ein Tool für die Reisekostenabrechnung.

Ansgar Weiss, Projektmanager von A12

Umsetzung als Webanwendung

Die erste experimentelle Version des SME war eine einfache Webanwendung, die noch über einen sehr übersichtlichen Funktionsumfang verfügte. Es gab einen Knopf „Open Workspace“, mit dem man Daten in die Applikation laden konnte. Auf der linken Seite des Screens stellte der sogenannte Workspace Explorer dann die Dateien dar. Wenn man auf eine Datei klickte, öffnete sich rechts daneben eine Editieransicht für das jeweilige Modell. Außerdem gab es einen „Download“-Button, mit dem sich die Ergebnisse wieder herunterladen und lokal speichern ließen.

Dieses Grundgerüst ist auch in den heutigen Versionen des SME noch erkennbar. Der Bedienungskomfort und der Funktionsumfang haben aber einen Quantensprung gemacht. Modelle lassen sich per Drag & Drop verschieben. Dank des direkten Zugriffs auf das Dateisystem können sie auch direkt im Workspace Explorer gelöscht, umbenannt oder kopiert werden. Möglichkeiten für die visuelle Modellierung sowie eine Live-Preview und Funktionen für die Qualitätssicherung der modellierten Fachlichkeit sind hinzugetreten. Letztere nutzen hochkomplexe mathematische Verfahren wie SMT-Solver, um zum Beispiel Widersprüche in den fachlichen Modellen aufzudecken.

Sukzessive Unterstützung weiterer Modelltypen

Mit dem ersten SME-Prototyp stand erstmals ein Editor für fortgeschrittene Modellierungsfeatures wie Relationships zur Verfügung, mit denen sich Beziehungen zwischen modellierten Entitäten definieren lassen. In der Projektpraxis kamen diese Möglichkeiten am Anfang noch vereinzelt zum Einsatz. Der SME war im A12-Kosmos zunächst ein eher exotisches Nebenprodukt. Mit der Unterstützung des Overview-Modells, mit dem sich tabellenartige Übersichten modellieren ließen, stieg die Nutzerbasis jedoch sprunghaft an.

Zu dieser Zeit haben wir auch das Modul-System von A12 im SME implementiert

„Das Overview-Modell war damals bereits in vielen A12-Projekten im Einsatz. Der SME wurde deshalb stärker genutzt und verließ damit auch den Status eines Prototyps“, sagt Timo. „Zu dieser Zeit haben wir auch das Modul-System von A12 im SME implementiert. Es war absehbar, dass andere Teams mitmischen wollten. Deshalb mussten Regeln her, wer wo reinarbeiten darf.“ Heute gibt es für den Editier-Bereich jedes Modelltyps ein eigenes Modul. Während die erste Generation der A12-Werkzeuge noch für jeden Modelltyp ein eigenes Tool vorsah, gilt jetzt die Devise: Ein Modul pro Modelltyp.

SME-Module ersetzen Tools der ersten Generation

In der Anfangsphase des SME gab es keine Pläne, die bisherigen Modellierungstools – den Data Modeler und den UI Designer – zu ersetzen. Nach der Einführung des Modul-Systems und der Unterstützung von Overview-Modellen drängte sich dieser Gedanke aber geradezu auf. Die Tools der ersten Generation auf Basis von Eclipse RCP waren bereits sehr ausgereift und stabil, wirkten aber auch in die Jahre gekommen. Der SME hingegen basierte auf moderneren Web-Technologien und setzte auf die aktuellen A12 Themes.

Die Ablösung der alten Tools erfolgte sukzessive

„Die Ablösung der alten Tools erfolgte sukzessive“, erklärt Ansgar Weiss. „Wir haben uns jeweils zunächst in einem Proof of Concept angeschaut, inwieweit sich der Funktionsumfang übertragen lässt. Dann wurde für die alten Tools ein Feature-Stop verhängt, während die neuen SME-Module implementiert und getestet wurden.“ Anfang 2022 ersetzte das Document Modeling Module (DMM) des SME den A12 Data Modeler. Ein Jahr später übernahm der SME mit dem Form Modeling Module (FMM) die Funktionalitäten des A12 UI Designers. Die Übergangsphase war damit erfolgreich abgeschlossen. Aus dem Experiment wurde eine neue Tool-Generation.