MODELLGETRIEBENE ARCHITEKTUR IN EINEM J2EE ... - OXSEED
MODELLGETRIEBENE ARCHITEKTUR IN EINEM J2EE ... - OXSEED
MODELLGETRIEBENE ARCHITEKTUR IN EINEM J2EE ... - OXSEED
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)