Home > Projekte > AURUM

Bankensoftware Parametrier-Workbench

Ausgangslage

Die Parametrierung der Gesamtbankenlösung unseres Kunden erweist sich oft als sehr aufwändig.

Folgende Tatsachen fallen dabei besonders auf:

  1. Für die Parametrierung sind sowohl präzise Domain-Kenntnisse (Geschäftsprozesse, -regeln und -usanzen) nötig, als auch sehr fundiertes Wissen über deren technische Implementierung. Oft verfügen nur einige wenige Schlüsselpersonen über die notwendigen Skills.
  2. Die einzelnen Parametrierartefakte (Scripts, Programme, Daten bzw. Parameter) sind nur lose verknüpft, Zusammenhänge zu fachlichen Features oder zu den zugrundeliegenden Geschäftsanforderungen sind kaum sichtbar. Dieses Wissen ist fast ausschliesslich in den Köpfen einiger weniger Seniors.
  3. Für die Parametrierung existieren zwar mehrere spezifische Sprachen, die untereinander aber nur sehr lose verknüpft sind. Die Unterstützung des Entwicklers durch komfortable Editoren weist Optimierungspotential auf, die meisten Fehler lassen sich frühestens beim Kompilieren entdecken; viele erst zur Laufzeit.
  4. Änderungen der Banking Software, die sich auf die APIs (Programmier- bzw. Parametrier¬schnittstelle) auswirken, müssen unter allen Umständen minimal gehalten werden, will man für die Kunden keinen unnötigen Aufwand generieren.

Die nur schwer beherrschbare Komplexität solcher Parametrierungen führt schon bei der Entwicklung, besonders aber bei der Wartung zu einem immer grösser werdenden Aufwand und damit zu Ressourcenengpässen und nicht selten zu Qualitätsdefiziten.

Lösung

Paranor war davon überzeugt, mit einem MDD-basierten Werkzeug bzw. einer erweiterbaren Tool-Plattform diese Schwachpunkte beseitigen zu können. Durch eine bessere Abstraktion lässt sich zudem die Komplexität wesentlich reduzieren und Qualität, Flexibilität und Produktivität markant steigern. Kommt hinzu, dass sich durch ein besseres Tooling auch die Arbeit der Parametrierer attraktiver gestalten lässt.

Es wurde eine mächtige Parametrier-Workbench mit einem Satz von DSLs (Domain-spezifische Sprachen) und entsprechenden Werkzeugen realisiert, die den Parametrierer durch dahinterliegende Modelle optimal unterstützen.

Der Business-Spezialist kann mit komfortablen, textuellen und graphischen Editoren ohne besondere technische Detailkenntnisse die Spezifikationen präzise umsetzen und erstellt damit implizit die Modelle. Dank Linking und Navigationsmöglichkeiten lassen sich die Modelle sehr gut auf Konsistenz, Einhaltung von Parametrierrichtlinien und teilweise sogar auf Vollständigkeit überprüfen — lange bevor Code dafür generiert wird. Ein Satz von Regeln (Constraints) validiert Syntax und Semantik der verschiedenen Modelle, meist schon während dem Editieren. Die zugrunde liegenden Regeln können durch den Anwender modifiziert bzw. ergänzt werden.

Der technisch versierte Parametrierer schreibt derweil Codegeneratoren (wenn nicht schon mit der Workbench ausgeliefert), die aus den Modellfragmenten alle notwendigen Parametrierartfakte bzw. Sourcecode erstellen. Er kann sich voll auf die korrekte Umsetzung der Architekturgrundsätze fokussieren.

Realisierung

Die Verwendung von Eclipse und EMF (Eclipse Modelling Framework) waren gegeben, weil wir damit in früheren MDD-Projekten exzellente Erfahrungen gemacht hatten. Ebenso klar war für Paranor wiederum die Wahl von Xtext und seiner verwandten Werkzeuge.

Der erstmals konsequent verfolgte Weg von vielen kleineren Modellen, basierend auf spezifischen, verlinkten Metamodellen, hatte zur Folge, dass das Standard-Tooling an Grenzen stiess. Um diese zu überwinden, mussten die Eclipse-Tools selbst erweitert werden. Paranor hat eigene Zusätze entwickelt, die das Linking und die Navigation über viele Modelle hinweg einfacher und vor allem performant machen. Für die graphischen Editoren der Modelle wurde ein auf Eclipse GEF/GMF basiertes Framework erarbeitet.

Die Workbench kann durch den Benutzer (oder Drittfirmen) erweitert werden. Neue Parametrier-DSLs können flexibel hinzugefügt und mit den bestehenden DSLs integriert werden.

Eine erste Version des Produkts hat Marktreife erlangt, im Moment wird am zweiten Release gearbeitet.

Nebst dem Produkt selbst hat Paranor bei der Weiterentwicklung von Eclipse TMF (Textual Modelling Framework) mitgearbeitet und begonnen, sich auch als Eclipse-Commiter einen Namen zu machen.