Trotz Kritik am Reifegrad der Sun-Technik

Deutsche Unternehmen setzen auf Vorzüge von Java

26.06.1998

Java steckt zwar noch in den Kinderschuhen, doch einige deutsche Unternehmen bescheinigen der von Sun entwickelten Programmier- und Ablaufumgebung eine große Zukunft. Die meisten zur Zeit realisierten Projekte zielen auf das Erstellen von Front-ends ab, die für verschiedene Rechnerplattformen nur einmal entwickelt werden müssen ("Write once - run everywhere"). Ferner übernimmt Java den Zugriff auf Daten, die in Client-Server- oder Mainframe-Systemen liegen. Oft sind Host-Programme über Jahre gewachsen, und nicht selten muß sich der Anwender durch eine Vielzahl unterschiedlicher Masken hangeln. Zwar ließen sich diese Nachteile auch durch Client-Server-Lösungen in den Griff bekommen, doch bedeutet dies einen hohen Aufwand in Sachen Softwareverteilung und Anpassung.

Vor dieser Situation stand die DG Bank in Frankfurt am Main. Das Spitzeninstitut im genossenschaftlichen Finanzverbund, zu dem auch die Volks- und Raiffeisenbanken gehören, entwickelt IT-Lösungen für seine Verbundpartner zentral in Frankfurt, die Software muß jedoch an alle Niederlassungen der Partner weitergereicht werden. Release-Zeiten von bis zu einem Jahr waren dabei keine Seltenheit. Im Rahmen eines Entwicklungsprojekts "Verbundberater-Arbeitsplatz" (VBA) konnte die DG Bank das Problem der langen Release-Wechsel in den Griff bekommen. Zudem war es durch dieses Konzept möglich, neue Anwendungsfelder zu erschließen. Durch den Java-basierten Verbundberater-Arbeitsplatz sollen Kundenberater in die Lage versetzt werden, alle Produkte, also Versicherungen, Bausparverträge und Wertpapierhandel, über eine Oberfläche zu präsentieren (siehe CW 24/98, Seite 63).

Die Grundlage für den Verbundberater-Arbeitsplatz bildet eine "Multitier"-Architektur, bei der die Geschäfts- und Anzeigelogik sowie die Datenhaltung voneinander getrennt sind. Um dies zu bewerkstelligen, mußte eine Reihe von Host-Funktionen mit dem Java-Programm verknüpft werden. So sorgte etwa das Tool "Webconnect" des Anbieters Openconnect für eine direkte Anbindung von 3270-Anwendungen an den Java-Desktop. Dabei bedient Webconnect die Host-Masken im Hintergrund, während der VBA-Benutzer mit Fenstern, Buttons und List-Boxen arbeitet.

Die Aufbereitung der Daten übernimmt ein eigens dafür entwickeltes Java-Applet, der Zugriff auf Datenbank-Server wurde über Java Database Connectivity (JDBC) realisiert. JDBC ist das Java-Pendant zu Microsofts Open Database Connectivity (ODBC). Darüber hinaus nutzten die Software-Entwickler Remote Message Invocation (RMI), um mit der in Objekte verpackten Geschäftslogik zu kommunizieren. RMI ist ein Protokoll zwischen einem "Java Client" (Browser) und einem "Java Adapter". Letzterer stellt die Verbindung zu einem Objekt her. Außerdem will die DG Bank zukünftig Corba (Common Object Request Broker Architecture) einsetzen, um zwischen Java und der Mainframe-basierten Geschäftslogik zu vermitteln.

Java und Corba zur Integration

Für Branislav Sincic, Prokurist bei der DG Bank und Leiter des Projekts Verbundberater-Arbeitsplatz, bietet nur die Kombination aus Corba und Java die Möglichkeit, heterogene Umgebungen einzubinden. Sincic gibt jedoch zu bedenken, daß eine Corba-Implementierung enorm aufwendig ist.

Unternehmen schätzen Java auch wegen der Möglichkeit, Anwendungen aus dem Netz zu laden, statt sie auf jedem einzelnen PC-Arbeitsplatz zu installieren. Auf diese Weise, so die Erwartung der Verantwortlichen, lassen sich die horrenden Betriebskosten der vernetzten PC-Desktops in den Griff bekommen.

Getrieben von der Hoffnung, die Verwaltungskosten für PCs zu senken, entschied sich auch das Bundesamt für Seeschiffahrt und Hydrographie (BSH) für eine Applikation in Java. Wie so oft setzte auch dieser IT-Anwender eine Vielzahl unterschiedlicher Desktop-Applikationen ein. Der immense Aufwand für die Neuinstallation sowie Updates ließ sich auch mit Software-Verteilungswerkzeugen nicht in den Griff bekommen. Noch verschlimmert wurde die Situation durch umfangreiche und teure Schulungen der Mitarbeiter.

Das BSH ließ von der Firma Gauss Software in Hamburg ein Java-Programm entwickeln, um eine der vielen Applikationen für den Zugriff auf eine Datenbank in eine einfachere, leicht wartbare Java-Variante zu überführen. Diese Anwendung war zunächst nur für den internen Gebrauch konzipiert, inzwischen ist jedoch für andere Behörden ein Zugang über das Internet in Vorbereitung. Statt einer groß angelegten Installation auf allen Clients mußte diesmal lediglich ein interner Web-Server so ausgestattet werden, daß die Anwender den Java-Code von dort laden konnten. Einzige Voraussetzung: Auf allen PC-Arbeitsstationen war die gleiche Version des Web-Browsers erforderlich.

Laut dem beim BSH für Informations- und Kommunikationstechnik Verantwortlichen Christoph Brockmann wurde das Desktop-Tool von den Nutzern sofort akzeptiert. Auch über das Betriebsverhalten kann der IT-Verantwortliche nicht klagen.

Angesichts der kurzen Geschichte von Java verwundert es, wie oft diese Programmier- und Ablaufumgebung bereits in Projekten Einzug hält beziehungsweise als Lösungsansatz in Betracht gezogen wird. Dies liegt nicht zuletzt an dem Bemühen der Hersteller, Java in ihren Produkten zu unterstützen. Beispielsweise bieten die meisten Datenbankhersteller einen JDBC-Treiber für ihre Software an. Eine Ausnahme stellt hier Microsoft dar; bekanntlich gehört das Gates-Imperium nicht gerade zu den Befürwortern von Java. Nach den Erfahrungen von Anwenderunternehmen arbeiten die JDBC-Implementierungen sehr stabil.

Dennoch bleibt den Anwendern nicht verborgen, daß die Technik noch in den Kinderschuhen steckt. Dies wurde im Rahmen eines Seminars zum Thema "Java für Entscheider" deutlich, das vom Institute for International Research (IIR) in Düsseldorf veranstaltet wurde. Hauptsächlich kritisierten die Teilnehmer die noch unzureichenden integrierten Entwicklungsumgebungen für Java, wie sie für Programmiersprachen wie C, C++ oder Smalltalk schon lange zu haben sind. Zwar seien bereits viele Hersteller auf diesen Zug aufgesprungen, doch nach Erfahrung von Experten wie Jürgen Liebmann, Berater und Java-Experte bei CSC Ploenzke, sind einige dieser Produkte noch nicht ganz ausgereift. Liebmann rechnet jedoch binnen der nächsten sechs Monate mit einer Auswahl an brauchbaren Lösungen.

Ein weiteres Problem sahen sowohl die vortragenden Experten als auch die am Seminar teilnehmenden Anwenderfirmen darin, daß auf vielen Zielsystemen unterschiedliche Java Development Kits (JDKs) installiert sind. Dadurch bleibt es unsicher, ob der Java-Bytecode auf den verschiedenen Zielsystemen auch zu gleichen Resultaten führt. Das JDK umfaßt die Basisfunktionen, die für das Ausführen von Java notwendig sind. Dazu gehört die Java Virtual Machine. Sie übersetzt den plattformunabhängigen Java-Bytecode in die jeweils maschinenspezifischen Befehle des Rechners.

Während die aktuelle Version 1.1.6 des JDK bereits zur Verfügung steht, haben es weder Microsoft noch Netscape bisher geschafft, diese Software in ihre Web-Browser zu integrieren. Mitunter kann es nach Angaben von Christian Rosner, Senior Berater bei CSC Ploenzke und Java-Experte, bis zu sechs Monaten dauern, bis eine neue JDK-Ver- sion in den Browser Einzug gehalten hat. Netscape bietet zumindest einen Download an, der den "Communicator 4.05" auf den Stand des neuen JDK bringt. Ältere Browser-Varianten müssen mit Patches versehen werden. Für den gleichen Zweck entwickelte Sun den "Java Activator", mit dem Anwender ihre Browser-Software, egal, ob sie von Microsoft oder Netscape stammt, mit der aktuellen Ablaufumgebung JDK 1.1.6 ausstatten können. Doch ein JDK-Upgrade für viele Clients dürfte die Systemverantwortlichen wenig begeistern.

Selbst der gleiche Release-Stand des JDK auf allen Rechnern garantiert noch lange kein gleiches Verhalten der Java-Anwendungen auf allen Plattformen. Nach den Erfahrungen des CSC-Ploenzke-Beraters Liebmann kann sich ein Entwickler nicht darauf verlassen, daß ein Java-Programm unter Windows NT genauso abläuft wie unter Windows 95. Ähnliche Schwierigkeiten gibt es beim Ausführen von Bytecode auf unterschiedlichen Unix-Derivaten.

Uneinheitliche Darstellung

Zu den hauptsächlichen Einschränkungen gehört dabei die unterschiedliche Darstellung. Beschriftungen eines Buttons etwa erscheinen auf dem einen System genau in der geeigneten Größe, während sie auf einem anderen Rechner zu groß oder in einer falschen Ausrichtung dargestellt werden. Besserung dürften die sogenannten "Swing"-Klassen bringen, die Sun mit dem JDK 1.2 einführen will. Diese Funktionen erlauben es, Java-Programme auf beliebigen Rechnern ablaufen zu lassen, ohne dabei den Window-Manager des jeweiligen Betriebssystems zu verwenden. Dennoch präsentiert sich die Anwendung in dem gewohnten Look and feel. Auf diese Weise sei es, so CSC-Ploenzke-Berater Liebmann, sogar machbar, ein Java-Programm unter Unix mit der Fenstertechnik von Windows 95 ablaufen zu lassen. Der Java-Profi rät dringend davon ab, Swing-Klassen und deren Vorgänger Abstract Windowing Toolkit (AWT) gleichzeitig in Java-Projekten zu verwenden, da sich eine Mischung beider Techniken nicht verträgt.

Bis dahin muß Java aber noch ohne Swing auskommen. Ein Test auf jeder Plattform ist nach Auffassung von Liebmann daher auch weiterhin unausweichlich - "Write once, test everywhere".

Abb: Java und Corba ergänzen sich prächtig: Corba-Objekte kapseln Daten und Anwendungen von Mainframe- oder Client-Server-Systemen, die über Java-Anwendungen auf einer Vielzahl von Plattformen zugänglich sind. Quelle: Iona Technologies