Melden Sie sich hier an, um auf Kommentare und die Whitepaper-Datenbank zugreifen zu können.

Kein Log-In? Dann jetzt kostenlos registrieren.

Falls Sie Ihr Passwort vergessen haben, können Sie es hier per E-Mail anfordern.

Der Zugang zur Reseller Only!-Community ist registrierten Fachhändlern, Systemhäusern und Dienstleistern vorbehalten.

Registrieren Sie sich hier, um Zugang zu diesem Bereich zu beantragen. Die Freigabe Ihres Zugangs erfolgt nach Prüfung Ihrer Anmeldung durch die Redaktion.

01.08.2003 - 

Version 3.0 von Optimal J arbeitet mit Modellen und Patterns

Compuware vereinfacht die Java-Entwicklung

MÜNCHEN (as) - Compuware stellt Version 3.0 der Entwicklungsumgebung "Optimal J" vor. Sie dient der modellgetriebenen und patternbasierenden Generierung von mehrschichtigen Anwendungen gemäß der Java 2 Enterprise Edition (J2EE) und soll die Komplexität von Java-Projekten reduzieren helfen.

Optimal J zählt zu den Entwicklungswerkzeugen, die anders als klassische, codezentrierte Programmierumgebungen (IDE= Integrated Development Environment) wie "Jbuilder" oder "Websphere Studio Application Developer" den Ansatz verfolgen, einen Großteil des Quellcodes mit Hilfe von Anwendungsmodellen automatisch zu generieren. Laut Einschätzung von Marktbeobachtern gibt es mittlerweile über 40 solche Produkte. Das Gros stellen reine Modellierungswerkzeuge, mit denen die Anforderungen mit Hilfe des De-facto-Standards Unified Modeling Language (UML) grafisch darzustellen sind und sich das "Grundgerüst" einer Anwendung generieren lässt, die anschließend mit Hilfe anderer Tools weiter ausprogrammiert werden muss.

Designumgebungen wie Optimal J, der "Arcstyler" von Object International oder auch "Rational XDE" von Rational gehen indes in ihrem Funktionsumfang einen Schritt weiter und wollen eine durchgängige modellgetriebene Anwendungsentwicklung erlauben. Ziel ist es, die Vorgaben einer "Model Driven Architecture" (MDA) zu erfüllen, die das Industriekonsortium OMG derzeit spezifiziert. Dabei geht es um das Design von Anwendungsmodellen als konsistente (wiederverwendbare) Vorlagen, aus denen sich plattformspezifische Modelle ableiten lassen, aus denen dann wiederum ein Großteil des Codes generiert werden kann (siehe CW 5/02, Seite 20).

Ausgangspunkt Domänenmodell

Optimal J, das derzeit nur zur Generierung von J2EE-Anwendungscode dient, will indes nicht nur dem MDA-Konzept entsprechen, sondern Entwickler durch mitgelieferte Patterns, die Nutzung von Regeln sowie eine Reihe von Tools und Optionen bei der Umsetzung unterstützen. Ausgangspunkt ist aber zunächst der Entwurf eines abstrakten Domänenmodells mit UML, deren vielfältige Notationen und Diagrammtypen jedoch nicht im vollen Umfang implementiert wurden. Zudem ist es möglich, bereits vorhandene UML-Modelle aus anderen Werkzeugen zu importieren, sofern sie als XMI-Datei formatiert sind, sowie relationale Datenbankmodelle über JDBC einzubringen und dann in das Domänenmodell zu konvertieren.

Aus diesen Vorgaben lässt sich das konkrete Anwendungsmodell erzeugen (mappen). Dieses enthält in Version 3.0 als Submodell die Spezifikationen von J2EE 1.3 einschließlich Enterprise Javabeans 2.0, ein Persistenzmodell, die Web-Präsentationsschicht sowie ein Integrationsmodell (Schnittstellen) für Technologien wie Web-Services, Corba-, Java- und Cics-Cobol-Programme sowie jetzt auch IMS. Erst aus diesem Anwendungsmodell werden dann automatisch JAR- beziehungsweise EAR-Archive generiert.

Als Besonderheit von Optimal J können bei der Überführung des Domänenmodells eine Sammlung praxiserprobter Programmier- und Architekturvorgaben (Patterns) helfen. Sie untergliedern sich in "Implementation Patterns" (Codeerzeugung) und "Technology Patterns", wobei sich laut Andreas Herzig, Java Solutions Manager Central Europe bei Compuware, nun auch Letztere mit Version 3.0 editieren lassen. Da das Domänenmodell das dynamische Verhalten eines Java-Systems nur bedingt über Patterns abbilden kann, lassen sich für das Anwendungsmodell zudem Regeln in Java definieren und über eine Bibliothek verwalten.

Weil Optimal J in erster Linie den Technologiecode für eine mehrschichtige Web-Anwendung generiert, müssen Entwickler nachträglich die Geschäftslogik schreiben oder anpassen. Hierzu sind von Haus aus Werkzeuge wie "Netbeans" und "CVS" sowie die quelloffenen Java-Server "Jboss" und "Jonas" als Umgebungen für Funktionstests enthalten. IDEs wie Jbuilder sowie ab Version 3.0 das "Sun One Studio" und Websphere Studio Application Developer lassen sich über Plugins einbinden. Um die Konsistenz der Modelle jedoch nicht zu gefährden, lässt sich nur Geschäftslogik nachbearbeiten, während alle Änderungen in Optimal J erfolgen müssen.

Vergleich spricht für MDA-Ansatz

Compuware richtet sich mit seinem Produkt in erster Linie an Entwickler, denen eine umfassende Kenntnis von J2EE fehlt oder die sich einen Produktivitätsgewinn und stabilere Anwendungen versprechen. Um dies zu belegen, hat die renommierte IT-Site "The Middleware Company" jetzt im Auftrag von Compuware einen Vergleich zwischen der herkömmlichen J2EE-Entwicklung mit Jbuilder und dem MDA-Ansatz mit Optimal J veröffentlicht und kam zu dem Ergebnis, dass Letzteres nicht zuletzt durch den Einsatz der Technology Patterns einen Produktivitätsgewinn von 35 Prozent brachte.

Abb: Patterns reduzieren Programmieraufwand

Optimal J generiert mit Hilfe von Patterns aus Anwendungsmodellen Java-Code. Quelle: Compuware