Consumer und Enterprise

16.10.1998
Java drängt mit Macht in Applikationen für typische Konsumartikel bis zu Enterprise-Lösungen. Deutliches Indiz hierfür waren Ankündigungen und Vorträge zur dritten Javaone-Konferenz, die kürzlich in San Franzisko stattfand und rund 14000 Besucher anlockte.

Von: Jürgen Fey

Während sich viele Java-Kritiker noch mit einer genauen Analyse des potentiellen Einsatzgebietes der Java-Technik für ihr Unternehmen zurückhalten, bauen andere ihre Zukunft auf dem Newcomer unter den Systemumgebungen. Das Spektrum der möglichen Applikationen ist hierbei so breit wie es die Phantasie der Entwickler zuläßt. Die Javaone in San Franzisko war ein wichtiger Gradmesser für die aktuellen Entwicklungen und Trends in diesem Bereich. Die Ankündigungen und Vorträge machten schnell klar: Java ebnet sich derzeit den Weg in die Zentralen der Unternehmen und drängt zugleich mit Macht in die Consumer-Elektronik.

Das Spektrum reichte vom Java-Ring, auf dem ein Applet immer dann durch die eingebaute Java-Hardware abgearbeitet wird, sobald Daten über den Port fließen, über eine Vielzahl von Set-Top-Boxen und PDAs bis zur Ankündigung von IBM, die gesamte Produktpalette schrittweise auf Enterprise Java Beans umzustellen.

Auf Java aufbauende Systeme sollen nach dem Willen von Sun-Boß Scott McNealy die gesamte Computerlandschaft umkrempeln: "Dank Java borgen wir uns die Systeme dort, wo wir gerade arbeiten." Alle zur Arbeit notwendigen Zugriffsinformationen könnten sich in einer Chipkarte befinden, die als "Ausrüstung" ausreiche. Das Mitschleppen eines Notebooks entfällt, denn somit kann man einfach auf die lokal verfügbaren Ressourcen zugreifen, um an die eigene Daten heranzukommen. Die vollständige Vernetzung der Server in den Unternehmen über das Internet, kombiniert mit einer starken Verschlüsselung und dem Javacard-Zugriffsschutz soll diese Vision Wirklichkeit werden lassen.

Nach dem Beinahe-GAU vor einigen Jahren beschäftigt sich der blaue Riese IBM aktiv mit der neuen Technik, um den eigenen Fortbestand zu sichern. Einen Tag vor der Javaone stellte man die eigene Roadmap vor, die vor Java-Pflastersteinen nur wimmelte. Demnach baut IBM intern alle Anwendungen auf Java-Technik auf beziehungsweise portiert bestehende Projekte, zum Teil mitten in der

Implementationsphase. Für Ian Brackenbury, Chief Scientist im IBM Hursley Lab, stehen Java und dabei insbesondere die Enterprise Java Beans (EJB) im Zentrum aller wichtigen Server- und Middleware-Produkte des Hauses: "Der Kunde hat in der Regel eine heterogene Systemumgebung. EJB vereinfachen die Entwicklung, an deren Ende sich der Programmierer wieder mit der Applikation beschäftigen und einzelne Komponenten wiederverwenden kann."

Die zukünftige Serverplattform für die Unternehmen sieht eine Server-Architektur vor, die unterschiedliche Protokolle (HTTP, RMI, JavaBeans, CORBA) in sich vereint. Die serverbasierenden Servlets (Java-Programme als CGI-Ersatz) sollen Grundlage für neue Applikationen bilden beziehungsweise die Anbindung an bestehende Legacy-Datenbestände (CICDS, DB2) zur Verfügung stellen. Die IBM-Chefentwickler beklagten zwar die derzeit noch zu rasanten Entwicklungssprünge der Java Developer Kits (JDK) mit der damit einhergehenden fehlenden Stabilität, doch gehe kein Weg an Java vorbei. Schließlich verkürze sich die Programmierphase zum Teil drastisch, so daß sich die Anwendungsprogrammierer wieder den größeren Teil ihrer Zeit mit der Programmierung der eigentlichen Applikation beschäftigen können.

Man könnte sich dennoch ob der aggressiven Ankündigung fragen, ob IBM nicht mit diesem Schritt davon ablenken will, daß die neuen Java-Anwendungen den Kunden wie bisher weiter an die propriätäre IBM-Architektur im Hintergrund binden wollen. Die Java-Anwendungen sind als Clients jetzt zwar plattformunabhängig, sind aber hinsichtlich der Infrastruktur nach wie vor "IBM-hörig".

Java Developer Kit 1.2

Zur Javaone stand mit der Beta 3 eine neue Version des JDK 1.2 zur Verfügung der in seiner endgültigen Form im Sommer zu erwarten ist. Zu den wichtigsten Features des neuen Developer Kits gehört eine nochmals "aufgebohrte" Variante der Java Foundation Classes (JFC, auch unter dem Namen "Swing" bekannt). So ist mit einer applikationen-übergreifenden Drag-and-Drop-Funktionalität zu rechnen, und auch das 2D-API soll zum Paket gehören. Zudem bietet das erweiterte Sandbox-Modell dann die Möglichkeit, den Zugriff auf bestimmte Dienste wahlweise auf der lokalen Maschine zu erlauben. Das RMI-Layer (Remote Method Invocation) basiert auf dem IIOP-Standard (Internet Interoperability Protocol) und bietet über die Java IDL (Internet Definition Language) eine Corba-konforme Umgebung an.

Zuvor will man jedoch noch den JDK 1.1.6 zur Verfügung stellen, der unter anderem mit Symantecs Just-in-Time-Compiler (JIT) ausgestattet ist. Im Vergleich zum JDK 1.1 soll sich die Performance auf Windows-Systemen damit um den Faktor vier verbessern. Einen weiteren Leistungssprung erwartet man mit der Einführung der im letzten Jahr angekündigten Hot-Spot-Technik. Die Alpha-Version soll sich bereits in den Händen der Java-Linzenznehmer befinden. Eine erste offen zugängliche Beta sei im Sommer zu erwarten. Javasoft Vice President James Gosling rechnet ab dem JDK 1.2 mit größeren Zeitabständen zwischen den einzelnen Versionen zukünftiger JKDs. Nach der Phase der Bugfixes in schneller Abfolge sollen die Zeiträume ab dem JDK 1.2 größer werden.

Java-Anwendungen überall

Deutlich spürbar war diesmal der Trend in Richtung Consumer-Elektronik. Vom einfachen PDA über die Set-Top-Box bis hin zum NC reichte das Spektrum der vorgestellten

Clients. Kaum ein Endgerät, welches sich nicht für Java eignen würde. Oft arbeiten die Devices oder "Informa-tion Appliances" als Netzwerk-Clients (wireless), so daß Java sowohl auf der Client als auch der Serverseite zum Einsatz kommen kann. Für Scott McNealy ist klar: "Wenn ein Gerät vernetzt ist, dann gehört da auch eine Java Virtual Machine drauf. Am besten sollten die Hersteller gleich noch einen Kartenleser einplanen, damit die Kunden die Javacard-Sicherheit nutzen können".

Da man wohl nicht davon ausgeht, daß Microsoft sich der Thematik aktiv annimmt, portiert derzeit Sun selbst Personal-Java auf die CE-Plattform. Drei neue API-Sets (Java-TV, Auto-Java und Java-Phone), die im dritten Quartal diesen Jahres zu erwarten sind, sollen den potentiellen Markt für Produkte auf Java-Basis deutlich erweitern und den Programmierern mit den jeweils spezifischen Erweiterungen die Arbeit erleichtern.

Gerade die Flut unterschiedlicher Mikrocontrollerfamilien und der entsprechenden Systemumgebungen könnte dabei die wichtigste Rolle für eine von vielen herbeigesehnte Kehrtwende in Richtung der universellen Programmierumgebung Java spielen. Der Kostendruck im Embedded-Markt zwingt die Hersteller dazu, die Mikrocontrollerfamilien projektbezogen zu wechseln. Dies führt dazu, daß sich die Programmierer immer wieder in ungewohnten Umgebungen zurechtfinden müssen. Dies führt zu unnötigen und kostenintensiven Verzögerungen. Eine auf Java basierende Alternative könnte zu einer spürbaren Beruhigung führen und zudem den Anbietern der Entwicklungstools eine breitere und damit lukrativere Kundenbasis verschaffen.

Zu den Java-Features, die neben der universellen Programmierumgebung für Java sprechen, gehört unter anderem die Möglichkeit, alte Codeteile mit Hilfe der "Garbage Collection" zu löschen und durch neue Routinen zu ersetzen, die der Anwender über Funk, IrDa, Diskette oder Kabel auf das Endgerät laden kann. Diese sogenannten dynamischen Applets vereinfachen den Support nach dem Kauf und lassen sich zudem als einfache Möglichkeit nutzen, dem Kunden nach dem Kauf zusätzliche Optionen anbieten zu können. Das Java-Sicherheitssystem sorgt dabei für die gesicherte Übertragung der Routinen.

Neben den bereits erwähnten spezifischen API-Sets veröffentlichte Sun zur Javaone das Draft-Papier zur Embedded-Java-Plattform. Ein typisches Zielsystem für diese Plattform kommt mit weniger als 512 KByte ROM aus und nutzt ein Echtzeitbetriebssystem auf welches die Java-Umgebung aufgesetzt wird. Embedded-Java erlaubt dem Programmierer, auf unnötige Komponenten in der Java-Runtime-Umgebung zu verzichten ohne die Kompatibilität zu verlieren.

Für Unruhe sorgte in diesem Zusammenhang die Ankündigung von HP, eine eigene Java Virtual Machine (VM) anzubieten. Ausgehend von der offen zugänglichen Java-Spezifikation entwickele man eine eigene Variante, die Interessenten lizenzieren können. Erster Lizenznehmer war ausgerechnet Microsoft - ein Indiz für viele Beobachter, die in der neuen Allianz HP-Microsoft eine Schwächung der gemeinsamen Java-Entwicklung mit dem Hauptgedanken "Write once, run everywhere" sehen. Dr. Alan Baratz, President Javasoft, sieht für den Fall, daß HP alle Bestimmungen der Java-Lizenz einhält, kein Problem. Scheinbar will HP aber den speziell für Embedded-Applikationen optimierten Port ohne Abstract Window Toolkit (AWT) ausliefern. Für Baratz wäre dies ein Bruch der Bestimmungen. Scott McNealy bezog hierzu deutlich Stellung: "Java-Subsets lassen wir nicht zu - es wird keine Clones geben."

Microsoft selbst mußte am ersten Tag der Javaone einen herben Rückschlag hinnehmen. Nachdem der Internet Explorer 4.0 Ende September des letzten Jahres verfügbar war, stellte sich schnell heraus, daß dieser nicht in allen Belangen der Java-Spezifikation folgt und die JDK-Testsuite nicht fehlerfrei durchläuft. Unter anderem unterstützt die Microsoft-VM die als "Supplemental Java Classes" eingestuften RMI-Klassen (Remote Method Invocation) sowie das "Java Native Interface" (JNI) nicht. Beide müssen nicht Teil der ausgelieferten Java-Lösung sein, aber dem Kunden muß der Zugang zu entsprechenden Bibliotheken offenstehen. Die Testsuite findet zudem Fehler in den Public-Klassen, die auf Modifikationen beruhen. Sun klagte Anfang Oktober gegen Microsoft auf Einhaltung der Lizenzbedingungen und forderte für die Zwischenzeit, daß Microsoft auf das Java-Logo verzichtet.

Nicht alles "Java-Compatible"

Zwischenzeitlich hat sich der Graben weiter vertieft. So nutzt die Microsoft-VM spezifische Windows-Erweiterungen (Windows Foundation Classes) als Ersatz für die üblichen Funktionen innerhalb einer Standard-VM. Programmierer, die diese Erweiterungen etwa für die Benutzeroberfläche einer Applikation nutzen, grenzen mit diesem Schritt alle anderen VM-Umgebungen aus. Mitte März stellten Microsoft und Apple ihr gemeinsames Projekt vor, welches eine neue und gemeinsam genutzte VM für die Windows- und MacOS-Plattform zum Ziel hat.

Der vorläufige Richterspruch (eine Art einstweiliger Verfügung) verbietet Microsoft den Gebrauch des "Java-Compatible-Logos" im Zusammenhang mit dem Internet Explorer 4.0 und allen damit zusammenhängenden Produkten sowie dem "SDK for Java 2.0". Grundlage für die Entscheidung war, daß man bei Sun glaubhaft auf eine entstehende Verunsicherung innerhalb der Java-Gemeinde verweisen konnte, die einen Schaden nach sich ziehen könnte.

Mit der Variation des Themas "JavaOS" unter dem Namen "JavaOS for Consumers" stellte Sun eine universelle Systemumgebung für den lukrativen Massenmarkt der Konsumgeräte wie Set-Top-Boxen, PDAs, Web-Phones oder Autonavigationssysteme vor. "JavaOS for Consumers" baut auf dem im letzten Jahr aufgekauften Echtzeitbetriebssystem "ChorusOS" auf und kombiniert dieses mit dem eigenen Personal-Java. Darüber hinaus steht ein speziell für die typischen Ausgabemedien (Displays) mit einer niedrigeren Auflösung optimiertes Grafiksubsystem zur Verfügung. Da gerade bei den kommenden vernetzten "Personal Devices" die Sicherheit groß geschrieben wird, steht der volle SSL-Support (Secure Sockets Layer) zur Verfügung.

Als einer der ersten Hersteller zeigte Alcatel mit seinem "Screenphone", in welche Richtung der Konsumartikelzug mit JavaOS fahren wird. Dieses Endgerät bietet neben einem Komforttelefon auch einen einfachen Zugang zu World Wide Web, E-Mail sowie Namens- und Adreßverzeichnissen. Mit Telxon zeigte der führende Anbieter von Handheld-Devices für vertikale Anwendungen wie Versicherungen, Lagerhaltung oder Krankenhäuser erste Systeme, die auf JavaOS-Basis arbeiten. Die Systeme stehen in der Regel per Funk mit einem zentralen Server in Verbindung, bei dem alle Informationen zusammenlaufen. Vor Ort kann der Anwender über das Handheld-System auf diese Daten zugreifen beziehungsweise diese verändern. Zusammen mit Toshiba will Sun weitere Techniken entwickeln, die speziell den mobilen Anwender unterstützen sollen.

Einer gemeinsamen Erklärung zufolge lizenziert Sony die Personal-Java-Umgebung, um damit Produkte insbesondere im Bereich der Unterhaltungselektronik zu entwickeln. Das übergeordnete Ziel ist, eine offene Systemarchitektur für die unterschiedlichen Geräte, vom PC über die Audioanlage bis hin zum digitalen Fernsehgerät, zu entwickeln, auf deren Basis die einzelnen Komponenten in einer vernetzten Umgebung besser untereinander kommunizieren können. Die noch näher zu definierende Zusammenarbeit sieht darüber hinaus vor, daß Sun spezielle Personal-Java-Tools für typische AV-Produkte entwickelt.

Speziell für NCs steht "JavaOS for NCs" zur Verfügung. Das modulare System bietet alle für den Betrieb eines NC notwendigen Systemkomponenten (Mikrokernel, VM, Gerätetreiber, Netzwerkklassen, Windows-System et cetera) und wird mit den Hot-Java-Views-Komponenten ausgeliefert.

Zusammenarbeit ist alles

Ein weiteres Highlight war ohne Zweifel die Vorstellung des RMI-basierenden Java-Spaces-Paketes. Java-Spaces basiert auf den Arbeiten des vom Unabomber heimgesuchten David Gelernter. Dessen verteiltes Linda-System war bereits Vorbild für unterschiedliche Lösungsansätze verteilter Umgebungen wie dem Betriebssystem "Express" für Transputer. Java-Spaces kommt mit wenigen zusätzlichen Methoden aus und bietet den Clients einen verteilten Workerpool, der auch auf heterogene Umgebungen (Unix, Windows) zurückgreifen kann. Für den Anwendungsprogrammierer verringert sich damit die Komplexität, mit der bisher serverbasierende verteilte Anwendungen untrennbar verbunden schienen. Der Weg zu einem virtuellen Supercomputer auf Java-Basis ist damit frei.

Zündstoff ISO-Standard

Noch immer nicht endgültig ausdiskutiert scheint der Versuch zu sein, Java unter der Kontrolle von Sun als ISO-Standard zu etablieren. Bereits die Ankündigung löste zur letzten Javaone heftige Diskussionen aus, die noch immer nicht ganz verstummt sind. Alan Baratz versteht die Unruhe nicht: "Wir sind in jeder Hinsicht offen. Jeder kann seine Vorschläge einreichen und wird gehört". Nach dem derzeitigen Verfahren beruft Sun Microsystems zur Ausarbeitung einer neuen Spezifikation eine sogenannte "Core Group", bestehend aus Spezialisten im jeweiligen Gebiet ein. Diese Gruppe erstellt eine vorläufige Spezifikation, die dann zur Durchsicht und zum Ideenaustausch allen Java-Lizenznehmern vorgelegt wird. In einem zweiten Schritt steht die überarbeitete Spezifikation dann zur öffentlichen Diskussion bereit, bevor der anschließend definierte Standard offen zugänglich ist.

Auch HP scheint ein großes Problem mit dieser Vorgehensweise zu haben, doch Baratz meint: "Wir können nicht wegen einer Firma die gesamte Struktur verändern". Laut Gosling stammt das gewählte Verfahren sogar direkt aus der ISO-Gruppe. Sun-COO Ed Zander verglich die derzeitige Aufregung mit dem weltweiten Telefonsystem: "Alle Firmen haben sich da auf einen gemeinsamen Standard geeinigt und dennoch gibt es Konkurrenz untereinander".

Verwaltung mit Jumpstart

Mit Jumpstart möchte man die Verwaltung der Java-Systemumgebungen auf den einzelnen Desktopsystemen im Unternehmen vereinfachen. Jumpstart verwaltet alle notwendigen Java-Ressourcen zentral und transferiert bei Bedarf die aktuellen Versionen auf die Clients. Teil des Paketes ist der Java-Activator. Dieses Produkt ersetzt die in Browser (Netscape, Microsoft) eingebaute VM durch die jeweils aktuelle Variante und entkoppelt damit die Entwicklung neuer Browser-Generationen von der Verfügbarkeit neuer JDK-Implementationen. Die notwendigen Portierungshilfen für die eigenen Webseiten im Intra- oder Internet stehen ebenfalls zur Verfügung. Der Java-Activator soll noch im April auch als eigenständiges Produkt kostenlos zur Verfügung stehen. Das für Solaris und Windows optimierte Java Runtime Environment (JRE) sowie ein angepaßtes Supportpaket runden Jumpstart ab.

Die Javaone zeigte eindrücklich, daß Java als Sprache und umfassende Systemumgebung den Einzug in vielschichtige Märkte längst geschafft hat. Durch die typische Entwicklungszeit neuer Produkte hat es eine Weile gedauert, bis die ersten Produkte aus den Entwicklungslabors auf den Markt gebracht werden konnten. Oft ermöglicht die neue Technik vollkommen neue Lösungsansätze und führt zu neuen Produktkategorien.

Die in großen Stückzahlen zu erwartenden Information Devices sind hierzu ein gutes Beispiel. Mehr im Spaß konnte denn auch Scott McNealy auf die Frage nach der größten Gefahr für Java antworten: "Ich fürchte nichts mehr als ein fehlendes Bevölkerungswachstum".

(gob)