Integration auf die Sprünge helfen

Die Kombination von Model Driven und Service Oriented Architecture verspricht mehr Flexibilität und Kombinationsfähigkeit bei der Integration.

Artikel erschienen in Swiss IT Reseller 2005/11

     

Relationale Datenbanken und Objekt-Orientierung waren wahrscheinlich diejenigen IT-Paradigmen der letzten 20 Jahre, welche den grössten Einfluss auf die Entwicklung von Unternehmensanwendungen und Standardlösungen hatten. Allerdings kämpfen nahezu alle grossen Unternehmen nach wie vor mit dem Problem der Integration von Insellösungen, die in dieser Zeit entstanden sind.
SOA (Service Oriented Architecture) und MDA (Model Driven Architecture) sind zwei fundamentale IT Paradigmen, die insbesondere in ihrer Kombination einen wesentlichen Schritt in Richtung dicht integrierter Unternehmenslandschaften bedeuten können – und uns damit der Vision von nahtlos integrierten Unternehmensprozessen einen wesentlichen Schritt näherbringen würden.
Während EAI (Enterprise Application Integration) häufig nur die punktuelle Ad-hoc-Integration von Anwendungen bedeutet, adressiert die Kombination von MDA und SOA die eigentliche Struktur der IT-Landschaft und den «Zuschnitt» von Anwendungen bzw. Anwendungskomponenten, was Flexibilität und Kombinationsfähigkeit garantiert – die wesentliche Voraussetzung für dichte Integration.

Model Driven Architecture

Ähnlich wie CAD/CAM die Produktionsindustrie revolutioniert hat, verspricht MDA, die Prozesse in der Software-Entwicklung in Hinblick auf Kosten, Geschwindigkeit, Flexibilität, Wiederverwendbarkeit und Risiko drastisch zu verbessern. Basierend auf offenen Industriestandards wie der Unified Modeling Language (UML) verlagert MDA den Schwerpunkt der Software-Entwicklung von der Kodierung auf das Design, und damit die Generierung von Anwendungen aus UML-Modellen. Das «Auskodieren» erfolgt dann nur noch an wenigen Stellen, die sich im Modell nicht abbilden liessen.
MDA bedeutet nicht nur signifikante Kostenersparnisse durch automatische Code-Generierung (oft 30–40% nach Angaben der OMG), sondern auch mehr Flexibilität, Plattform-Unabhängigkeit und nicht zuletzt Risiko-Minimierung durch bessere Qualität und standardisierte Prozesse.

Service Oriented Architecture

Während SOA oft mit XML Web-Services gleichgesetzt wird, liegt der eigentliche Mehrwert von SOA in dem eigentlichen «Zuschnitt» der Services und der darunterliegenden Anwendungen (SOA04). Dieses ist insbesondere wichtig im Hinblick auf die langfristige Entwicklung von flexiblen, dicht integrierten IT-Landschaften. In einer SOA sollte der Schwerpunkt auf das Design von relativ grob-granularen Services gelegt werden, die direkt einer fachlichen Funktionalität entsprechen – im Gegensatz zu den oft sehr fein-granularen, technologieorientierten Objekten. In vielen Unternehmen wird SOA erfolgreich auf Basis unterschiedlicher Schnittstellen-Technologien wir CORBA, MOM und Web Services ungesetzt (SOA04, Credit Suisse Case Study).

MDA und SOA

Die Umsetzung von SOA mit MDA bietet viele Vorteile. Insbesondere kann über die Modellierung der Services auf der Modellebene eine sehr saubere Struktur der SOA erreicht werden, welche die Fachlichkeiten und Abhängigkeiten von Services klar abbildet. Bei der Entwicklung einer SOA auf Basis existierender Altsysteme wird hier häufig das Konzept der «Facade» eingesetzt, welche einen fachlichen SOA-Service durch Integration existierender, oft fein-granularer und technischer Transaktionen realisiert. Die Entwicklung der Facaden erfolgt dann mittels MDA.
Services müssen auf Unternehmensebene in einem Repository verwaltet werden, um sie allgemein zugänglich zu machen und so die Wiederverwendbarkeit zu unterstützen. Bei der Entwicklung eines solchen unternehmensweiten Service-Repositories bietet sich die OMG Meta-Object Facility (MOF) als wichtige Alternative zu proprietären Ansätzen wie dem UDDI an, da dieses nur eine spezifische Art von Service-Schnittstellen unterstützt, während das MOF die Erfassung von Service-Definitionen auf Basis UML unabhängig von einer spezifischen Schnittstellensprache erlaubt.

Vorteile für IT-Partner

Aus der Sicht von IT-Partnern bieten sich viele Vorteile durch MDA und SOA. Bei der Umsetzung von IT Projekten können durch den MDA-Ansatz Kosten und Risiken signifikant reduziert werden. Insbesondere hilft MDA die Lücke zwischen Spezifikation und Implementierung zu kontrollieren, da mit MDA Spezifikation und Implementierung sehr dicht aneinander gekoppelt sind. Auch lassen sich Teams mit unterschiedlichen Skills einfacher managen. Konsequente Umsetzung von SOA mit MDA bedeutet, dass komplexe Systeme sich in überschaubare Einzelkomponenten zerlegen lassen und somit deren Entwicklung besser umsetzen lässt.
Die Kombination von SOA und MDA entwickelt sich ausserdem zu einer ernsthaften Alternative zu Standard-produkten (Packaged Applications), da generische Elemente auf unterschiedlichen Modellebenen umgesetzt werden können, während kundenspezifische Anpassungen im Code-Teil erfolgen. IT-Dienstleister können sich durch den konsequenten Aufbau fachlicher Modellbibliotheken am Markt besser positionieren. Einzelne Komponenten aus dieser Bibliothek können für unterschiedliche Kunden individuell angeboten werden, die dann zusammen mit den kundenspezifischen Dienstleistungen eine wesentlich günstigere Gesamtlösung ergeben.

Referenzen

(SOA04) Enterprise SOA, Prentice Hall 2004, Krafzig / Banke / Slama (CS05) Link auf CS Case Study, www.interactive-objects.com/customers/Success_Stories/SuccessStory_CS.pdf

Die Autoren

Andrea Hemprich (Dipl.-Inform) und Alberto Perandones (Dipl.-Inform) sind als Senior Architecture Consultants bei Interactive Objects Software GmbH tätig, einem führenden Anbieter von Lösungen rund um Model Driven Architecture (MDA).


Artikel kommentieren
Kommentare werden vor der Freischaltung durch die Redaktion geprüft.

Anti-Spam-Frage: Welche Farbe hatte Rotkäppchens Kappe?
GOLD SPONSOREN
SPONSOREN & PARTNER