model driven architecture

Transcrição

model driven architecture
objekte
model driven architecture
v o n g ü n t h e r r a c k l , u l r i k e s o m m e r,
k l a u s b e s c h o r n e r, h e i n z k ö ß l e r
und adam bien
KOMPONENTENBASIERTE
ENTWICKLUNG AUF BASIS
DER „MODEL DRIVEN
ARCHITECTURE”
Der generative Entwicklungsweg der „Model Driven Architecture” (MDA) ermöglicht
auf Basis modellgetriebener Softwareentwicklung die effiziente und effektive Abbildung
von Geschäftsprozessen auf Code. Die produktive Umsetzung und der gewinnbringende
Einsatz dieses viel diskutierten Modellierungsparadigmas erfordern jedoch zunächst eine
geeignete Interpretation der Kernkonzepte. Der Artikel zeigt einen durchgängigen
Entwicklungsweg vom Geschäftsmodell zum Code anhand der in der BMW Group entwickelten „Component Architecture” (CA) und liefert damit ein Beispiel für die praktische Umsetzbarkeit der MDA.
Aufgrund der immer weiter steigenden
Komplexität der zu beherrschenden
Entwicklungsstandards und der wachsenden Verbreitung von konkurrierenden
Technologien wie J2EE, CORBA oder
.NET setzen sich modellgetriebene
Entwicklungsmethoden zunehmend in der
Praxis durch. Universell gültige Anwendungsmodelle versprechen in Verbindung
mit generativer Softwareentwicklung eine
größere Effizienz, die einfachere Integration von Fachexperten in den frühen
Designphasen und die bessere Qualitätssicherung
und
Wartung
der
Anwendungen (vgl. [Völ04]). Da die
Software teilweise oder vollständig aus
technologieunabhängigen Modellen generiert wird, können Abhängigkeiten zu
einer konkreten Technologie und Inkonsistenzen zwischen den verschiedenen
Architekturschichten einer Anwendung
überwunden werden. Zusätzlich fördern
einheitliche Designvorgaben und Kodierungsrichtlinien die Standardisierung
von Anwendungsarchitekturen und führen
durch die Verwendung von Entwurfsmustern und Best Practices zu einer höheren Softwarequalität.
Modellgetriebene Entwicklungsansätze
sind vor allem dann gewinnbringend,
wenn ein hoher Automatisierungsgrad
und die Wiederverwendung von Modellen, Generatoren und Transformatoren
in verschiedenen Projekten gewährleistet
sind. Voraussetzung hierfür ist die exakte
Beschreibung der Architektur oder die
Festlegung eines Architekturstils. Die
Kernkonzepte der MDA müssen entsprechend für die produktive Umsetzung im
Hinblick auf die jeweilige Anwendungs-
5/2004
gruppe geeignet interpretiert werden. Vor
diesem Hintergrund wurde in der BMW
Group eine zentrale Komponentenarchitektur
für
die
durchgängige
Abbildung von Geschäftslogik auf eine
unternehmensweite IT-Anwendungsarchitektur entwickelt. Um eine pragmatische
Herangehensweise zu ermöglichen, wurde
bei der Abbildung auf eine Technologie
zunächst nur das J2EE-Umfeld (Java 2
Enterprise Edition) betrachtet.
Die Komponentenarchitektur
Der
modellgetriebene
Ansatz
der
Component Architecture (CA) basiert auf
dem generativen Entwicklungsweg der
MDA und den damit verbundenen drei
Architekturschichten Platform Independent Model (PIM), Platform Specific
Model (PSM) und Implementierung. Die
CA besteht aus den folgenden Elementen:
■ einem Modellierungsprofil, mit dessen
Hilfe das plattformunabhängige
Modell auf Basis der UML, komponentenbasierter Entwicklung und allgemeinen Architekturprinzipien formuliert werden kann,
■ Modelltransformatoren, die das Modellierungsprofil auf das J2EE-1.3konforme plattformspezifische Modell
und anschließend auf Code abbilden,
und
■ einem Framework, das die J2EE-Infrastruktur kapselt und dem Anwender
als Basisfunktionalität zur Verfügung
stellt.
d i e a u t o re n
Dr. Günther Rackl
(E-Mail: [email protected])
beschäftigt sich im Bereich IT-Lösungen
der BMW Group schwerpunktmäßig
mit den Themengebieten SoftwareModellierung und UML Case Tools.
Dr. Ulrike Sommer
(E-Mail: [email protected])
arbeitet im Kompetenzzentrum ITArchitekturen der BMW Group mit den
Themenschwerpunkten komponentenbasierte Entwicklung und J2EE.
Dr. Klaus Beschorner
(E-Mail: [email protected]) ist
IT-Spezialist im Bereich IT-Lösungen
der BMW Group und beschäftigt sich
mit Architekturen und Frameworks im
J2EE-Umfeld.
Heinz Kößler
(E-Mail: [email protected]) arbeitet im Kompetenzzentrum IT-Architekturen in der Ressort-IT Produktion
der BMW Group als Chefarchitekt in
Projekten mit dem Schwerpunkt J2EE.
Adam Bien
(E-Mail: [email protected]) ist freiberuflicher Berater, Dozent und Buchautor mit dem Schwerpunkt EnterpriseArchitekturen, Frameworks und J2EE.
w w w. s i g s - d a t a c o m . d e
objekte
model driven architecture
genaue Erläuterung der wichtigsten Modellierungselemente erfolgt in Tabelle 1.
Abbildung auf J2EE 1.3
Abb. 1: Aufbau einer Komponente
In allen drei Elementen werden gängige
Entwurfsmuster, Best Practices und konzernweit gültige Richtlinien bei der
Implementierung von Softwaresystemen
berücksichtigt.
Modellierung der Fachlogik
In der CA wird die Geschäftslogik zunächst technologieneutral in einem
Komponentenmodell (PIM) mit Hilfe der
UML spezifiziert. Den Kern der CADesignsprache bilden die Geschäftsobjekte, die als fein-granulare und wieder
verwendbare Einheiten Daten, Logik und
Regeln zusammenfassen und in Komponenten strukturiert sind. Die CA versteht
unter dem Begriff „Komponente” eine
konsistente, eigenständige Einheit, die aus
kohäsiven Elementen besteht, auf die nur
über ihre fachliche Schnittstelle zugegriffen wird. Die verfügbaren Modellierungselemente (Artefakte) der CA sind
in Abbildung 1 dargestellt.
Wichtig ist die Unterscheidung zwischen
der Außensicht (Spezifikation) und der
Innensicht (Realisierung) einer Komponente. Lediglich die Spezifikation ist nach
außen sichtbar und stellt die fachlichen
Schnittstellen einer Anwendung zur Verfügung. Die Implementierungsdetails werden in der Komponente gekapselt.
Entsprechend lassen sich die Modellierungselemente gemäß ihren Aufgaben in
die verschiedenen Schichten „ServiceSchnittstellen”, „Ablaufsteuerung”, „Verhalten” und „Daten” strukturieren. Eine
Die Formalisierung der zu verwendenden
Modellierungselemente und deren durchgängige Verwendung im PIM ermöglichen
die automatisierte Abbildung auf die J2EEPlattform. Dabei basiert die Architektur
des J2EE-PSM im Wesentlichen auf den
bekannten J2EE-Patterns (vgl. [Alu01],
[Fow03]), die jedoch im Detail erweitert
wurden. Die CA-Komponenten werden
auf Java-Packages abgebildet, die entsprechend der Schichtung in spec, facade, behavior, data und adapter Unter-Packages
strukturiert sind.
Im PIM werden lediglich die Beziehungen zwischen den Modellierungselementen
sowie ihre Methoden und Attribute
modelliert – für die Berücksichtigung der
Designprinzipien sind der Transformationsprozess und das PSM zuständig.
Abbildung 2 zeigt ein Beispiel für ein
PIM, in dem die Prozessartefakte Business
Entities (BEs) als Parameter oder
Rückgabewerte verwenden. Bei der Transformation werden diese kontextabhängig
in Value-Objekte (VOs), lokale Schnittstellen oder Primärschlüssel umgewandelt.
Die OrderStatusBE wird beispielsweise entweder in ein OrderStatusBEVO oder eine
OrderStatusBEIF transformiert. Innerhalb
der Realisierung einer Komponente verwenden die Business Activities (BAs) die
Abb. 2: Eine „Business Component” im PIM
44
45
w w w. o b j e k t s p e k t r u m . d e
objekte
model driven architecture
Name des Artefakts
Kurzbeschreibung
Abbildung auf J2EE
Business Component (BC)
Fachliche CA-2.0-Komponente. Sie bildet einen Container,
der verschiedene CA-Artefakte auf Basis bestimmter
Architekturvorschriften gruppiert.
Ein strukturiertes Composite Java-Package mit
definierten Abhängigkeiten zu
Nachbarkomponenten.
Business Component
Interface (BCI)
Fachliche Schnittstelle (Spezifikation); Service-Schnittstelle,
die von den Clients bzw. der Präsentationslogik verwendet
wird. Das BCI ist Bestandteil der Spezifikation und
gewährleistet somit auch die einfache Wiederverwendbarkeit und Testbarkeit der Komponenten.
Business Delegate-Pattern, Service Locator (Bestandteil des CA-2.0-Frameworks) und eine konfigurierbare
Factory. Die öffentliche chnittstelle des Business S Delegates
realisiert das BCI mit Hilfe eines Java Interfaces.
Zusätzlich wird ein passender JUnit-Test angelegt.
Business Facade (BF)
Ablaufsteuerung des modellierten Use-Cases, Dekoration um
zusätzliche Fähigkeiten und Abbildung von fachlichen Prozessen.
Zu ihren Aufgaben gehören z. B. die Zustandsverwaltung des Clients,
die Transaktionssteuerung und die Realisierung der Sicherheit.
Das Verhalten der Komponente wird durch einzelne fachliche
Aktivitäten (Business Activities) abgebildet.
Session Façade Pattern mit Stateless oder Stateful
Session Bean. Alle Methoden des Remote-Interfaces
werden mit dem Transaktionslevel Required
oder Requires New versehen.
Business Activity (BA)
Abbildung einzelner fachlicher Aktivitäten, wie z. B. notwendige Algorithmen. Eine BA ist transient und zustandslos.
Jede einzelne Methode einer BA bildet eine atomare Aktivität
ab, die vollständig ausgeführt wird, oder gar nicht.
Lokale Stateless Session Bean. Aus der BA
entstehen die Methoden des Local-Interfaces
der Stateless Session Bean. Eine BA wird mit dem
Transaktionslevel Mandatory versehen.
Business Entity (BE)
Sind für die eigentliche Datenhaltung
zuständig. Eine BE besteht aus einer
zusammengehörigen Gruppierung von
Attributen mit fachlichen oder elementaren
Datentypen.
CMP 2.0 Entity Bean oder ein Data Access Object (DAO)
und ein Value Object (VO). Aus den Attributen einer
BE entsteht immer zumindest ein VO, das als Parameter oder
Rückgabetyp verwendet wird. Falls ein DAO für die Abbildung
der Persistenz einer BE gewählt wird, entstehen aus den
statischen BE-Methoden die Methoden des DAO-Interfaces. Das
Business-Interface (DataEntity) der CMP 2.0 Entity Bean dient der
Abstraktion von der jeweiligen Technologie und könnte
als Vorgabe von z.B. Java Data Objects dienen.
Event Listener (EL)
Ein EL führt beliebige, synchrone Methoden eines Inter-ComponentInterface oder eines Business-Component-Interface asynchron aus.
Bei der PIM-Erstellung ist die Art der technischen Realisierung eines EL
noch nicht bekannt (Threads, Messaging usw.).
Eine Message Driven Bean oder die
Implementierung eines Message Listeners.
Tabelle 1: Modellierungselemente der CA mit Abbildungsregeln auf J2EE 1.3
Referenz der BE. Erst kurz vor der Übertragung (in der Ablaufsteuerung) kommen
VOs zum Einsatz.
Abbildung 3 zeigt einen Ausschnitt aus
der Transformation des PIM in das zugehörige PSM. Das PSM verfügt über Annotationen, die für die letzte Stufe der
Generierung benötigt werden. Informationen über die Transaktionssteuerung,
Pooling, Caching oder Locking-Strategien
werden für die Generierung der Deployment-Deskriptoren und der Enterprise
Archives (EARs) benötigt.
Generative Entwicklung
auf Basis der MDA
Die Entwicklung mit der CA ist eine Form
der modellgetriebenen Softwareentwicklung (Model Driven Software Development, vgl. [Völ04]) und basiert auf einer
pragmatischen Umsetzung der MDA (vgl.
[Mil03]). Neben der Definition der
Modellebenen PIM, PSM und Implementierung (Quellcode) spielt hier die
Automatisierung der Transformationen
zwischen den Ebenen eine essenzielle
Rolle.
Der Ablauf der Entwicklung ist iterativ
und beginnt mit der Ableitung der PIMElemente aus den fachlichen Anforderungen. Anhand von Use-Cases und
fachlichen Grundkonzepten (Key Abstractions) werden BAs und BEs identifiziert,
die dann zu kohäsiven Business Compo-
nents gruppiert werden. Die Definition der
Business Component Interfaces als
Außenschnittstellen der Komponenten
wird aus den resultierenden BFs abgeleitet.
Im Anschluss an die Modellierung des
PIM wird der Entwicklungsprozess mit
der automatischen Transformation in das
PSM fortgesetzt (siehe Abb. 4), das mit
technischen Aspekten verfeinert und
anschließend durch eine Transformation
auf Quellcode abgebildet wird. Dieser
Prozess wird iterativ durchlaufen, wobei
zu beachten ist, dass fachliche Änderungen (z. B. Hinzufügen von Methoden in
BAs) ausschließlich im PIM durchgeführt
werden. Die iterative Transformation des
PIM aktualisiert das PSM und den Code
ohne Beeinträchtigung existierender Elemente. Generiert werden nur die Codegerüste der Anwendung, die Applikationslogik wird anschließend vom
Entwickler manuell hinzugefügt.
Der CA-Entwicklungsweg setzt also auf
der dreistufigen Hierarchie von PIM, PSM
und Quellcode auf – im Gegensatz zu einigen in der Praxis gängigen Werkzeugen ist
hier auch die Stufe des PSM explizit im
Modellierungswerkzeug sichtbar. Die
Gründe für diese explizite Darstellung des
PSM liegen einerseits in der Möglichkeit
zur Anreicherung des PSM mit technischen Informationen, die im rein fachlichen PIM nicht gewünscht sind (wie zum
Beispiel Tabellennamen für die Datenbank), und zum anderen in der Verwendung des PSM als Dokumentation für die
entstehende technische Architektur des
Systems. Vor allem auch die Funktion des
PSM als Dokumentation ist für den späteren Betrieb der Anwendung nicht zu
unterschätzen, da hier ein schneller Überblick über die technischen Gegebenheiten
der Anwendung gewonnen werden kann.
Modelltransformationen
Die kritischen Punkte bei der Umsetzung
modellgetriebener Entwicklungsprozesse
sind die Modelltransformationen, welche
die verschiedenen Abstraktionsstufen
(PIMs, PSMs) ineinander überführen. Eine
Umsetzung im Sinne der MDA legt eine
Verwendung der OMG-Technologien zur
Beschreibung der Abstraktionsstufen
sowie der Transformationen nahe. Die
Beschreibung der Abstraktionsstufen
erfolgt dabei durch die Definition von
domänenspezifischen Metamodellen auf
Basis der Meta Object Facility (MOF)
oder anhand von UML-Profilen. Die
Definition der Modelltransformation soll
mit der zur Zeit bei der OMG als Entwurf
vorliegenden QVT-Spezifikation (Queries,
Views and Transformations) festgelegt
werden (vgl. [OMG03]), wobei der
Prozess
zur
Standardisierung
der
Transformationen noch nicht abgeschlossen ist und daher zur Zeit keine standar-
objekte
model driven architecture
Abb. 3: Abbildung der Business Component ins PSM
disierte Lösung zur Beschreibung der
Modelltransformationen existiert. Auf
dem Markt vorhandene Werkzeuge setzen
folglich allesamt auf proprietären
Ansätzen zur Definition von Modelltransformationen auf.
Die Beschreibung der Modelltransformationen erfolgt in den meisten verfügbaren Werkzeugen durch die Verwendung
von Skriptsprachen oder template-basierten Ersetzungsmechanismen, was einer
Programmierung der Modelltransformationen entspricht. Weiterführende Ansätze
ermöglichen eine Modellierung der Transformationen, was der Definition eines
Metamodells für die Modelltransformationen gleichkommt.
Die CA-Werkzeugumgebung
Die Auswahl der Werkzeugumgebung für
die
Umsetzung
des
CA-Entwicklungsprozesses und der Modelltransformationen ist durch folgende Auswahlkriterien motiviert:
die Standardisierungsbestrebungen der
OMG noch nicht abgeschlossen sind und
der Markt der MDA-Werkzeuge noch
stark in Bewegung ist, verwendet die CA
einen pragmatischen Weg zur Umsetzung
des Entwicklungsprozesses mit existierenden Werkzeugen, um zeitnah die Vorteile
der modellgetriebenen Entwicklung in der
Praxis nutzen zu können.
PIM/PSM-Transformation
Die Implementierung der PIM/PSMTransformation erfolgt auf Basis eines
Metamodells, das die Abbildung der PIMElemente auf die J2EE-Plattform beschreibt und das selbst in UML modelliert
ist. PIM und PSM werden dabei unter
Verwendung von Mechanismen zur UMLProfilbildung mittels Stereotypen definiert.
Der Modelltransformator reagiert nun auf
die durch die Stereotypen identifizierbaren
Artefakte des PIMs und erzeugt die dazu
passenden PSM-Elemente, wobei jedes im
PIM definierte CA-Element die im Meta-
■ möglichst weit gehende StandardKonformität,
■ explizite Modellierbarkeit mehrerer
Abstraktionsstufen,
■ geringer Aufwand zur Implementierung eigener domänenspezifischer
Umgebungen und zur Wartung der
Abbildungsvorschriften,
■ Unabhängigkeit von Modellierungswerkzeugen und
■ Integrierbarkeit in existierende Werkzeuglandschaften und Prozesse.
Im derzeitigen Stadium der MDAInitiative sowie der auf dem Markt verfügbaren Werkzeuge sind leider nicht alle obigen Kriterien in der Praxis erfüllbar. Weil
46
47
Abb. 4: Modelltransformationen im
Entwicklungsweg der CA
modell spezifizierten PSM-Elemente
erzeugt. Die Kernelemente des UMLProfils im CASE-Tool sind in Abbildung 5
dargestellt – bei der Anwendung der
Transformation werden die entsprechenden Platzhalter der Metamodell-Elemente
durch die tatsächlichen verwendeten
Namen im PIM ersetzt.
Der PIM/PSM-Transformator ist technisch in das bei der BMW Group eingesetzte Modellierungswerkzeug „Borland
Together” integriert und erlaubt dort
sowohl die Modellierung des PIMs als
auch die Definition des Metamodells für
die Transformationen in das PSM. Um
eine weitgehende Werkzeugunabhängigkeit zu wahren, abstrahiert der Transformator-Kern von der Together-Programmierschnittstelle und erlaubt so eine
unkomplizierte Übertragung auch auf
andere UML-Werkzeuge.
PSM-Quellcode-Transformation
(Codegenerierung)
Aus der Transformation des PIM entsteht
im UML-Werkzeug ein PSM, das mit
zusätzlichen Informationen angereichert
oder verfeinert werden kann.
Die anschließende Abbildung des PSM
für J2EE auf Quellcode wird durch das
Werkzeug „xdoclet” (vgl. [XDOC]) realisiert. xdoclet ist ein Open-SourceWerkzeug zur Codegenerierung, das auf
Basis
attribut-orientierter
Programmierung für die Codegenerierung aus dem
PSM in die J2EE-Plattform und die verwendeten Applikationsserver bestens
geeignet ist. Die Attribute für die J2EEspezifische Codegenerierung werden bei
der Erzeugung des PSM durch den
PIM/PSM-Transformator bereits erstellt
und können bei Bedarf im PSM nochmals
angepasst werden. Die Transforma-
w w w. o b j e k t s p e k t r u m . d e
objekte
model driven architecture
Fokussierung auf die Implementierung
der Fachlichkeit. Die damit verbundene Erhöhung der Softwarequalität
wird grundsätzlich auch durch die
Codegenerierung gefördert, da die
Auseinandersetzung
mit
J2EEKonstrukten, wie z. B. ClientInterfaces, Deskriptoren, Anwendungsarchiven, reduziert wird.
Abb. 5: Kernelemente des CA-Metamodells
tionsregeln werden durch xdoclet-Templates gesteuert, welche die Abbildung der
xdoclet-Tags auf Quellcode definieren.
Indem die Abbildung des PSM auf die
J2EE-Plattform weitgehend stabil ist, sind
diese Templates nur sehr selten anzupassen – im Rahmen der CA wurden lediglich
marginale Anpassungen der Templates an
verwendete Applikationsserver durchgeführt.
Vorteile des CA-Entwicklungsweges
Der Vorteil der CA-Werkzeugumgebung
besteht vor allem in der einfachen und
schnellen Implementierung und Anpassung der Abbildungsregeln auf Basis der
beschriebenen Metamodellierung, die
anhand eines übersichtlichen UMLModells die Definition der PIM/PSMTransformation erlaubt. Diese Realisierung
ermöglicht
überdies
eine
Beschreibung der Transformationen ohne
die Verwendung proprietärer Skriptsprachen. Somit bleibt die implementierte
Lösung durch ihre Flexibilität auch offen
für einen potenziellen Übergang zu neuen,
standardisierten MDA-Lösungen, auch
wenn derzeit nicht alle der eingangs
genannten Forderungen durch die CAWerkzeugumgebung erfüllt werden können.
In seiner Gesamtheit betrachtet, stellt
der CA-Entwicklungsweg damit einen iterativen und teil-automatisierten Prozess
im Sinne der MDA dar. Der Mehrwert der
Modellierung von Anwendungssystemen
wird durch die automatisierte Transformation auf technische Plattformen klar
herausgestellt, was einerseits die Motivation zur Modellierung fördert und andererseits ein stets aktuelles fachliches
Modell einer Anwendung als Ergebnis liefert. Dies stellt einen essenziellen Vorteil
bei der langfristigen Betreuung und
Wartung von Systemen dar und trägt massiv zu einer nachhaltigen Modellierung
von IT-Systemen bei.
Erfahrungen und Ausblick
Die MDA ist ein viel versprechendes
Konzept für die Softwareentwicklung und
bereits heute praktisch einsetzbar. Hierfür
ist es jedoch notwendig den MDA-Ansatz
5/2004
mit pragmatischen Konzepten geeignet zu
interpretieren. So ist es heute kaum praktisch umsetzbar, fachliche Algorithmen in
Diagrammen zu modellieren, um daraus
eine vollständige Code-Generierung zu
erreichen.
Bei dem pilothaften Einsatz der CA in
Projekten der BMW Group konnten folgende Erfahrungen gemacht werden:
■ Als großer Vorteil der CA wird die einheitliche Designsprache gewertet. Mit
dem Modellierungsprofil der CA ist es
nun möglich, auch in der fachlichen
Modellierung
eine
gemeinsame
Sprache innerhalb eines Teams zu
benutzen, was den Einstieg neuer
Projektmitglieder erleichtert und insbesondere auch die verbesserte
Mitarbeit der Fachexperten ermöglicht.
■ Die Unabhängigkeit von Geschäftslogik und Technologie in Kombination
mit dem generativen Entwicklungsweg
führen zu einer deutlichen Verkürzung
der Entwicklungszeiten.
■ Die technische Umsetzung durch die
Integration in ein UML-Werkzeug vereinfacht dabei die Anwendung der
Transformationen. Durch die Trennung der Geschäftslogik von der darunter liegenden Plattform bleiben die
langlebigen fachlichen Anteile einer
Anwendung von kurzlebigen Technologien und Versionswechseln relativ
unberührt (vgl. [Eic04]).
■ Durch die Verwendung von Best
Practices und einheitlichen Transformationsregeln ergeben sich homogene
Anwendungen, die sich an konzernweit gültigen Standards orientieren.
Neben der einfacheren Testbarkeit
erleichtern einheitliche Namenskonventionen, Code- und Package-Strukturen zusätzlich die Wartung der
Systeme.
■ Expertenwissen in Form von J2EEEntwurfsmustern steht unmittelbar für
Entwickler unterschiedlicher Kenntnisstufen zur Verfügung, die Systeme
sind von Beginn an klarer strukturiert
und erlauben eine noch stärkere
Aufgrund der positiven Erfahrungen in
Pilotprojekten soll die CA in Kürze konzernweit eingeführt werden. Die Herausforderung beim weitläufigeren Einsatz der
CA besteht dabei auch in einer Änderung
der Arbeitsweise bei der Entwicklung, da
das „Denken in Modellen” sich etablieren
und die Modellierung gegenüber der Codierung an Stellenwert gewinnen muss.
In Zukunft ist außerdem eine stark verbesserte Werkzeugunterstützung für generative Lösungen zu erwarten. Dazu gehören
insbesondere
eine
verbesserte
Standardisierung der Austauschformate
von Modellen und aus Sicht der MDA
wünschenswerte Funktionalitäten , wie
z.B. Profile und Constraint-Unterstützung.
Ein hier viel versprechender Ansatz ist
die UML 2.0, da die Neuauflage der
Modellierungssprache hinsichtlich der
MDA wesentliche Verbesserungen bringt
(z.B. UML-Profile, Modellaustausch mit
XMI). Diese Entwicklungen könnten in
Zukunft dazu führen, dass die Eigenimplementierung des Transformationsprozesses durch eine Standardlösung
ersetzt werden kann. Diese Möglichkeit
wurde in der CA durch die Architektur des
Transformators so weit wie möglich
berücksichtigt.
■
Literatur & Links
[Alu01] D. Alur, J. Crupi, D. Malks, Core
J2EE Patterns – Best Practices and Design
Strategies, Sun Microsystems, 2001
[Eic04] S. Eich, E. Wagner, D. Menges,
Geschäftslogik-zentrierte Architekturen in
J2EE, in: OBJEKTspektrum 4/04
[Fow03] M. Fowler, Patterns of Enterprise
Application Architecture, Addison-Wesley,
2003
[Mil03] J. Miller, J. Mukerji (Hrsg.), MDA
Guide Version 1.0.1, OMG Dokument
omg/2003-06-01, 2003
[OMG03] Object Management Group
(OMG), MOF 2.0 Query/Views/Transformations RFP, Oktober 2003
[Völ04] M. Völter, Modellgetriebene
Softwareentwicklung, in: OBJEKTspektrum
4/04
[XDOC] xdoclet Homepage, siehe: xdoclet.
sourceforge.net
w w w. s i g s - d a t a c o m . d e

Documentos relacionados