Entwicklung mit Java und .NET nicht nur für Spezialisten

Programmier-Tools verbergen ihre Technik

09.08.2002
MÜNCHEN (as) - In den Markt für Entwicklungsumgebungen kommt Bewegung. Neue Angebote sollen den kompletten Lebenszyklus einer Software unterstützen und Programmierer von der Komplexität heutiger Techniken abschirmen. Die Butler Group hat sich in einer Studie elf sehr unterschiedliche Produkte näher angeschaut.

Entwickler müssen nicht nur unter einem enormen Zeit- und Kostendruck arbeiten, sondern sich auch immer größeren technischen Herausforderungen in den Projekten stellen. Da inzwischen vielschichtige und verteilte Systemarchitekturen vorherrschen, sind über das reine Programmieren hinaus ein Verständnis für Analyse und Design, umfangreiche Tests der künftigen, möglichst leicht wartbaren Anwendung sowie Teamarbeit erforderlich. Parallel dazu steigt die technische Komplexität, weil neue Software heute vorzugsweise mit Hilfe der anspruchsvollen und umfangreichen Programmiermodelle Java 2 Enterprise Edition (J2EE) und Microsoft .NET erstellt werden soll. Zusätzliche Standards für Beschreibung, Speicherung und Austausch von Daten, die auf der Extensible Markup Language (XML) basieren, lassen die Lernkurve ansteigen. So erwarten Analysten, dass die viel diskutierten Web-Sevices einen festen XML-Bestandteil der Softwareentwicklung bilden werden.

Tools zentral verwalten und nutzen

Die veränderten Rahmenbedingungen und die zunehmende Komplexität der Technologien und Aufgaben bei der Softwareentwicklung haben das Angebot und die Vielfalt an Programmierwerkzeugen in den letzten Monaten steigen lassen. Dabei gewinnt laut einer aktuellen Studie der Butler Group das (alles andere als neue) Konzept eines Integrated Development Environment (IDE) an Bedeutung und werde breite Akzeptanz in IT-Abteilungen finden. Grund hierfür ist, dass die IDE verspricht, die benötigten Tools für die Softwareentwicklung gebündelt, integriert und zentral verwaltet bereitzustellen sowie zahlreiche Aufgaben und die Codegenerierung stärker zu automatiesieren (siehe Kasten "Was eine IDE leistet").

Allerdings sei seitens (geübter) Entwickler mit Widerstand zu rechnen, die der Qualität des mit der IDE erstellten Codes misstrauen und es weiter vorziehen, für ihre Arbeit Tools verschiedener Provenienz einzusetzen (Best of Breed). Butler warnt Unternehmen jedoch davor, diesem Treiben länger zuzuschauen. IT-Abteilungen sollten bei der Tool-Auswahl den langfristigen Nutzen für die eigene Geschäftsstrategie vor Augen haben und sich nicht den kurzfristigen Vorlieben einzelner Mitarbeiter unterwerfen. IDEs bewahren und erhöhen trotz der geschilderten Komplexität von Anwendungen die Produktivität des Entwicklers. Selbst wenn diese Aufgaben sich auch über eine Best-of-Breed-Lösung abdecken ließen, so Butler, sei die hier favorisierte IDE bequemer und schneller zu nutzen.

Zur Risikioverringerung, aus finanziellen Gründen sowie aus Zeit- und Ressourcenmangel sollte ein Projekt nicht von einzelnen Experten abhängen, sondern auch weniger erfahrenen Mitarbeitern den Einstieg in die Entwicklung und Wartung mit J2EE, .NET oder Web-Services ermöglichen. Tool-Hersteller haben in den letzten Monaten auf diese Anforderungen reagiert, so dass nun bestehende und neue Produkte vor allem eine immer mehr modellgetriebene und grafisch orientierte Entwicklung und weitgehend automatisierte Generierung von Software erlauben und den durchschnittlich begabten Programmierer von den technischen Details abschirmen.

Vielfalt der Werkzeuge nimmt zu

Die in der Butler-Studie getesteten Produkte reichen vom reinen Modellierungswerkzeug bis hin zu Werkzeugsammlungen eigener und zugekaufter Produkte, die Anbieter als "Suiten" vermarkten. Kaum ein Hersteller kann indes derzeit eine IDE für den gesamten Softwarelebenszyklus aus einer Hand bieten, und auch bei der Integration der Produkte hapert es oft noch. Die Entwicklungsumgebung entsteht daher meistens über offene Schnittstellen und Frameworks zu anderen Produkten, oder aber die eigenen Tools decken nicht alle Anforderungen ab. Ein Ranking der Produkte anhand einer umfangreichen Feature-Tabelle sowie von sieben Hauptkriterien kommt dementsprechend zu jeweils sehr unterschiedlichen Gewinnern (siehe Tabelle Seite 17).

Viel Kritik übten die Analysten am Enterprise Studio for Java, Version 3, von Borland. Obwohl bei der Bewertung technische Features im Vordergrund standen, kamen sie nicht umhin, die Upgrade-Politik des Herstellers zu bemängeln, da sie "ein echter Nachteil für Kunden" sei. So kostet eine aktualisierte Ausgabe mehr als 60 Prozent des ursprünglichen Preises und habe zudem nur eine kurze Lebensspanne, da Borland durchschnittlich alle vier bis fünf Monate ein neues Upgrade herausbringt.

Technisch betrachtet sei aber das Kernprodukt der Suite, "Jbuilder 6", ohne Frage die derzeit populärste Java-IDE auf dem Markt und biete außergewöhnlich nützliche und zahlreiche Features zur Steigerung der Produktivität, guten Support für Patterns sowie Wizards. Die Integration zwischen der IDE, dem hauseigenen Java-Applikations-Server, dem Modellierungswerkzeug "Rational Rose Professional J Edition" und der Methode "Rational Unified Process" sei indes ungenügend. So müssten Benutzer beispielsweise jedes Produkt umständlich immer wieder einzeln aufrufen und laden. Weiter bemängelt die Studie, dass die angebotenen Code-Templates sich nicht an die Bedürfnisse der Anwender anpassen oder neu erstellen ließen. Solche Templates sollen die Produktivität von Entwicklern verbessern, indem sie gekoppelt an Patterns Codegerüste automatisch erzeugen können. Ungenügend seien die angebotenen Funktionen für das Testen von Software, da damit keine Performance-Tests möglich sind.

Compuware will mit Optimal J einen einfacheren Einstieg in die J2EE-Programmierung erlauben. Das Produkt setzt auf die Modellierung mit UML sowie automatisierte Generierung von lauffähigem Code mit Hilfe von Patterns und vordefinierten Regeln ohne zusätzlichen Programmieraufwand. Allerdings ist die Open-Source-IDE "Netbeans" integriert, da es ganz ohne Tuning und Feinabstimmung des Codes dann doch nicht geht. Compuware könnte laut Butler mit seinem modernen, aber für viele Entwickler gewöhnungsbedürftigen Ansatz ins Hintertreffen geraten, da mittlerweile auch die "traditionellen" Anbieter im Java-Lager wie Borland und Oracle ihre IDEs um Funktionen für die automatische Codegenerierung aufrüsten. Zudem sind sowohl die Möglichkeiten für Tests als auch der UML-Support von Optimal J derzeit noch begrenzt.

IBM setzt auf Partnerschaften

IBM machte im November 2001 auf sich aufmerksam, als der Hersteller nach jahrelanger Forschung und 40 Millionen Dollar Investitionen das Framework Eclipse vorstellte und es der Open-Source-Gemeinde überließ. Eclipse soll bisher disparate Tools für die Java-Entwicklung verknüpfen und bietet eine Reihe von einfachen IDE-Tools sowie eine proprietäre Benutzeroberfläche. Als "Websphere Studio Workbench" ist es zudem Teil des IBM-Portfolios und stellt mittlerweile die Basis seiner Java-Entwicklungswerkzeuge wie der Werkzeugsammlung Websphere Studio. Letztere erfüllt laut Studie die grundlegenden Aufgaben einer IDE, ist gut zu konfigurieren und bietet eine exzellente Testumgebung, jedoch schwache Pattern-Unterstützung. Zudem nutzt es nicht die im hauseigenen Application Server "Websphere" enthaltenen Integrationstechniken. Die Suite bietet im Vergleich zur Borland-Werkzeugsammlung zwar weniger Funktionen "out of the box", lässt sich aber über mindestens 30 geplante Plugins durch Tools anderer Hersteller vervollständigen, deren Produkte dann jedoch mit Zusatzkosten zu Buche schlagen. Unter ihnen findet sich auch Borlands Jbuilder. Butler erwartet, dass IBM das Websphere Studio in erster Linie an Websphere-Kunden verkaufen kann und daher von Eclipse nicht in darüber hinausgehendem Maße profitieren wird.

Vom Modell zur Anwendung

Interactive Objects als weiterer Kandidat kann laut Butler mit dem Arcstyler ein "gut durchdachtes Produkt" anbieten, das in sich viel Praxiserfahrung aus der Modellierung und Softwareentwicklung vereint und künftig voll auf den MDA-Standard der OMG baut. Der Hersteller bezeichnet es als "Architectural IDE" und erhielt von Butler die insgesamte höchste Punktzahl. Daher hier kurz seine Funktionsweise: Zunächst wird die Fachlogik eines Softwaresystems mit UML modelliert. Dieses plattformunabhängige Modell wird dann in mehreren automatisierten Transformationsschritten um die technischen Details für die Implementierungsplattform(en) erweitert und in Modelle unterschiedlicher Abstraktionsgrade überführt.

Auf dieser Basis werden schließlich Code und Infrastruktur für das gesamte System einschließlich Web-Clients und Services, Deployment und Testinfrastruktur erzeugt. Alle Transformationsschritte unterstützt der Arcstyler durch semi- oder vollautomatische Generierung. Als Automatisierungs-Engine verwendet das System "Cartridges", die das Wissen um die plattformspezifischen Technologiedetails enthalten. Dies ermöglicht unterschiedlichen Entwicklungsteams, verifizierbare, präzise und kompatible Designs zu erstellen und sich auf die Umsetzung der Fachlogik zu konzentrieren zu. Für diese manuellen Arbeiten wurde Borlands Jbuilder in das Angebot integriert. Eine Herausforderung für den Freiburger Hersteller wird es sein, codeorientierte Entwickler für den Arcstyler zu erwärmen. Zudem ist der MDA-Standard noch wenig verbreitet, dürfte sich aber laut Butler angesichts seiner Bedeutung schon bald etablieren.

Eine Sonderstellung nimmt Macromedia ein. Dessen Tools sind in der GUI- und Web-Entwicklung zu Hause. Die geteste Suite Dreamweaver MX ist daher nicht wie die übrigen IDEs für die Entwicklung komplexer Backend-Anwendungen konzipiert und auch nicht für größere Projektteams geeignet, da unter anderem Features für die Versionskontrolle fehlen. Andererseits kann der Entwickler neben Websites auch Internet-Anwendungen entwerfen, erstellen und verwalten, erhält visuelle Layoutwerkzeuge (allerdings keinen GUI-Wizard) sowie umfassende Unterstützung bei der Codebearbeitung.

Eine Erfolgsstory sieht Butler für Microsofts IDE Visual Studio .NET voraus. Die hier näher betrachtete "Enterprise Architect Edition" richtet sich an professionelle Entwickler. In ihren Kernfunktionen übertraf die IDE "problemlos" sowohl ihre Konkurrenten aus dem Java-Lager als auch andere Entwicklungsumgebungen. So erlaubt sie als einzige die Arbeit mit diversen Programmiersprachen und kann anders als Java-IDEs bereits mit nativem Support für Web-Services aufwarten.

Zu den starken Features zählen laut Untersuchung solche zur Steigerung der Produktivität (dynamische Hilfefunktionen, Codevervollständigung, Syntax-Highlighting) sowie die Testumgebung "Application Test Center". Letztere erlaubt eine umfassende Überprüfung (Skalierbarkeit, Performance, Funktion) von Anwendungskomponenten vor ihrem Einsatz. Andererseits existieren Beschränkungen. So ist die Suite nur für die Windows-Plattform konzipiert und bietet beispielsweise keine Möglichkeiten für ein Refactoring (Neugestaltung von Paket- und Klassenstrukturen). Ferner ist die Modellierung mit Hilfe des beigelegten Tools "Visio" limitiert, da nur wenige UML-Standarddiagramme angeboten werden und ein Round-trip-Engineering zwischen Code und Modell nicht möglich ist. Allerdings besteht dank der Schnittstelle zum Modellierungswerkzeug "Rational XDE" Abhilfe.

Testkandiat Oracle konnte seine Enwicklungswerkzeuge bisher vor allem unter der eigenen Kundschaft vertreiben. Laut der Studie decken die in der Oracle 9i Developer Suite vereinten Tools nicht den gesamten Lebenszyklus ab und liegen im Vergleich zur Borland-Suite oder Togethersoft weit hinter dem Standard zurück. Daran ändern auch die vielen Wizards und gute Verwaltungsoptionen nichts. Die einzelnen Bestandteile sind nur lose miteinander gekoppelt und müssen bei Bedarf einzeln geladen werden. Auch unterstützt die in der Suite enthaltene Java-IDE "Jdeveloper" keine Patterns und Modelle, wenn auch mit dem "Designer" ein mit begrenzter Funktionalität ausgestattetes UML-Modellierungs-Tool vorhanden ist.

Rational spielt in zwei Programmierwelten mit

Die Firma Rational ist gleich mit zwei Produkten vertreten: der Rational XDE V2002, Microsoft .NET Edition und Rational XDE V2002, Java Platform Edition. Beide basieren auf dem marktführenden UML-Modellierungswerkzeug "Rational Rose" und sind Erweiterungen zu den Entwicklungsumgebungen von Microsoft und IBM, wodurch sich deren Einsatzgebiet stark einschränkt. Eine besondere Stärke der beiden Rational-Produkte gegenüber der Konkurrenz liegt laut Butler in den vielfältigen Einsatzformen und der Möglichkeit der Speicherung von Patterns bei der Modellierung. Ein Schwachpunkt ist, dass in der .NET-Ausgabe ein Reverse-Engineering nur mit Anwendungscode in Microsofts Programmiersprache C# funktioniert.

Togethersoft schließlich ist ebenfalls für seine sehr guten UML-Modellierungswerkzeuge bekannt und leistet auch für die Arbeit mit Patterns (nicht aber für Geschäftsregeln) umfassenden Support. Anders als Interactive Objects bietet der Hersteller in seinem Produkt Controlcenter eine eigene IDE. Diese lässt sich als Besonderheit sowohl mit J2EE als auch .NET einsetzen, enthält für die Arbeit mit beiden Programmiermodelle zusätzliche Tools und unterstützt laut Studie den gesamten Lebenszyklus der Software. Die Konkurrenz sollt sich diesen Ansatz zum Vorbild nehmen, und nicht länger nur für eine Plattform entwickeln, fordert Butler.

Studie

In der Studie "Application Development Environments. Understanding the Revolution in Software Development" hat die Butler Group elf marktrelevante Entwicklungsumgebungen untersucht:

-"Visual Studio.NET, Enterprise Architect Edition", Microsoft,

-"Enterprise Studio for Java 3", Borland,

-"Optimal J", Compuware,

- "Websphere Studio 4.0.3", IBM,

- "Oracle 9i Developer Suite", Oracle,

- "Dreamweaver MX", Macromedia,

- "Arcstyler 2.7", Interactive Objects,

-"Controlcenter", Togethersoft,

- "Rational XDE V2002, Microsoft .NET Edition", Rational Software,

- "Rational XDE V2002, Java Platform Edition", Rational Software sowie

- "Webgain Studio 7.0", Webgain.

Die Bewertung basiert auf Gesprächen mit zehn der elf Anbieter sowie einem umfangreichen Produktvergleich. Geprüft wurden die Entwicklungsumgebungen auf ihre Kernfunktionen, Features zur Steigerung der Produktivität, Modellierungs- und Konfigurationsoptionen, Systemverwaltung und Support, Integration mit anderen Produkten sowie Unterstützung für das Deployment der Software. Zusätzlich wurde eine umfangreiche Feature-Liste zur Beurteilung hinzugezogen, die in der Studie abgebildet ist.

Auf die Angaben zur Firma Webgain hat die COMPUTERWOCHE verzichtet, da das Unternehmen sein Tool-Geschäft vor kurzem aufgegeben hat. Ferner ist zu beachten, dass zahlreiche andere Tools nicht in den Vergleich aufgenommen wurden. Kenner der Szene vermissen Produkte wie Sun One Studio von Sun Microsystems sowie Weblogic Workshop von Bea Systems.

Bezug: Butler Group

Europa House, 184 Ferensway, Hull, East Yorkshire, HU1 3UT, Großbritannien.

Was eine IDE leistetIntegrierte Entwicklungsumgebungen (IDE) bestehen im Kern aus einer Programmierumgebung mit Text-Editor, Debugger und Compiler. Um diese herum lagern sich Tools und Techniken, die den Entwickler produktiver machen und die Codegenerierung immer weiter automatisieren. Hierzu zählen grafische Arbeitsumgebungen samt Komponentenpaletten für die Gestaltung von Benutzeroberflächen und Anwendungen oder die allgegenwärtigen "Wizards", die zahlreiche Arbeitsschritte abnehmen. Zusätzlich sollten laut Butler auch die vielfältigen Typen von "Patterns" zum Einsatz kommen, da diese dokumentierte Lösungen zu gängigen Problemen bei der Programmierung enthalten.

Eine IDE kann über Plugins weitere Tools einbinden, sollte eine umfassende Testumgebung bieten, sich für die spezifischen Anforderungen im Projekt konfigurieren lassen, dessen Programmierstandards kontrollieren können sowie die Entwickler von der Verwaltung des Quellcodes (Dokumentation, Check in/Check out, Versionskontrolle etc.) befreien. Den oft komplizierten Einsatz der Software auf einem Applikations-Server können automatische Funktionen wie "Hot Deployment" vereinfachen.

Schließlich sollten Tools zur Modellierung von Anwendungen mit Hilfe der Standardsyntax Unified Modelling Language (UML) enthalten sein, um die Entwicklung und Wartung von Software zu verbessern und Projektdetails zu klären. Eine Integration von UML-Tools und IDEs erlaubt ein Round-trip-Engineering, mit dem Änderungen in den Programmquellen sofort in den UML-Diagrammen sichtbar werden - und umgekehrt. Künftig wird auch der Standard Model Driven Architecture (MDA) eine wichtige Rolle spielen, da sich mit ihm wartbare, plattformunabhängige und wiederverwendbare UML-Modelle entwickeln lassen (siehe CW 5/02, Seite 20).

Entwicklungsumgebungen unter der Lupe

Produkt / Kernfunktion / Produktivität / Modellierung / Konfiguration / Verwaltung / Integration / Deployment

Interactive Objects - Arcstyler / 9 / 9 / 10 / 8 / 8 / 8 / 10

Togehter Soft - Control Center / 9 / 8 / 9 / 9 / 9 / 9 / 9

Rational Software - Rational XDE (.NET) / 9 / 10 / 9 / 10 / 8 / 10 / 5

Rational Software - Rational XDE (Java) / 7 / 9 / 9 / 9 / 7 / 9 / 6

Microsoft Corp. - Visual Studio .NET / 9 / 10 / 4 / 10 / 8 / 10 / 5

Borland Software Corp. - Enterprise Studio / 8 / 8 / 9 / 4 / 8 / 6 / 8

Compuware - Optimal J / 6 / 8 / 6 / 7 / 7 / 8 / 6

Web Gain - Web Gain Studio 7.0 / 7 / 6 / 7 / 8 / 6 / 8 / 6

IBM - Websphere Studio / 9 / 6 / 2 / 8 / 6 / 9 / 5

Oracle Corp. - Oracle 9i Developer Suite / 6 / 8 / 4 / 4 / 9 / 5 / 6

Macromedia - Dreamweaver MX / 4 / 5 / nicht erhältlich / 4 / 3 / 5 / 6

Die Benotung der einzelnen Produkte erfolgte auf einer Skala von 1 bis 10. Eine hohe Punktezahl gab es, wenn zahlreiche Features und Tools vorhanden sind, die den gesamten Lebenszyklus der Software abdecken und die Produktivität des Entwicklers steigern helfen (siehe Kasten "Was eine IDE leistet"). Quelle: Butler Group

Abb: Der Lebenszyklus einer Software

Entwicklungsumgebungen müssen künftig alle dargestellten Aufgaben im Projekt unterstützen. Quelle: Oracle