Bitte warten
Bitte installieren Sie den Flash Player, wenn kein E-Book erscheint.
Diplomarbeit, 2004, 86 Seiten
Autor: Holger Breuer
Fach: Informatik - Programmierung
Details
Tags: Model, Driven, Architecture, Ansatz, OpenSource, Generator, AndroMDA
Jahr: 2004
Seiten: 86
Note: 1.7
Sprache: Deutsch
ISBN (E-Book): 978-3-638-28179-9
Dateigröße: 773 KB
Andere Nutzer haben sich auch für folgende Titel interessiert:
Textauszug (computergeneriert)
Private FernFachhochschule Darmstadt
Fachbereich Informatik
Diplomarbeit
Model Driven Architecture - Ein Ansatz mit dem OpenSource Generator AndroMDA
zur Integration in den Entwicklungsprozess bei der Zürich Versicherung
von:
Holger Breuer
Abgabetermin: 01.04.2004
Inhaltsverzeichnis ... II
Abkürzungsverzeichnis ... IV
Abbildungsverzeichnis ... V
1 Einleitung ... 6
2 Modellgetriebene Entwicklung ... 8
2.1 Modellgetriebene Ansätze in der Entstehung ... 9
2.2 Der modellgetriebene Ansatz der Object Management Group ... 10
2.2.1 Vorhandene Konzepte der OMG ... 10
2.2.2 Grundbegriffe der MDA ... 12
2.2.3 Modell-Transformationen ... 16
2.2.4 Zusammenfassung ... 18
3 Die Software-Infrastruktur der Zürich ... 20
3.1 ZAVA – Ein kurzer Überblick ... 20
3.2 Der modellgetriebene Ansatz der Zürich ... 22
3.3 Aktuelle Entwicklungswerkzeuge ... 24
4 AndroMDA – Ein Generator im MDA-Gewand ... 27
4.1 Die Teilkomponenten ... 28
4.1.1 Modellierung mit AndroMDA für EJBs und Struts ... 28
4.1.2 Velocity-Templates ... 29
4.1.3 XDoclet ... 30
4.1.4 Cartridges ... 31
4.1.5 Der Kern des Generators ... 32
4.2 Codegenerierung mit AndroMDA im Überblick ... 33
5 Die Referenzanwendung ... 34
5.1 Fachliche Beschreibung ... 34
5.2 Restriktionen bei der Entwicklung ... 39
5.3 Technischer Entwurf ... 41
5.3.1 Klassenmodell ... 41
5.3.2 Struts-Modell ... 47
5.4 Integration in WSAD ... 56
5.5 Möglichkeiten der funktionalen Erweiterung ... 58
5.6 Versionsvergleich der Entwicklungswerkzeuge ... 59
6 Ausblick und Bewertung ... 60
Anhangverzeichnis ... 62
Anhang A – Integration der Referenzanwendung in WSAD ... 63
Anhang B – Erläuterungen zu dem Stutsextensions-API ... 78
Anhang C – Inhaltsverzeichnis der CD ... 81
Quellenangabe ... 82
Abkürzungsverzeichnis
BMP Bean Managed Persistence
CIM Computation Independent Model
CMP Container Managed Persistence
CMR Container Managed Relationship
CORBA Common Object Request Broker Architecture
CWM Common Warehouse Metamodel
EAR Enterprise Archive
EJB Enterprise Java Bean
GUI Graphical User Interface
JAR Java Archive
JDK Java Development Kit
JNDI Java Naming and Device Context
MDA Model Driven Architecture
MDR Meta-Data Repository
MOF Meta-Object Facility
MT MerkmalTyp
MW MerkmalWert
PIM Platform Independent Model
PSM Platform Specific Model
UML Unified Modeling Language
WAR Web Archive
WSAD WebSphere Studio Application Developer
XMI XML Meta-Data Interchange
ZAVA Zürich Architektur und Verfahren
ZMT ZuordnungsMerkmalTyp
Abbildungsverzeichnis
Abbildung 1: Beispiel für ein CIM ... 12
Abbildung 2: Beispiel für ein PIM ... 13
Abbildung 3: Beispiel für ein PSM ... 14
Abbildung 4: UML-Modell für MDA-Mapping ... 16
Abbildung 5: Charon und PxGen im Einsatz ... 22
Abbildung 6: AndroMDA -Codegenerierung ... 27
Abbildung 7: Ablauf des Generierungsprozesses mit NetBeans MDR ... 32
Abbildung 8: Systemarchitektur der Referenzanwendung ... 34
Abbildung 9: Definition eines ZMT mit zugeordnetem MT und MW ... 35
Abbildung 10: Übersicht UseCases ... 36
Abbildung 11: Neuen MT anlegen - Activity Diagramm ... 39
Abbildung 12: Übersicht Klassenmodell ... 42
Abbildung 13: Client-Server Kommunikation ... 43
Abbildung 14: Struts-Modell - Überblick der Anwendung ... 47
Abbildung 15: Struts-Modell - Ablauf bei Erfassen eines neuen ZMT ... 49
Abbildung 16: Struts-Modell - BranchSubmitAction ... 54
1 Einleitung
Seit Beginn der Softwareentwicklung werden neuen Methoden, Werkzeuge und Konzepte entwickelt, die zu einer Verbesserung und Vereinfachung des Entwicklungsprozesses beitragen sollen. Früher konnten Daten direkt in Anwendungen integriert werden. Der Sourcecode stand im Mittelpunkt aller Entwicklungsaktivitäten, da hier Erweiterungen und Änderungen direkt implementiert wurden.
Durch die ständig wachsende Masse an Informationen und der stetig gesteigerten Komplexität von Aufgabenstellungen mussten Mittel gefunden werden die Daten und Funktionalität zu strukturieren und in anderer Form darzustellen.
Methoden und Ansätze wurden geschaffen, die es ermöglichen formale, grafische Notationen für die Modellierung von Anwendungssystemen zu erstellen. Zur Darstellung von objektorientierten Systemen hat die Object Management Group1 (OMG) einen Standard spezifiziert, der sich im Bereich der Modellierungssprachen durchgesetzt hat. Die Unified Modelling Language2 (UML) ist eine Notation, mit der es möglich ist die oben beschriebenen Anforderungen zu erfüllen. Mit Hilfe der UML werden andere Ansätze im Bereich der objektorientierten Modellierung vereinheitlicht und somit eine neue Abstraktionsebene der modellgetriebenen Entwicklung erreicht.
Mittlerweile steht das Modell im Mittelpunkt der Entwicklungsaktivitäten. Hierfür hat die OMG eine neue Vorgehensweise entwickelt, mit deren Hilfe es möglich sein soll komplette Anwendungssysteme zu generieren. Diese Vorgehensweise heißt Model Driven Architecture (MDA) und wird in Kapitel 2 näher erläutert.
Die Zürich Versicherung beschäftigt sich schon längere Zeit mit objektorientierten Methoden. Da neue Vorgehensweisen bei der rasanten Entwicklung des Marktes immer von Interesse sein müssen, soll auch die MDA näher betrachtet werden. Diese Arbeit soll einen ersten Überblick verschaffen, ob die MDA auch bei der Zürich zum Einsatz kommen könnte. Einen Einblick in die bestehende Softwarearchitektur der Zürich gibt Kapitel 3.
Da die OMG Spezifikationen vorgibt, liegt es an den Firmen und der Entwicklergemeinde diese entsprechend umzusetzen. In letzter Zeit sind viele Generatoren auf dem Markt erschienen, die aus Modellen von Anwendungssystemen Software-Artefakte generieren. Einer dieser Generatoren, AndroMDA, wird in Kapitel 4 betrachtet.
Diese Arbeit soll letztendlich Aufschluss darüber geben, inwiefern es möglich ist einen bestehenden Entwicklungsprozess mit einem neuem Ansatz zu erweitern. Die Integration wird anhand einer Referenzanwendung durchgeführt, welche in Kapitel 5 beschrieben wird.
2 Modellgetriebene Entwicklung
Generative Softwareentwicklung umfasst die Erzeugung von Sourcecode und anderen anwendungsspezifischen Artefakten aus einem dömanenspezifischen Modell. Durch den Einsatz eines Generators können beispielsweise Konfigurationsskripte, Sourcecode, Datenbankschemata und Deployment-Deskriptoren generiert werden. Modelländerungen führen in den meisten Fällen zu einer Neugenerierung. Dabei müssen Ergänzungen, die nach der Generierung hinzugefügt wurden, erhalten bleiben. „Custom- Code“-Blöcke, in denen z.B. die nicht im Modell enthaltene Business-Logik implementiert wird, sind hierfür unerlässlich. Diese Vorgehensweise stellt sicher, dass individuelle Ergänzungen erhalten bleiben.
Der Ansatz aus einem Modell Software generativ zu entwickeln ist keineswegs neu. Dieses Kapitel beschreibt eine ältere Methode, bei der dieser Prozess schon früher erfolgreich angewandt wurde. Anschließend wird auf die moderne Version der modellgetriebenen Softwareentwicklung eingegangen.
2.1 Modellgetriebene Ansätze in der Entstehung
Ende der 70er, Anfang der 80er Jahre haben James Martin und Clive Finkelstein eine Methode entwickelt, die sich Information Engineering Method (IEM) nennt. IEM basiert auf der Entwicklung von Softwaresystemen nach einem vorgegeben Schema bzw. Ablauf. Die Methode unterstützt den gesamten Softwareentwicklungsprozess. Alle Informationen werden in einer Entwicklungsdatenbank gespeichert. Um potenzielle Fehlerquellen frühzeitig zu erkennen werden nur in sich konsistente Daten gespeichert. Information Engineering umfasst sieben verschiedene Phasen, die sequentiell abgearbeitet werden. Der Entwickler hat keinen direkten Einfluss auf den Ablauf der Phasen.
Durch die Integration in das CASE-Tool Information Engineering Facility3 (IEF, heute unter dem Namen Advantage Gen von Computer Associates bekannt) wurde die Methode um die Möglichkeit erweitert generativ Software zu erstellen. Der Generator basiert auf einer streng strukturierten Vorgehensweise, welche Änderungen nur auf Modell-Ebene zulässt. Dadurch werden Modell und Sourcecode immer synchron gehalten. Änderungen dürfen nicht direkt im Sourcecode durchgeführt werden. Die Entwickler sind gezwungen neue Anforderungen oder Änderungen auf Modellebene durchzuführen und so die Vorteile bzw. Nachteile einer weiteren Abstraktionsebene zu nutzen.
Infolge vermehrter Modellaktivitäten im Zusammenhang mit einer damals revolutionären Methode, konnten Anwendungssysteme auf eine „neue Art“ realisiert werden. Der formalisierte Entwicklungsprozess und der modellgetriebene Ansatz führten zu einer Steigerung der Qualität, Verringerung der Kosten sowie zu einer schnelleren Einführung der Produkte. Der Generator wird auch heute noch erfolgreich vermarktet und eingesetzt.
2.2 Der modellgetriebene Ansatz der Object Management Group
Die neueste Entwicklung der OMG heißt MDA. MDA ist kein grundlegend neues Konzept. Es ist vielmehr eine Vorgehensweise oder auch Framework, welches einige Entwürfe der OMG zusammenfasst und in einem gemeinsamen Kontext betrachtet.
[....]
1 Die OMG ist ein offenes Konsortium aus über 800 Firmen weltweit. Die OMG erstellt nicht-proprietäre Lösungsvorschläge und Spezifikationen zur Verbesserung der Interoperabilität und Portabilität von (verteilten) Softwaresystemen. Vgl. hierzu auch Object Management Group, [OMG, o.J.].
2 Vgl. Fowler, [UML, 1999], ebenso OMG, [OMG-UML, o.J.].
3 Vgl. Texas Instruments, [IEF, 1990].
Kommentare
Andere Nutzer haben sich auch für folgende Titel interessiert:
Erstellen einer schriftlichen Hausarbeit
Autor: Claudia NickelHausarbeit, 2006 Als PDF-Datei downloaden für 4,99 EUR
Dieser Text kann über folgende URL aufgerufen und zitiert werden:
Bisher keine Kommentare