Sun will Java zur universellen Plattform ausbauen

18.04.1997

Java kann eine einzigartige Erfolgsgeschichte vorweisen: Innerhalb von knapp eineinhalb Jahren etablierte sich die Sun-Technologie zum Quasi-Standard für die Entwicklung Internet-basierter Anwendungen. Praktisch kein größerer Hersteller kommt mittlerweile ohne Java-Strategie oder -Produkte aus.

Im Zuge der stürmischen Entwicklung haben sich allerdings die Akzente verschoben. Anstatt bloß Programmierwerkzeug für animierte Web-Seiten zu sein, soll Java nach dem Willen der Sun-Verantwortlichen zur bevorzugten Plattform für verteilte Software in allen Anwendungsbereichen werden.

Die Rede von Java als Plattform begründet sich durch seine Implementierung als interpretierte Sprache, die unter praktisch allen Betriebssystemen über eine eigene Ablaufumgebung verfügt. Nach diesem Konzept erstellen Java-Compiler nicht plattformabhängigen Binärcode, sondern sogenannten Byte-Code, den eine Java Virtual Machine (JVM) ausführt.

Die DV-Branche scheint an den Erfolg von Java als Entwicklungsplattform zu glauben. Dies belegen zumindest die zahlreichen neuen Produkte, die von Ausstellern auf der Java One vorgestellt oder angekündigt wurden (siehe Seite 24). Ohne Übertreibung läßt sich sogar behaupten, daß Industrie und Anwender auf breiter Front ein Re-Engineering ihrer Produkte auf Basis von Java betreiben. Betroffen sind davon keineswegs nur Internet-Applikationen, sondern Produkte in allen Kategorien. Etablierte wie neu gegründete Unternehmen gewähren dabei der Java-Technologie trotz einiger Limitationen einen Vertrauensvorschuß. Dazu gehören beispielsweise die relativ geringe Ablaufgeschwindigkeit der Anwendungen oder die Beschränkungen durch das Sandbox-Modell.

Sun bemüht sich jedenfalls, dieses Vertrauen zu rechtfertigen. Zugunsten einer höheren Ablaufgeschwindigkeit integriert Javasoft unter dem Codenamen "Hotspot" die Technologie der zugekauften Longview Technologies Inc. in die eigene JVM. Angeblich soll sich so die Performance von Java jener von nativem Code weitgehend annähern. Schon vorher wartet der kalifornische Hersteller mit einem Performance Kit für Windows auf. Es soll Symantecs JIT als DLL beinhalten, so daß Entwickler diesen für eigene Projekte weiterverwenden können.

Was die Beschränkungen des Sandbox-Modells anbelangt, so haben Java-Applets seit dem JDK 1.1 die Möglichkeit, auf lokale Dateisysteme zuzugreifen. Derzeit gilt dabei jedoch noch das Prinzip "Alles oder nichts". Erweiterte Sicherheitsfunktionen mit fein abgestuften Zugriffsrechten sollen Mitte 1997 folgen.

Weitere Verbesserungen sind für die Klassen zur Erstellung grafischer Benutzer-Schnittstellen geplant. Unter der Bezeichnung Java Foundation Classes (JFC) werden dafür das Abstract Window Toolkit (AWT) und Netscapes Internet Foundation Classes (IFC) zusammengeführt. Nach einem Abkommen mit Lotus integriert Javasoft außerdem den "Infobus" der IBM-Tochter in die nächste Version des JDK. Damit sollen sich die Möglichkeiten zum dynamischen Datenaustausch zwischen Java-Komponenten verbessern.

Beweggrund für die breite Unterstützung ist neben der hohen Produktivität, die Java im Vergleich zu C oder C++ zuläßt, vor allem das Bestreben der Branche, dem Würgegriff des Wintel-Kartells zu entkommen. IBM, Apple, Netscape, Novell, Oracle & Co. setzen darauf, daß die Sun-Technik Betriebssysteme als Entwicklungsplattform entwerten und sie auf eine Schnittstelle zur Hardware reduzieren wird. Es überrascht andererseits wenig, daß Microsoft Java offiziell nur als eine Programmiersprache unter vielen betrachtet. Allerdings läßt sich diese Sichtweise immer schwieriger aufrechterhalten: Mit Java- beans liegt nun auch ein Komponentenmodell vor, das direkt mit Active X konkurriert.

Der Charakter einer Anti-Microsoft-Allianz, den die Zusammenarbeit der stärksten Java-Befürworter angenommen hat, schlug sich auch auf die Stimmung der Veranstaltung nieder. Suns CEO Scott McNealy übte sich in seinem Lieblingssport, dem Microsoft-Bashing. Er ließ keine Gelegenheit aus, über die Sicherheitsmängel von Active X herzuziehen oder die Windows-Company dafür zu geißeln, daß sie Anwender auf eine Plattform festnageln will. Der für eine eigene Keynote engagierte Comedy-Star Dana Carvey nutzte die Anti-Microsoft-Stimmung der rund 10000 angereisten Entwickler, um sich Lacherfolge auf Kosten von Bill Gates zu sichern.

Freilich gedenkt Sun mehr zu tun, um Java als umfassende Plattform voranzutreiben, als bloß Witze über Microsoft zu reißen. Viele Verbesserungen in diese Richtung brachte das Java Development Kit (JDK) 1.1, das bereits einige Wochen vor der Entwicklerkonferenz freigegeben wurde (siehe CW Nr. 10 vom 7. März 1997, Seite 15). Besonders die dort neu hinzugekommene Datenbank-Schnittstelle Java Database Connectivity (JDBC), Javabeans oder die Unterstützung von verteilten Anwendungen durch Remote Method Invocation (RMI) machen Java zu einem ernsthaften Windows-Rivalen. Sun verfolgt nun zwei Hauptbestrebungen für Java als Architektur: Öffnung über den Desktop hinaus für fast alle Anwendungsbereiche und die Wahrung der Unabhängigkeit von Betriebssystemen und Hardware.

Für das zweite Vorhaben gab Sun nun die Bahn frei für das Zertifizierungsprogramm "100% pure Java". Rund 8400 Tests sollen gewährleisten, daß sich JVMs und Applikationen auf allen Systemen gleich verhalten. Auf die Überprüfung der Ablaufumgebung allein entfallen nun etwa 2000 Tests, was die bisher aufgetretenen Inkompatibilitäten beseitigen sollte. Sun beauftragte die in Utah ansässige Keylabs Inc. mit dem Zertifizierungsprogramm. Die Gebühr für die Begutachtung einer Anwendung liegt bei 1150 Dollar.

Mit dem Zertifizierungsprogramm steht der Java-Allianz nicht nur ein technisches, sondern vor allem auch ein mächtiges Marketing-Instrument zur Verfügung. Das Gütesiegel erhalten nur Anwendungen, die auf allen Plattformen ablaufen, für die eine JVM existiert. Damit bleiben in Java entwickelte Active X Controls außen vor. Findet 100% pure Java bei den Anwendern entsprechende Anerkennung, wird es für die Gates-Company schwierig, Java proprietär zu verbiegen. Die Marketiers von Sun ließen nichts unversucht, das Reinheitsgebot ins Bewußtsein der Entwickler und Käufer zu heben. Während der Eröffnungsveranstaltung wurde gar ein Video vorgeführt, das einen Programmierer im Beichtstuhl zeigte: Dort durfte er gegenüber dem Beichtvater beteuern, daß er 100% rein sei.

Hundertprozentigen Schutz vor Verschmutzung durch Active X Controls bietet aber auch die Reinheitsinitiative nicht. Aufgrund der Interoperabilität von Javabeans mit Active X können Anwender zertifizierte Applikationen nachträglich um Microsoft-Komponenten anreichern. Um diese Versuchung möglichst gering zu halten, wollen Sun und IBM ab dem dritten Quartal 1997 ein Konvertierungs-Tool anbieten, das helfen soll, Active-X-Komponenten in Javabeans zu überführen.

Java feierte seinen Einstand als Ablaufumgebung für Applets innerhalb des Netscape-Browsers. Mittlerweile unterstützen die meisten Desktop-Betriebssysteme Java-Anwendungen direkt, unter Windows benötigt der Anwender jedoch weiterhin einen Browser zur Ausführung von Anwendungen. Sun will die Position von Java am Desktop allerdings noch weiter ausbauen.

Eine Schlüsselrolle kommt der plattformunabhängigen Technik beim Network Computer zu, der dem fetten, wartungsintensiven Windows-PC Konkurrenz machen soll.

Auf der Java One feierte die "Java Station" ihren ersten öffentlichen Auftritt. Dieser schlanke Client läuft unter dem Betriebssystem "Java OS", das neben der JVM das Anwendungspaket "Hot Java Views" umfaßt. In der "Hackers Lounge" konnten Veranstaltungsteilnehmer mit 30 der insgesamt 80 eingesetzten Desktop-Maschinen experimentieren. Die Organisatoren behaupteten, daß die Installation des Netzwerks inklusive der achtzig Client-Rechner weniger als einen Arbeitstag beansprucht habe.

Eine weitere Attacke gegen das Microsoft-Monopol am Desktop reitet Sun mit "Java PC". Es handelt sich dabei um ein Java-Betriebssystem, das ähnlich wie Windows auf MS-DOS aufsetzt. Es soll sich durch geringe Hardware-Anforderungen auszeichnen und vorhandene, nicht für Windows 95 taugliche 486-PCs in Netzwerk-Computer verwandeln. Das Produkt wird ab Herbst 1997 verfügbar sein und rund 100 Dollar kosten.

Java soll nach Vorstellung der Sun-Manager aber nicht nur Erfolge am Desktop feiern, sondern auch in Anwendungsbereiche vorstoßen, die Windows verwehrt bleiben. Dazu gehören vor allem Klein- und Kleinstgeräte, die Java aufgrund des geringen Ressourcenbedarfs bedienen kann. Sun beabsichtigt, Java für diesen Zweck in verschiedene Umgebungen für unterschiedliche Geräteklassen aufzuteilen. "Java Card" soll demnach die Ausführungsumgebung für Smartcards, "Embedded Java" für Pager, Router oder Switches werden. Hinzu kommt noch "Personal Java", das sich für Mobiltelefone oder Set-top-Boxen eignet.

Auch hier konnte sich Sun bereits eine breite Unterstützung bei den Herstellern solcher Geräte sichern. Fast alle relevanten Anbieter von Smartcards konnte Javasoft in San Franzisko schon als Lizenznehmer vorstellen. Dazu gehören unter anderem die Citibank, Schlumberger, Gemplus, Hitachi, Visa und Bull. Die mittlerweile von Microsoft gekaufte Firma Web TV nahm Java für ihre Set-top-Boxen in Lizenz.

Interessant für die Unternehmens-DV verheißt die "Java Platform for Enterprise" zu werden. Im Zentrum dieses Vorhabens stehen die "Enterprise Javabeans". Es handelt sich dabei um eine Erweiterung des Java-eigenen Komponentenmodells. Dieses soll die modulare Zusammenstellung kompletter Geschäftsanwendungen erlauben. Solche Komponenten zielen weniger auf Funktionen der Infrastruktur als auf die Geschäftslogik ab. Geplante Kaffeebohnen dieser Art eignen sich beispielsweise für Finanz- und Vermögens-Management sowie Steuerung und Produktion.

Enterprise-APIs erschließen Java das Back-Office

Nicht nur diese Komponenten, sondern vor allem auch zusätzliche Programmier-Schnittstellen sollen Java die Welt der unternehmenskritischen Anwendungen erschließen. Dazu zählt neben der bereits im JDK 1.1 implementierten JDBC für den Datenbankzugriff das "Java Naming and Directory Interface" (JNDI). Diese in Zusammenarbeit mit Novell entwickelte Schnittstelle ermöglicht Java-Programmierern den einheitlichen Zugriff auf unterschiedliche Verzeichnisdienste. Die Java-Klassen für Novells NDS liegen bereits vor, andere Hersteller wie Banyan kündigten ihre Unterstützung an oder werden standardmäßig über das Lightweight Directory Access Protocol (LDAP) berücksichtigt. Einspruch erhob allerdings, wie schon bei JDBC, Microsoft, weil eine solche Schnittstelle schon definiert sei. In Redmond hat man zwar bis dato keine Directory-Services zustande gebracht, aber bereits ein Active Directory Services Interface (ADSI) festgelegt: Darüber sollen Programmierer nicht nur auf das geplante Active Directory von Windows NT, sondern auch auf Verzeichnisdienste der Konkurrenz zugreifen.

Zu den angekündigten Enterprise-APIs gehören schließlich noch der "Java Transaction Service" für die Zusammenarbeit mit den Corba Transaction Services sowie die "Java Management API" und "Java Message API". Erstere fungiert als Schnittstelle zu System-Management-Produkten, zweitere als eine solche zu Messaging-Systemen.

Mit den zahlreichen neuen Schnittstellen bietet Java die einzigartige Möglichkeit, innerhalb einer Programmierumgebung für fast alle Anwendungsbereiche zu entwickeln. Der Programmierer braucht sich dank konsistenter APIs um die Eigenheiten heterogener Umgebungen nicht zu kümmern, die Anwendungen laufen außerdem ohne Portierungsaufwand auf praktisch allen Systemen. Dieser unübersehbare Vorteil wächst noch durch die weiteren Expansionsbestrebungen: Neben den beschriebenen Enterprise-APIs dehnt Sun sein Erfolgs- produkt auch in Richtung Multimedia aus (Java Sound, Java Speech, Java 2D) und macht Microsoft seine traditionell Windows-lastigen Standards streitig. Beispielsweise gerät auch TAPI durch Java Telephony API (JTAPI) massiv unter Druck, weil Hersteller von Mobilgeräten darin eine bessere Alternative sehen. Mit den geplanten 3D-Bibliotheken erschließen sich dem New- comer sogar Anwendungen bei CAD/CAM.

Trotz dieser offensichtlichen Vorteile sind mit Java als Entwicklungsplattform auch Einschränkungen verbunden. Die größte besteht wohl darin, wenn für eine Plattform nur eine Sprache zur Verfügung steht. Dies liegt nicht daran, daß man bei Sun eine Abneigung gegen C, C++ oder Basic hat. Die enge Verzahnung zwischen Sprache und Ablaufumgebung hat vielmehr technische Günde: Die Sicherheitsmechanismen der JVM sind nicht allein in der Lage, unzulässigen Code aufzuspüren und abzuwehren. Sie bedürfen zusätzlich des Sprachkorsetts, das der Java-Compiler Programmierern auf Quellcode-Ebene auferlegt. Zwar gibt es mittlerweile Tools, die alle möglichen Sprachen in Java-Bytecode übersetzen, die solcherart erzeugten Anwendungen erhalten aber nicht das Zertifikat 100% pure Java. Anbieter versuchen, diese Beschränkung zu überwinden, indem sie mit ihren Tools Quellcodekonvertierung nach Java vornehmen. Ein Nachteil dieser Lösung besteht darin, daß das Debugging nicht in der Ausgangssprache, sondern in Java stattfinden muß. Inzwischen arbeiten einige Hersteller an einer Universal Virtual Machine, die unabhängig von der Programmiersprache funktioniert. Wann diese Technik zur Verfügung steht, ist bis dato aber nicht absehbar.

Alleskönner ist von Fragmentierung bedroht

Ein weiteres Problem könnte sich ergeben, wenn sich Java als dominierende Entwicklungsplattform durchsetzt. Dann stellt sich die Frage, wie die Offenheit der Sun-Technologie gewährleistet und wie sie gegen Vereinnahmung durch einen Hersteller geschützt werden kann. Letzterem Fall stehe entgegen, so Scott McNealy, daß ein ganzes Industriekonsortium an der Entwicklung von Java mitgewirkt hätte. Außerdem sei es im Internet-Zeitalter gar nicht mehr möglich, Basistechnologien proprietär zu vereinnahmen.

Eine weitere Gefahr birgt schließlich die Ausdehnung von Java auf alle Anwendungsgebiete. Alleskönner neigen dazu, Spezialisten in deren Bereichen unterlegen zu sein. Vor allem entstehen Widersprüche, wenn unterschiedliche Anforderungsprofile unvereinbare Eigenschaften erfordern. Zudem droht mit der Ausweitung der Einsatzgebiete die Fragmentierung in inkompatible Teilsysteme. Die von Javasoft angekündigten, je nach Geräteklasse unterschiedlichen Ablaufumgebungen unterstützen nur einen Teil der Java-APIs. Eine Anwendung, die beispielsweise für einen NC geschrieben wurde, kann unter Umständen nicht auf einem Personal Digital Assistant (PDA) ablaufen.

Java One

Sun kooperiert mit einer ganzen Reihe von Herstellern, um die Programmiersprache Java zu einer umfassenden Entwicklungsplattform für alle Anwendungsbereiche auszubauen. Technische Verbesserungen und eine Zertifizierungsinitiative sollen dieses Vorhaben weiter voranbringen. Java ist damit auf dem besten Weg, Betriebssystemen wie Windows den Rang als bevorzugte Anwendungsumgebung abzulaufen. Eine Vielzahl von neuen Produkten bezeugt, daß die Industrie - zumindest in den USA - auf den Java-Zug aufspringt.