24.02.2013 Aufrufe

MODELLGETRIEBENE ARCHITEKTUR IN EINEM J2EE ... - OXSEED

MODELLGETRIEBENE ARCHITEKTUR IN EINEM J2EE ... - OXSEED

MODELLGETRIEBENE ARCHITEKTUR IN EINEM J2EE ... - OXSEED

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Bemerkungen zum<br />

Entwicklungsprozess<br />

Das Bausparsystem wird innerhalb eines<br />

Rational Unified Process (vgl. [Kru98])<br />

iterativ entwickelt. Einer Analysephase<br />

schließt sich innerhalb der Iterationen eine<br />

Designphase an, die von der Implementierung<br />

nicht scharf abzutrennen ist. Das<br />

Klassenmodell der Anwendungsfälle wird<br />

entworfen und sukzessive mit den<br />

Konfigurationsparametern für die Codegenerierung<br />

versehen. Parallel dazu werden<br />

die ersten Komponenten generiert und<br />

getestet. Für den Anwendungsentwickler<br />

bedeutet das Arbeiten in dieser Umgebung<br />

neben dem Implementieren auch stets<br />

Bearbeiten des Modells und Generieren<br />

der betroffenen Artefakte.<br />

Das UML-Modell und die Generierungsschablonen<br />

werden mit den Java-<br />

Quellen unter dem Concurrent Versions<br />

System (CVS) versioniert. Die COBOL-<br />

Quellen werden auf dem Großrechner in<br />

einem eigenen Verwaltungssystem gepflegt<br />

und bearbeitet. Modellierung, Generierung<br />

und Java-Entwicklung werden auf<br />

Arbeitsplatzrechnern unter Windows NT<br />

durchgeführt. Der Generator arbeitet<br />

dabei immer auf dem aktuellen Stand der<br />

Java-Quellen, wodurch die Übernahme<br />

der geschützten Bereiche in neue Generate<br />

sichergestellt ist. Um die COBOL-Quellen<br />

automatisiert erzeugen zu können, wurde<br />

ein FTP-Client in den Generator integriert,<br />

der für jedes Generat die aktuelle Quelle<br />

aus der Großrechnerumgebung transferiert<br />

und im Falle einer Aktualisierung die<br />

geänderte Quelle wieder zurücküberträgt.<br />

Während die Konsistenz und die<br />

Lauffähigkeit des Quellcodes nächtlich<br />

durch automatisiertes Übersetzen und<br />

objekte<br />

modellgetriebene architektur<br />

Abb. 5: Übersicht der verschiedenen Versionen und Modi der Beratungsanwendung<br />

und deren Datenhaltung<br />

Packen der Java-Quellen und durch<br />

Protokollieren der Entwicklertests überprüft<br />

werden, setzen wir in der Konsistenz<br />

von Modell, Generierungsschablonen und<br />

Quellen auf die Disziplin des Entwicklerteams<br />

und führen Generierungen des gesamten<br />

Modells nur vor definierten<br />

Release-Ständen durch.<br />

Fazit<br />

Die beschriebene Architektur des neuen<br />

Bausparsystems wurde anhand eines<br />

Prototyps, der einem Last- und Performanztest<br />

unterzogen wurde, erfolgreich<br />

erprobt. Seit Mitte 2001 hat der modellgetriebene<br />

Ansatz seine hohe Effizienz innerhalb<br />

der ersten Iterationsphasen unter<br />

Beweis gestellt; die ersten Anwendungsteile<br />

gehen in diesem Jahr in Produktion.<br />

Durch die Konzentration auf die<br />

Umsetzung der Fachlogik ereichen wir<br />

eine hohe Produktivität, die zusätzliche<br />

Aufwände zur Administration des relativ<br />

komplexen Entwicklungsprozesses um ein<br />

Vielfaches überwiegt. Als besonders hilfreich<br />

hat sich die Verbindung unserer<br />

heterogenen Systemlandschaft über die<br />

Codegenerierung aus einem gemeinsamen<br />

Modell herausgestellt, wodurch nicht nur<br />

COBOL- und Java-Entwicklung stets konsistent<br />

gehalten werden, sondern auch das<br />

wichtige einheitliche Verständnis der<br />

Architektur bei den verschiedenen Entwicklergruppen<br />

herbeigeführt und dadurch<br />

die Zusammenarbeit entscheidend<br />

verbessert wurde. Indem wir die Pflege der<br />

Generierungsschablonen in den Entwicklungsprozess<br />

einbeziehen, beugen wir der<br />

möglichen Gefahr vor, Design und<br />

Implementierung zu stark an ihnen auszurichten<br />

und daran zu binden.<br />

Durch das weitgehende Freihalten des<br />

Kernmodells von technischen Details, die<br />

in den Generierungsschablonen gepflegt<br />

und in speziellen Eigenschaftsleisten konfiguriert<br />

werden, erreichen wir die<br />

Offenheit, auf die in steter Weiterentwicklung<br />

begriffene Technologie-Landschaft<br />

flexibel eingehen zu können. Diese Offenheit<br />

kommt insbesondere an den<br />

Schnittstellen zwischen den Plattformen<br />

und zu Datenbanken zum Tragen, da hier<br />

die programmatische Umsetzung umfassend<br />

generiert wird. So sind Änderungen<br />

am Transport-Protokoll – z. B. eine Umstellung<br />

auf SOAP – durchaus möglich, da<br />

nur wenige Frameworkklassen und Generierungsschablonen<br />

umzustellen wären<br />

und der ständig anwachsende, abhängige<br />

Quellcode vollständig generiert wird.<br />

Mit unserem Architekturstil und seiner<br />

Orientierung an der Model Driven Architecture<br />

haben wir eine wichtige<br />

Weichenstellung für die Weiterentwicklung<br />

unserer unternehmenskritischen DV-<br />

Systeme gelegt und glauben, ein interessantes<br />

Beispiel der Integration eines<br />

COBOL-Großrechner-Systems in webbasierte<br />

Anwendungen zu bieten. ■<br />

Literatur & Links<br />

[Apa02] Apache Software Foundation,<br />

Struts: Open source framework for building<br />

Web applications (siehe: http://jakarta.<br />

apache.org/struts)<br />

[Gam95] E. Gamma, R. Helm, R. Johnson,<br />

J. Vlissides, Design Patterns, Addison-<br />

Wesley 1995<br />

[hsq02] The hsqldb Development Group,<br />

HSQL database engine (siehe http://hsqldb.<br />

sourceforge.net)<br />

[IOS02] Interactive Objects Software<br />

GmbH, ArcStyler: Architectural IDE for<br />

Model Driven Architecture (siehe: http://<br />

www.io-software.com)<br />

[Koc02] T. Koch, „Model Driven<br />

Architecture”: eine Einführung, in:<br />

OBJEKTspektrum 2/2002<br />

[Kru98] P. Kruchten, The Rational Unified<br />

Process, John Wiley & Sons 1998<br />

[Maa02] Maas High Tech Software GmbH,<br />

XML4cobol: Werkzeug zur Generierung<br />

von COBOL-Modulen, die XML auf<br />

COBOL-Strukturen abbilden (siehe: http://<br />

xml4cobol.com)<br />

[Sun02] Sun Microsystems, Sun Java<br />

Center <strong>J2EE</strong> Patterns (siehe http://developer.<br />

java.sun.com/developer/technicalArticles/<br />

<strong>J2EE</strong>/patterns)

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!