Newsfeed abonnieren
Strategien

Kommentar von Ingrid Kriegl, Sphinx IT Consulting

SOA und MDA - ein fast perfektes Paar?

Die Einführung einer SOA (Service Oriented Architecture) ist für jedes Unternehmen mit erheblichem organisatorischen Aufwand verbunden. Auch die Anforderungen an die Entwickler sind nicht zu unterschätzen, ebenso darf die Dokumentation und die Einbindung bewährter Software-Teile oder Frameworks nicht vergessen werden.

DI Ingrid Kriegl

Das Paket aus Analyse, Dokumentation, Implementierung und Integration sollte daher ganzheitlich geschnürt werden. Der folgende Beitrag zeigt, wie dieses Ziel mit Hilfe von MDA (Model Driven Architecture) bzw. noch besser mit MDSD (Model Driven Software Development) sehr pragmatisch erreicht werden kann.

Ein Problem moderner Software-Architekturen, das mit SOA noch eher verschärft denn gemildert wird, besteht darin, dass der Infrastruktur- oder Glue Code einen immer größeren Anteil an der Software-Entwicklung einnimmt. Verständlich, denn die Flexibilität steigt - allerdings leider auch der Implementierungsaufwand. Der Businesscode umfasst meist nur 15% bis 20% der oft Millionen Codezeilen.

Eine weitere Herausforderung bei der Einführung einer SOA ist die Dokumentation - denn der beste Service nützt nichts, wenn niemand weiß, dass er existiert, wie er anzuwenden ist und was er leistet.

Die Lösung für diese Herausforderungen liegt nun darin, das Problem auf einen höheren Abstraktionslevel zu heben und sich nicht mehr über einzeln dokumentierte Services oder Millionen LOC (Lines of Code) den Kopf zu zerbrechen, sondern eine ganzheitliche Sicht - quasi aus der Vogelperspektive - einzunehmen. Betrachtet und löst man das Problem auf einer höheren Ebene, so ergeben sich ganz neue und effiziente Möglichkeiten.

Es gilt also, eine Beschreibung der zu lösenden Aufgaben - konkreter: der Analyseresultate - in einer formalen Sprache, wie z. B. der UML (Unified Modeling Language), zu erstellen. Damit entsteht eine zentrale und formal richtige Quelle bzw. ein Modell für sämtliche Anforderungen - und die MDA verspricht (und hält dieses Versprechen auch), dass aus diesem Modell der benötigte Code und die Dokumentation generiert werden kann.

Tatsächlich gibt es in jedem Unternehmen aber spezielle Anforderungen oder Regeln an den zu erstellenden Code, die sich nur schwer oder gar nicht in das Tool des MDA Herstellers einbinden lassen. Es gibt gewachsene und bewährte Frameworks, die man wieder verwenden möchte oder muss. Der im Vergleich zur MDA universellere Ansatz der MDSD hilft uns aus diesem Dilemma heraus.

Als ein Eckpfeiler der MDSD gilt, zuerst eine Referenzimplementierung der angestrebten Architektur als vertikalen Schnitt durch das System zu erstellen. Konkret bedeutet dies, dass ein einziger Service von "ganz oben" bis "ganz unten" per Hand implementiert wird. Dabei lernt man eine Menge über die Architektur und kann die unternehmenseigenen Standards, Frameworks und Komponenten einfließen lassen. Nun hat man eine "ideale Vorlage" bzw. das Template des zu erstellenden Codes. Dieses Template ist die Basis für den aus dem Modell zu erzeugenden Code. Mit der Dokumentation verfährt man genauso, man erstellt sich eine der CI entsprechende Referenzdokumentation und verwendet diese als Template. Nun lässt sich der Code und die Dokumentation auf Knopfdruck aus dem Modell erzeugen.

Wir von Sphinx IT Consulting haben mit dem Einsatz von MDSD sehr gute Erfahrungen in den unterschiedlichsten Bereichen - z. B. Transportwesen oder Bildung - gemacht. Neben der perfekten Anpassbarkeit an das Umfeld des Kunden, ist es vor allem die hohe Flexibilität und Effizienzsteigerung, die den ganz besonderen Reiz von MDSD in Zusammenhang mit SOA ausmacht.

DI Ingrid Kriegl, ist Geschäftsführerin von Sphinx IT Consulting. Das Unternehmen wurde 1993 von DI Ingrid Kriegl und Mag. Friedl Ebner gegründet und ist Spezialist für qualitativ hochwertige Individual-Software auf Basis von Oracle, Java und Open Source. www.sphinx.at


MDA & MDSD

MDA (Model Driven Architecture) ist der Ansatz der OMG (Object Management Group) die Erstellung von Softwaresystemen auf einer portablen, plattformunabhängigen und interoperablen Basis sicherzustellen. Als Metamodell wird dabei die MOF (Meta-Object Facility) verwendet, domänenspezifische Sprachen werden auf MOF Basis z.B. über sog. UML Profile definiert. Angestrebt wird weiters die direkte Ausführbarkeit der Modelle.

MDSD (Model Driven Software Development) ist die pragmatische Obermenge zur MDA. In der MDSD wird sehr stark auf die Plattform Rücksicht genommen, d.h. es wird auf die Wiederverwendung existierender Frameworks, Komponenten usw. wert gelegt, um die Komplexität zu reduzieren. Zusätzlich wird - ganz in der Tradition der Iterativen Entwicklung - der Entwicklungsprozess wesentlich stärker als in der MDA berücksichtigt.

 

weitersagen: drucken
SOA & BPM
maximize
Termine

18. Juni - 22. Juni

In ganz Österreich

SAP Mittelstandstage

Print-Archiv
Folgen Sie uns
Leser empfehlen
MONITOR-Newsletter

Abonnieren Sie unseren Newsletter!

E-Mail:
Die von Ihnen angegebene E-Mail Adresse wird von MONITOR Online weder an Dritte weitergegeben noch zu anderen Zwecken verwendet.
MONITOR-Autoren

© Copyright 1983-2012 by MONITOR / Bohmann Druck und Verlag Gesellschaft m.b.H. & Co. KG (www.bohmann.at)

Add to Google  | Abo | Themenvorschau | Mediadaten | Inserate buchen | Kontakt | Impressum