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:

  1. 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.
  2. 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.

 

Screenshot der Fiducia RBF-Service-DSL im Editor und der Modell-Outline
Eine kompakte Ansicht der RBF-Service-DSL im Editor (links) und der Modell-Outline (rechts) zur Übersicht und Navigation. Im Editor werden Schlüsselwörter farbig hervorgehoben. Klickt man auf ein Element der Übersicht springt man an die entsprechende Stelle im Modell – und umgekehrt.

 

Screenshot der Fiducia RBF-Resources Sprache zur Internationalisierung
RBF-Resources Sprache zur Internationalisierung. Das besondere ist, dass das RBF-Framework auch Markup bei der Darstellung verwendet. Parametern können in geschweiften Klammern berücksichtigt werden (siehe {name}).

 

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