Home > Projekte > IRT

Installation Reporting Tool

Ausgangslage

Das Installation Reporting Tool (IRT) vereinfacht das Deployment neuer Releases der Bankenlösung unseres Kunden wesentlich. IRT hilft dem Software-Hersteller, die Logs und Fehlermeldungen von Installationen und Upgrades auf den Kundensystemen zu analysieren, Defekte zu finden und durch einen Regelsatz diese Defekte mit bereits bekannten Fehlern (zu welchen evtl. bereits eine Lösung dokumentiert ist) abzugleichen.

Das Tool musste sich in eine bestehende Eclipse-basierte Entwicklungsumgebung integrieren, eine vorgegebene 2-tier Architektur war gefordert, alle Daten mussten in Oracle gehalten werden. Sehr viele Implementierungs-Patterns waren ebenfalls vorgegeben. Das eher kleine Projekt musste innerhalb weniger Monate spezifiziert, realisiert und in Betrieb genommen werden.

Lösung

Technisch war die Lösung klar vorgegeben, im Gegensatz zu andern Projekten gab es hier wenig Handlungsspielraum. Bezüglich Entwicklungsmethodik existierten hingegen keine expliziten Anforderungen.

Obwohl nicht viel Zeit zur Verfügung stand, erkannte das Entwicklungsteam von Paranor noch in der Spezifikationsphase, dass sich ein modellbasierter Ansatz auch für dieses relativ kleine Projekt auszahlen würde.

Realisierung

Für die MDD-basierte Realisierung wurde mit Eclipse Xtext eine eigene DSL (Domain Specific Language) entwickelt, zusammen mit Text- und graphischen Editoren. Damit liess sich dann ein Modell der zukünftigen Applikation erstellen und über 80% der Codeartefakte in Java und PL/SQL in den verschiedenen Layers (Client und Server) generieren. Hiermit war auch automatisch sichergestellt, dass die Layers 100-prozentig zusammenpassen.

Anstatt die geforderte Funktionalität durch handgeschriebenen Code zu realisieren, wurde ein grosser Teil des Aufwands in die Modellierung investiert, mit dem Vorteil, dass bereits die Spezifikation sehr präzise war und kaum mehr Interpretationsspielraum zuliess. Das Erstellen der Codegeneratoren begann sehr früh, wurde in einem iterativen Prozess verfeinert und mehrfach optimiert.

Das Projekt konnte termingemäss und zum vereinbarten Fixpreis ausgeliefert werden. Nach der Begleitung von Installation und Inbetriebnahme durch Paranor, wurde die Software an den Kunden übergeben, Nachbesserungen erübrigten sich.

Herausragende Merkmale:

  • DSL mit textuellen und graphischen Editoren
  • Aus einer „Modell-Zeile“ wurden durchschnittlich 92 Zeilen Sourcecode generiert
  • Total MDD-Effort: Aus 7000 Zeilen manuell geschriebenem Code (Modell + Generator + Tooling) wurden total 73’300 Zeilen Sourcecode generiert (Faktor 1:10).
  • Der generierte Code war so gut, dass er beim Review nicht als solcher erkannt wurde. Auch wichtige Kommentare wurden ins Modell aufgenommen und in die Sourcen generiert.
  • Dank dem MDD-Ansatz konnten erst spät erkannte Optimierungsanforderungen und last-minute-Changes sehr rasch und sicher eingebaut werden, ohne dabei die Qualität aufs Spiel zu setzen.