Model Driven Architecture

Neuer Ansatz soll Entwicklung effektiver machen

30.01.2004
MÜNCHEN (as) - Zu den zentralen Themen auf der diesjährigen Entwickler-Kongressmesse OOP in München zählte die "Model Driven Architecture" (MDA). Dieser Ansatz soll Entwurf und Wiederverwendung von Anwendungen erleichtern. Obwohl das zum Teil noch Zukunftsmusik ist, zeigten erste Beispiele den praktischen Nutzen.

Die dreizehnte OOP präsentierte sich den offiziell rund 1500 Besuchern mit einem erweiterten Vortrags- und Workshop-Programm zu aktuellen Technologietrends und Projekt-Management. Unterstützung erhielten die Veranstalter dabei durch renommierte Referenten wie John Bosak (Sun Microsystems), Martin Fowler (Thoughtworks), David Booth (W3C) oder Richard Soley (OMG), die sich vor allem mit der Zukunft von Softwarearchitekturen beschäftigten. Zudem stellten rund 65 Hersteller, Verlage und Dienstleister aus, von denen auch eine Reihe der Vorträge und Keynotes auf dem Kongress stammte.

Eines der viel diskutierten Themen war dieses Jahr die MDA. Dieser noch in der Entwicklung befindliche Ansatz des Industriekonsortiums Object Management Group (OMG) zielt darauf ab, wiederverwendbare Geschäftslogik in abstrakten Modellen zu spezifizieren, um sie so in diversen Implementierungen wiederverwenden zu können. MDA basiert auf Standards wie der Unified Modeling Language (UML) und XML Metadata Interchange (XMI) und soll die rein fachliche UML-Spezifikation (Platform Independent Model = PIM) eines Systems von deren plattformspezifischer Spezifikation (Platform Specific Model = PSM) trennen.

Wie vor Jahren die Objektorientierung für viele Experten als Lösung häufiger Anforderungen in der Softwareentwicklung gelobt wurde, so wird MDA bereits jetzt von manchen OOP-Sprechern als großer Wurf beworben, um Software schneller erstellen zu können. MDA-Modelle würden auch das Wissen von Experten bewahren und es anderen Entwicklern zugänglich machen, die Konsistenz zwischen Design und Implementierung erhöhen, die Pflege und Anpassung von Architekturen erleichtern und dank der Wiederverwendung in Folgeprojekten Kosten sparen helfen. Laut OMG-Chef Soley sei MDA eine Reaktion auf den anhaltenden Wandel der Softwareinfrastruktur (Corba, Java, .NET, XML, Web-Services etc.), der sich mit herkömmlichen Ansätzen nicht mehr bewältigen lasse. Während UML bisher vor allem der Dokumentation diene, sollte das MDA-Modell zum "festen und lieferbaren Bestandteil eines Systems" werden.

MDA-Konzepte im Schellverfahren eingeführt

Auf dem Kongress zeigte sich, dass vieles an MDA noch Zukunftsmusik ist, grundsätzlich aber der Ansatz, über das Architekturdesign zur konkreten Implementierung zu kommen, in ersten Projekten Anklang findet. So stellte Kristijan Cvetkovic das Gemeinschaftsprojekt "Internes Rating" des Kölner Bank Vereins vor. Dieser betreibt im Auftrag von 40 privaten Banken eine mehrschichtige Java-basierende Rating-Anwendung, die Schnittstellen für die Daten- und Funktionsintegration erhielt, um die diversen Geschäftsanwendungen der Kunden performant anbinden zu können. Neben einer Dialog-Schnittstelle für die Sachbearbeiter, die EHTML nutzt, wurde hierzu ein umfangreiches B-to-B-Interface für den Online-Zugriff über Web-Services entwickelt, das Geschäftsfunktionalität über die Protokolle Soap und HTTP erreichbar macht sowie den asynchronen Batch-Betrieb erlaubt.

Mit dem neuen Release der Rating-Software war laut Cvetkovic zugleich eine grundlegende Architekturumstellung verbunden, die das Projektteam mit Hilfe eines generativen, modellgetriebenen Ansatzes bewerkstelligen wollte. Ziel war es, eindeutige Quellen für jede Information innerhalb des Systems zu schaffen und das bisherige Backend und die bestehenden Frontends sanft zu migrieren. Die Angaben zur Architektur der Rating-Anwendung samt B-to-B-Schnittstelle wurden hierzu im UML-Modell erfasst und im XMI-Format an den Generator geschickt, der aus diesen Vorgaben die Geschäftslogik erzeugt.

Erfasst und an den Generator übergeben werden zudem sämtliche Metadaten, die Angaben zu den verwendeten Masken, Workflows und dem Formelsystem enthalten, ferner externe Informationsquellen (im XSL-Layout) sowie die Vorgaben aus den Fachbereichen wie beispielsweise Erfassungsschema für Bilanzen. Aufgrund des engen Zeitrahmens im Projekt war es laut Cvetkovic kaum möglich, MDA voll umzusetzen, zumal allein ein Initialisierungsprojekt zur Einführung der neuen Architektur sechs bis acht Wochen gedauert hätte. Daher entstand zunächst eine "symbiotische Architektur", bei der sich das Backend mit Hilfe des modellgetriebenen Ansatzes automatisch anpassen lässt, während dies bei den Frontends noch manuell geschieht.

UML wird um Profile erweitert

Weitere Beispiele für MDA oder vergleichbare Ansätze stellten auf der OOP die Deutsche Bank Bauspar AG vor, die bei der Integration eines Cobol-Großrechnersystems in Web-basierende Anwendungen einen MDA-ähnlichen Architekturstil einführte und dafür von der OMG ausgezeichnet wurde, sowie VW/Audi, das ein Architektur-Repository entwickelt hat, aus dem sich domänenspezifische "Profile" erzeugen lassen. Letztere sind eine Erweiterung der UML-Sprachsyntax und -Semantik, um spezifische Anforderungen in Projekten, Unternehmen oder in der Anwendungsdomäne abdecken zu können. So entsteht eine eher problemorientierte, formale Designsprache. Derartige Profile besitzen laut Expertenmeinung ein höheres Abstraktionsniveau als UML-Modelle und sind zugleich kompakt und informationsreich. Da sich aus ihnen mit Hilfe entsprechender Tools ein Großteil des Sourcecodes inklusive Deployment und Test für eine konkrete Implementierung erzeugen lässt, bezeichneten manche Sprecher diesen Ansatz als MDA-konform.

Wie sich solche Profile praktisch nutzen lassen, zeigte auch Rüdiger Schilling, Gründer der Firma Delta Software Technology, am Beispiel der Integration von Legacy-Systemen. Statt wie heute oft üblich vorhandene Schnittstellen mit unflexiblen "Wrappern" zu versehen, bietet sein Unternehmen eine Generatorsoftware, die als Input das auf UML 1.4 basierende und an MDA orientierte Profil Enterprise Distributed Object Computing (Edoc) verwendet. Dieses beschreibt, wie sich plattformunabhängig Geschäftsanwendungen mit unterschiedlicher Granularität und Durchgängigkeit zwischen Implementierung, Spezifikation und Umsetzung eines Systems modellieren lassen. Kernelemente sind die Standards Enterprise Collaboration Architecture zur Definition von PIMs sowie Component Collaboration Architecture, mit der sich die UML-Konzepte Klassen, Kollaborationen und Aktivitätsgraphen beschreiben lassen. Aus den Vorgaben erzeugt der Generator von Delta schließlich weitgehend automatisch modifizierte Adapter für die Anbindung einer Legacy-Software mit anderen Unternehmensanwendungen.