Ein grosser Teil der geschäftskritischen Applikationen eines grossen Schweizer Finanzdienstleisters wird auf Mainframes TP/Batch seit den 60er Jahren betrieben. Die Code-Basis ist über die Jahre hinaus weiterentwickelt, gewachsen und von unterschiedlichen Mitarbeitern gepflegt worden. Durch zu starke Kopplung ist es schwierig geworden, zügig und effizient auf Änderungen zu reagieren. Die Integrationsarchitektur hat das DiMA Programm mit folgenden Zielen initiiert:

  • Änderungen an bestehende Applikationen soll möglichst wenig Einfluss auf andere Teile der Applikationslandschaft haben,
  • eine Kartographie, die die klare Identifikation von Komponenten erlaubt, soll erstellt werden,
  • Komponenten-übergreifende Schnittstellen sollen nach einer standardisierten Architektur implementiert werden,
  • ein Informationssystem zur Verwaltung dieser Schnittstellen (auch Services genannt) soll erstellt werden,
  • der Qualitätssicherungsprozess der Services soll optimiert und durch Werkzeuge unterstützt werden.

Daraus ist eine Service-orientierte Architektur entstanden, gefolgt von einer Registry/Repository Applikation für die Verwaltung der Services. Services werden in einer abstrakten Definitionssprache erfasst, laufen durch einen Reviewprozess und ihre plattformunabhängige Repräsentation dient als Grundlage für die Codegenerierung. Mittlerweile werden Services nicht nur für den Mainframe, sondern auch für dezentrale Plattformen verwaltet. Im neuesten Release wird das System nicht nur in der Schweiz sondern international eingesetzt.

innoQ ist im Projekt seit den frühen Phasen tätig und war massgeblich beim Bau des Codegenerators involviert. Darüber hinaus hat innoQ zusammen mit dem Business Requirements Engineering die Grundkonzepte vorangetrieben und das grundlegende Metamodel für die Servicebeschreibungen erstellt. Im Laufe des Projektes war innoQ in der Integration der von einem Drittanbieter gelieferte Software, in die Durchführung von DB und Code-Reviews und in das Coaching des späteren indischen Outsourcing-Partners involviert.

Charakteristika

  • Mainframe Codebasis (PLI) von über 25 Mio. Codezeilen
  • Dezentrale Codebasis (Java, .Net) von über mehrere Mio. Codezeilen
  • Generierung von PLI-, IDL-, WSDL-, und XSD-Dateien
  • Platform neutrale Service-Definitionssprache
  • Zeitraum 2005 bis Heute

Technologie

  • Registry/Repository gebaut auf Interne Java Platform
  • Codegenerator gebaut anhand des Eclipse EMF/Xtend/Xpand Framework