Der Kunde
Die Atruvia AG ist ein deutscher IT-Dienstleister. Kerngeschäft der Unternehmensgruppe sind IT-Dienstleistungen für Volksbanken und Raiffeisenbanken, sowie für weitere Unternehmen und Zentralinstitutionen der genossenschaftlichen Finanzgruppe.
Ausgangslage und Herausforderung
Das Rich-Banking-Framework (RBF) ist eine Eigenentwicklung des Kunden. Es erleichtert und beschleunigt die Arbeit der Entwicklungsteams. Zur noch besseren Unterstützung bestand der Wunsch, Programmlogik textuell zu modellieren und aus den erstellten Modellen Code generieren zu können.
Zum Zeitpunkt des gemeinsamen Projektstarts wurde RBF bereits in mehreren Projekten für die Produktentwicklung eingesetzt. Das stellte uns vor zwei Herausforderungen:
- Die domänenspezifische Sprache (DSL) als auch der generierte Code mussten sich gut in bestehende, RBF-basierte Projekte integrieren lassen und damit sowohl einen Bottom-Up- als auch einen Top-Down-Ansatz unterstützen.
- Die Verwendung der DSL innerhalb des RBF sollte optional angeboten werden. Auch ein Verzicht der Nutzung oder die Modellierung einzelner Teile waren zu berücksichtigende Szenarien.
Herangehensweise seitens itemis
Der Kunde hatte bereits DSLs im Einsatz und gute Erfahrungen damit gesammelt. Die Anforderung, einen Modellierungs-/Generierungs-Baustein für das RBF zu schaffen, wurde deshalb mit dem Xtext-Framework umgesetzt.
Xtext bringt alle wichtigen Komfort-Features für Texteditoren mit. Dazu zählt Syntax-Highlighting, Auto-Vervollständigung, Verlinkung von Modellen und vieles mehr. Das Highlight von Xtext ist im Projektkontext die besonders komfortable Integration von bestehendem Sourcecode.
Um die beschriebenen Herausforderungen zu lösen, wurde die domänenspezifische Sprache so entwickelt, dass sie bestehenden Sourcecode „verstehen” kann. Dabei ist unerheblich, ob der Sourcecode händisch geschrieben oder durch die DSL generiert wurde.
So ließ sich die neue DSL nahtlos in die bestehende Sprachlandschaft der Atruvia AG einbetten.
Kundenvorteil und konkreter Nutzen
Der neue Modellierungsbaustein auf Basis von Xtext unterstützt die Anwendungsentwickler dabei effizienter zu arbeiten. Das umfasst insbesondere die folgenden Aspekte:
- Durch die Möglichkeit Datenstrukturen kurz und kompakt zu beschreiben, wurde der Umfang des zu schreibenden Codes enorm reduziert. In einigen Szenarien waren für die Anbindung bestehender Services mehrere tausend Codezeilen erforderlich. Mit Hilfe der DSL kann die Logik nun in nur einer einzigen Zeile abgebildet werden. Durch die Flexibilität der DSL bleibt die Generierung trotzdem bis ins kleinste Detail anpassbar.
- Die DSL hilft außerdem Redundanzen zu vermeiden. Beispielhaft ist zu erwähnen, dass die Internationalisierung an einer einzigen Stelle erfasst wird. Benötigte Implementierungsartefakte werden zu 100 % generiert.
- Schließlich kapselt die DSL Fachwissen, beispielsweise indem Best-Practices beim Aufruf von Subsystemen oder Legacy Frameworks generiert werden.
Haben Sie ähnliche Herausforderungen zu lösen oder den Bedarf Ihren Entwicklungsprozess durch den Einsatz dedizierter Werkzeuge zu optimieren?
Lesen Sie mehr über unsere Dienstleistung Nehmen Sie direkt Kontakt zu uns auf