Rundgang auf der Systems '98: Der Trend geht von den Clients weg

Tools für Java-Entwicklungen zielen auf Applikations-Server

16.10.1998

Der Erfolg von Java rührt aus der Tatsache, daß dieses Konzept nicht nur Ideen-, sondern auch Hoffnungsträger ist. Und dies in zweierlei Hinsicht: Zum einen ist es für viele Gegengewicht und Alternative zur scheinbar allmächtigen Microsoft-Welt, zum anderen präsentiert sich alles um Java als "Medium" für die verlockenden geschäftlichen Aussichten, die das Internet bietet oder zu bieten scheint.

Technisch enthalten Java und die Java-Plattform keine Konzepte, die in der Informatik nicht schon seit einiger Zeit gehandelt und zumindest prototypisch auch eingesetzt wurden. Ob es nun um das Portabilitätskonzept mit Hil- fe einer virtuellen Maschine, die Idee der absoluten Typsicherheit, um die Abschaffung der Pointer-Programmierung oder auch um plattformunabhängige Programme im Zusammenhang mit Codegenerierung zur Laufzeit geht: Alles ist steinalt oder zumindest in Forschungsarbeiten und Dissertationen - vorzugsweise im Wissenschaftlerkreis um Niklas Wirth an der ETH Zürich - schon vorbereitet und diskutiert worden.

Zunächst war Java als Client-Werkzeug angelegt, das in gängigen Java-fähigen Browsern kleine Programme (Applets) laden und ausführen konnte. Mittlerweile ist die Plattform längst dabei, die Server zu erobern. Dies läßt sich sehr gut auf der Münchner Messe Systems beobachten. Neben die vielfältigen Klassenbibliotheken, Frameworks und Entwicklungsumgebungen treten neuerdings die Applikations-Server der verschiedenen Hersteller, also umfangreiche Java-Laufzeitumgebungen für transaktionsorientierte, Web-fähige und verteilte Anwendungen mit einem Datenhaltungssystem im Hintergrund.

Gewissermaßen ein Vorreiter in diesem Bereich war die integrierte Entwicklungs- und Laufzeitumgebung der Firma Netdynamics (Halle A5, Stand 460.3), deren gleichnamiges Tool ist derzeit in der Version 4.12 zu haben. Es enthält die JDK-Version 1.16 und die Swing-Klassen 1.0.2 zur Erstellung grafikorientierter Benutzeroberflächen, spielt mit dem Kommunikationsstandard Corba für verteilte Objekte zusammen und läßt sich über Platform Adapter Components an alle gängigen TP-Monitore andocken.

Ebenfalls von Anfang an einen Server-orientierten Ansatz in Sachen Java verfolgt die hauptsächlich von mehreren ehemaligen Powersoft-Leuten gegründete Firma Silverstream (Halle A5, Stand 460.13). Die derzeit aktuelle Version 2.0 basiert auf JDK 1.1 und hat als Kommunikationsmechanismen sowohl Corba als auch das Microsoft-Kommunikationsmodell DCOM implementiert. Als Transaktionsmechanismus, über den sich auch Altsysteme anschließen lassen, wird CICS von IBM unterstützt.

Das Tool "Apptivity" von Progress Software (Halle A5, Stand 460.15) wartet mit einem hausgemachten integrierten Transak- tionsmonitor auf. Andere Anbindungen an die Transaktionswelt, zum Beispiel über Corba, sind in der Version 3.0 vorgesehen, die man sich auf der Systems zum erstenmal anschauen kann. Apptivity 3.0 wird darüber hinaus neue Möglichkeiten für schnelle Prototyperstellung und Verbesserungen bei der Anbindung an Datenhaltungssysteme enthalten.

Der Anbieter preist als besondere Vorteile Skalierbarkeit, Sicherheit, Lastverteilung, Fehlertoleranz und fortgeschrittene Cache-Methoden. Apptivity 3.0 ist für das Enterprise-Javabeans-Modell ausgelegt, wobei es sogar noch über die Spezifikationen dieses Modells hinausgeht, was unter dem Gesichtspunkt der Portierbarkeit von Komponenten sicher mit gemischten Gefühlen zu sehen ist.

"Mehrstufiges Internet-Computing"

Ebenfalls zum erstenmal auf der Systems stellt Oracle (Halle A2, Stand 211/230) den neuen "Application Server 4.0" vor. Laut Anbieter ist das Programmpaket "die erste offene Plattform für Kunden, die Unternehmensanwendungen im mehrstufigen Internet-Computing einsetzen wollen".

Der Application Server 4.0 baut ebenso wie Apptivity auf einem eigenen internen Transaktionsmonitor auf, unterstützt aber auch Corba Object Transaction Services (OTS) und den Java Transaction Service (JTS). Der Datenbankzugriff auf die hauseigene Oracle-Datenbank geht sehr schnell über ein spezielles PL/SQL-Modul; auf die anderen Datenbanken erfolgt der Zugriff mit ODBC beziehungsweise JDBC.

Auch IBM (Halle A5, Stand 460.5) hat "ready-made" Laufzeitumgebungen für Java. Bei den Armonkern heißt das entsprechende Programmpaket "Web-Sphere". Auf der Systems wird die brandneue Version 1.1 als Beta zu sehen sein. Sie enthält den Apache-HTTP-Server und verwendet die Java-Servlet-Technologie auf der Basis von XML-Erweiterungen.

Zusätzlich hat IBM noch ein "Web-Sphere Performance Pack" integriert, das die Erstellung dynamischer Web-Seiten erleichtert und mit "Web-Sphere Studio 1.0" ein "umfangreiches Paket von integrierten Entwicklungswerkzeugen" bildet, so der Hersteller.

Ein ganz neuer potenter Mitspieler im Java-Bereich ist BEA (Halle B3, Stand 331-340, Siemens AG). Durch den Kauf der Firma Web-Logic bekommt der Middleware-Spezialist, der bisher unter anderem mit dem Transaktionsmonitor Tuxedo reüssierte, einen hochrangigen Applikations-Server in seine Palette. Nach Angaben von BEA erfüllt der Web- Logic-Server bereits die Spezifikation 1.0 des Komponentenmodells Enterprise Javabeans (EJB). EJB ist auf eine Reihe von Java-Branchenstandards ausgelegt, die zusammen die Server-Seite von Java definieren.

BEA zufolge bietet Web-Logic eine umfassende Unterstützung der Anwendungsprogrammier-Schnittstellen (APIs) von EJB, das sind die Schnittstellen zu Datenbanken (JDBC) und zur Server-Programmierung (Servlets).

Zudem gibt es APIs zu den Java-Server-Pages (für die Ein- bindung von Java-Code in HTML-Seiten), zur Java-eigenen Zugriffsverwaltung dezentraler Objekte (Remote Invocation Method), zum Java-Transaction-Service und zu den Java-Namens- und Verzeichnisdiensten. Zudem lasse sich, so BEA, der Web-Logic-Server mit den Microsoft-Verfahren und Programmpaketen COM/Active X, Visual Basic, Visual C++ und Active Server Pages (dem Microsoft-Gegenstück zu den Java Server Pages von Sun) einsetzen.

Eine der interessantesten Neuerscheinungen aus deutschen Landen ist leider nicht auf der Systems zu sehen: "Bolero" von der Darmstädter Software AG, die erklärtermaßen alles auf die E-Commerce-Karte setzt. Mit der ambitionierten Neuentwicklung, die als "Business Application Factory" auf den Markt kommt, hat das Unternehmen ein Werkzeug geschaffen, das für die Abwicklung umfassender Geschäftstransaktionen über das Internet ausgelegt ist.

SAG hat dazu eine eigene 4GL konzipiert, die spezielle Notwendigkeiten derartiger Geschäftsvorfälle abbildet (zum Beispiel "lange Transaktionen") und die über einen hauseigenen Compiler in Java-Byte-Code übersetzt wird. Der Anbieter plaziert das Produkt als optimales Tool für E-Business-Entwicklungen, mit dem man gegen alle Wechselfälle in Sachen Java gewappnet sei.

Vorteile in der Transaktionsverarbeitung

Die Vorteile von Java lassen sich letztlich nur in der Transaktionsverarbeitung ausspielen, also bei der Erzeugung dynamischer Web-Seiten, Datenbankanbindung und Integration in Transaktionsmonitore beziehungsweise im Zusammenspiel all dieser Komponenten mit Zugriffsverwaltern (Object Request Broker, ORBs). Java-Entwicklungswerkzeuge, die hauptsächlich bunte Bilder im Web erzeugen, haben heutzutage keine großen Marktchancen mehr, ebenso wie Entwicklungs-Tools, die stark Front-end-lastig sind.

Andererseits ist bei einigen Server-orientierten Programmpaketen in puncto Bedienungskomfort sicher manches noch zu tun. Einige Server-Werkzeuge, so Apptivity in der Version 2.0, fühlen sich im täglichen Umgang noch etwas rauh an, vergleicht man sie mit ausgereiften proprietären 4GL-Werkzeugen.

Trend zu konfortablen Server-Tools

Insgesamt ist aber eine enorme Entwicklung in Sachen Komfort einerseits und Server-Orientierung andererseits zu beobachten. Viele Werkzeuge, die anfangs Front-end-orientiert waren, entwicklen sich derzeit zu mächtigen Server-Tools. Manche stehen den Programmpaketen, die von Anfang an den Server im Blick hatten - wie Netdynamics, Apptivity oder Silverstream -, in nichts mehr nach, so beispielsweise das Programmpaket "Power J" von Sybase (Halle B3, Stand 517/526).

Power J enthält in der Version 2.5 die JDK-Version 1.1.6 und die Swing-Klassenbibliotheken; im Prinzip aber läßt sich jedes JDK dynamisch importieren. Als Kommunikationsmechanismen unterstützt das Tool Corba und DCOM. Und natürlich gibt es das Ganze auch als Laufzeitumgebung im Komplettpaket als "Enterprise Application Server". Eingebunden ist Power J in die Transaktions-Middleware "Jaguar CTS" von Sybase.

Ebenfalls viel getan bezüglich Server-Fähigkeit wurde bei "Jbuilder" von Inprise, vormals Borland, (Halle A1, 215/224). Durch den Aufkauf des Object-Request-Broker-Spezialisten Visigenic vor rund einem Jahr hat sich Inprise/Borland hinsichtlich Transaktionsverarbeitung Know-how zugelegt, das sich jetzt bei der Positionierung des Jbuilder-Pakets auszahlt.

Jbuilder 2.0 hat das JDK 1.2 und die Swing Klassen integriert, die Anbindung an Object Request Broker erfolgt über Corba, und als objektorientierter Transaktionsmechanismus ist das hauseigene Produkt "Visibroker Integrated Transaction Service" (ITS) eingebunden. Derzeit bietet Inprise keinen eigenen Applikations-Server an. Allerdings wird das Inprise-Java-Produkt als Entwicklungswerkzeug beispielsweise auch zusammen mit dem Application Server 4.0 von Oracle im Paket vermarktet.

Und auch an vorgefertigten Komponenten hat Jbuilder einiges zu bieten: Rund 200 Javabeans von Drittanbietern sind in dem Entwicklungswerkzeug integriert. Sie lassen sich ohne Änderung des Sourcecodes in bestehende Anwendungen einbinden.

Ganz auf unternehmensweite Java-Entwicklung ausgelegt ist die neue Version 2.0 des Entwicklungswerkzeugs "Visual Age für Java" von IBM (Halle A5, Stand 460.5). Ebenso wie die schon erwähnte Java-Laufzeitumgebung von Big Blue wird Visual Age in Richtung E-Business vermarktet. Das Tool setzt auf dem JDK 1.1.6 und Swing 1.0.2 auf und spielt mit den Corba-Mechanismen als Kommunikationsmittler zusammen. Die Verbindung zur Großrechnerwelt läßt sich über die Transaktionsmonitore CICS und Encina herstellen.

Zentrales Element der neuen Version von Visual Age für Java ist die Erschließung von Java für die Server-Welt. IBM bietet für alle seine jüngeren Systeme Compiler an, für OS/390 Unix und AS/400 bis hin zu den Betriebssystemen AIX, OS/2 und Windows NT. Für die Internet-Programmierung enthält Visual Age für Java mit dem "Visual Builder" ein Tool für die grafikorientierte Erstellung von HTML-Code und für die automatische Erzeugung von Klassen zur Haltung der Formulareingabedaten.

Viel Neues bringt die Version 2 auch für die Datenbankprogrammierung, vor allem durch die Ac- cess-Beans-Komponenten in der Professional- und Enterprise-Version von Visual Age. Derartige Komponenten sind etwa die Select-Bean, die die Datenbankverbindung via JDBC-Treiber verwaltet und eine direkte oder geführte SQL-Eingabe ermöglicht, oder auch die DB-Navigator-Bean, mit der man innerhalb des Abfrageresultats navigieren sowie Daten modifizieren, löschen und neu eingeben kann.

Eines der ersten Java-Entwicklungs-Tools war "Visual Café" von Symantec (Halle C3, Stand 223). Dieses Programmpaket hat sicher auch heute noch in puncto Entwicklungskomfort einiges für sich; einige Anwender beurteilen es allerdings teilweise als zu Client-lastig. Leistungsmerkmale, die in Richtung Applikations-Server deuten, sind eher spärlich vorhanden, Corba wird von der Version 2.0 nicht unterstützt. Fehlanzeige auch in Sachen Transak- tionsmonitor.

Fairerweise muß gesagt werden, daß Symantec mit der "Enterprise Suite" von Visual Café for Java zum Jahresende ein Tool ankündigt, das dann mit den bisher vorgestellten Server-orientierten Programmpaketen zumindest gleichzuziehen scheint. Es soll die Corba- und RMI-Kommunikationsmechanismen ebenso unterstützen wie das Enterprise-Javabeans-Komponentenmodell.

Schließlich noch einige Anmerkungen zu den beiden Java-Antipoden Microsoft (Halle A3, Stand 611) und Sun (Halle A1, Stand 310). Während Sun als Propagandist und "Erfinder" die Java-Plattform zum einen als strategisches Vehikel für seine Rechner und zum zweiten als Gegengewicht zur Windows-Welt benutzt, verfolgt Microsoft die Strategie des Herunterspielens, des Aufweichens und des "Erwürgens durch Umarmen".

Weiter im Kampf: Microsoft und Sun

Microsoft hat bekanntlich mit den Application Foundation Classes (AFC) und den Windows Foundation Classes (WFC) eigene Klassenbibliotheken für die Java-Plattform geschaffen. Die ähneln den Java Foundation Classes von Sun, IBM und Netscape durchaus, sind in einigen Punkten vielleicht sogar besser. Dafür sind sie speziell für die Microsoft-Betriebssystemschiene ausgelegt und geben damit einen wesentlichen Vorteil von Java auf: die Portierbarkeit.

Diesen Faktor werden sicher auch viele Programmierer, die mit den "Pure-Java-Tools" arbeiten, leichtfertig durch programmiertechnische Eskapaden und Schlampereien verschenken; bei Microsoft hat die Sache allerdings Methode. Auch die brandneue Version 6.0 der Java-Entwicklungsumgebung "Visual J++" hat einen "Windows-Schlag". Sie unterstützt als Transaktions- und Zugriffsverwaltermechanismen nur die hauseigenen Tools DCOM und MS Transaction-Server.

Was nun den Java-Erfinder Sun anbelangt, so versucht man dort Java auf breiter Front voranzubringen, und zwar vom Großrechner bis hin zur Chipkarte und zum Logikschaltkreis. Durch diese breiten Entwicklungs- und Marketing-Aktivitäten ist das Segment Programmier-Tools für Sun natürlich nur eines unter vielen. Trotzdem ist das Programmpaket "Java Workshop" eine passable Software. Sie hat viel Lob für eine sehr eingängige Bedienung bekommen und enthält gute Werkzeuge zur Leistungsoptimierung.

Jürgen Höfling ist freier Journalist in Bad Tölz.