Entlastung für 9i-Application-Server-Entwickler

Oracle-Cartridge generiert Java-Code

22.08.2003
MÜNCHEN (CW) - Die Freiburger Firma Interactive Objects, Hersteller der Entwicklungsumgebung "Arcstyler", und Opitz Consulting aus Gummersbach bieten eine "MDA-Cartridge für Oracle 9i AS" an. Sie erlaubt die auf der Model Driven Architecture basierende Entwicklung von Java- und J2EE-Anwendungen für Oracles Application Server.

Die Model Driven Architecture (MDA) ist ein Standard der Object Management Group (OMG), dessen zentrales Ziel es ist, architekturgetriebene und weitgehend plattformneutrale Modelle von Anwendungen zu erstellen. Diese sollten sich dann zum großen Teil automatisch in die gewünschte Implementierung überführen lassen. Entwickler beschreiben dabei zunächst unabhängig von einer bestimmten Softwaretechnik ein abstraktes Modell, das die gestellte Aufgabe möglichst genau abbildet. Diese fachlogische Ebene ist von der Implementierung weitgehend getrennt, die Anwendung wird erst zum spätestmöglichen Zeitpunkt in eine entsprechende Technik überführt.

Grundlage ist ein abstraktes Modell

Bei der konventionellen Softwareentwicklung ist die Transformation zwischen den Phasen Anforderungsanalyse, Design und Implementierung aufwändig und verlustbehaftet. Beim MDA-Konzept dagegen stellt die Transformation auf eine konkrete Plattform im Wesentlichen nur eine Erweiterung und Detaillierung des einheitlichen abstrakten Systems dar. Durch die Möglichkeiten der MDA, Code aus einem stabilen Modell abzuleiten beziehungsweise automatisch zu generieren, erreicht man eine sehr hohe Flexibilität und Stabilität der IT-Systeme.

Für Oracle-Umgebungen war laut Opitz-Geschäftsführer Rolf Scheuch die Umsetzung des MDA-Konzepts lange Zeit nicht möglich. Um diese Lücke zu schließen, entwickelte das Consulting-Unternehmen gemeinsam mit Interactive Objects die Arcstyler-Cartridge für Oracles Applikations-Server "9i AS". Sie soll in Projekten zum Einsatz kommen, wo es typischerweise um Enterprise-Anwendungen geht, also um große Systeme, die objektorientiert etwa in Java beziehungsweise auf Komponentenbasis (EJB, J2EE, Corba etc.) erstellt werden.

Als Beispiel nennt Scheuch Unternehmen, die einen Application Server austauschen und etwa von Bea auf Oracle wechseln wollen. Da die Logik der Anwendung im Code liegt, musste bei einem solchen Austausch in der Vergangenheit meist das gesamte Programm neu geschrieben werden. Natürlich kann sofort mit der manuellen Migration einer Anwendung begonnen werden. Laut Andreas Esslinger, Marketing Manager bei Interactive Objects, stellt sich dieser Ansatz jedoch häufig als sehr zeitaufwändig heraus. Spezifisches Wissen zum Application Server sei nötig, und der gesamte Prozess der Migration sei kaum reproduzierbar.

Wenn man den Applikations-Server austauscht

Mit Arcstyler sollen sich große Teile der Migration automatisiert betreiben lassen, was besonders umfangreichen Projekten zugute kommt. Der bestehende Quellcode wird automatisch eingelesen und mit Arcstyler in ein auf der Unified Modeling Language (UML) basierendes Modell umgesetzt. Auf dieser Abstraktionsebene kann dann bei Bedarf noch ein Refactoring der Anwendung erfolgen. Auf der Grundlage des UML-Modells wird dann die J2EE-Anwendung für den neuen Application Server generiert.

Das Generieren von Software über Cartridges für bestimmte Applikations-Server stellt den größten Automatisierungsschritt dar. Hier ist hinterlegt, wie ein nach dem MDA-Ansatz erstelltes Softwaremodell auf eine konkrete Implementierungsplattform abgebildet werden soll. Arcstyler generiert laut Anbieter dann fertige Komponenten für die gewählte Plattform, das heißt angepasste Enterprise Javabeans mit allen Klassen, Interfaces, Exceptions und Dependent Values sowie inklusive aller Methoden und Konfigurationen zur Codeausführung innerhalb des Applikations-Servers.

Der über die Cartridges erzeugte Quellcode muss vom Entwickler noch manuell um die Geschäftslogik erweitert werden. In jeder Datei erstellt Arcstyler "Protected Areas", also Bereiche, die vor einem Überschreiben im Fall eines erneuten Generierens geschützt sind. Durch das neutrale "Backup" im Hintergrund entsteht keine Abhängigkeit von einem Plattformhersteller.

MDA-Enabling für bestehende Applikationen

Ferner ist es laut Opitz und Interactive Objects möglich, über die Migration des Applikations-Servers hinaus auch bestehende Applikationen und Frameworks durch ein so genanntes MDA-Enabling einzubinden. Dies erfolgt über ein Parsing bestehender Java-Archive und -Sourcen, um daraus automatisch UML-Modelle abzuleiten.

Die Trennung von Logik und Implementierung bietet auch Vorteile, wenn ein Unternehmen Änderungen und Anpassungen innerhalb einer Anwendung vornehmen will. Statt auf Code- kann dies auf Modellebene erfolgen. Dieser um einen Abstraktionsgrad höhere Level liefert eine bessere Übersicht - Änderungen sind dadurch einfacher. (ue)