Internet-Programmiersprache erobert die IT-Welt

21.01.1999

MÜNCHEN: Anfangs als Gimmick für Internet-Freaks belächelt, entwickelt sich Java zu einer ernstzunehmenden Entwicklungsplattform für unternehmenskritische Anwendungen. Vielfältige Chancen eröffnen sich hier dem Fachhandel: einerseits als Lieferant der entsprechenden Entwicklungswerkzeuge, andererseits als Anbieter von individuell angepaßten Java-Lösungen.In ersten Werbefilmchen stellte Sun die neue Programmiersprache Java als die eierlegende Milchwollsau schlechthin dar. Da konnte plötzlich die Mikrowelle mit dem Kühlschrank kommunizieren und gegebenenfalls die für das Menü fehlenden Zutaten telefonisch ordern. Sogar der Haushund gehorchte Java-Befehlen. Freilich, die heutige Realität sieht völlig anders aus, aber kann denn Java die Erwartung in nächster Zukunft erfüllen?

Davon ist Sun-Chef Scott McNealy natürlich völlig überzeugt. Jini, das neue Kind aus seinem Hause, soll das Einbinden von Peripheriegeräten ins Netzwerk zum Kinderspiel degradieren. Kein umständliches Herumkonfigurieren mehr, einfach die Digitalkamera ans Netz anstöpseln, und schon kann es mit dem Ausdrucken der Bilder losgehen. Jini, die neue, auf der Java-2-Plattform basierende Technologie, soll es ermöglichen (siehe auch Kasten auf Seite 44).

Java wird die OO-Sprache

Sicherlich, bis Haushaltsgeräte miteinander kommunizieren können, dürfte noch einige Zeit vergehen. Doch der Siegeszug von Java ist nicht aufzuhalten. Die Zahl der Entwickler wird schon jetzt auf über eine Million geschätzt, mit steil ansteigender Tendenz.

Aber auch Systemhäuser engagieren sich zunehmend in diesem neuen Feld. Hatten 1997 erst 83 Prozent der auf objektorientierte (OO) Programmiersprachen spezialisierten Häuser Java im Einsatz, so werden dieses Jahr wohl alle übrigen nachziehen (siehe Grafik 1).

Manche von ihnen haben gar ganz auf Java gesetzt, so zum Beispiel die Münchner Infobahn GmbH. 1994 in einer Garage im kalifornischen Palo Alto gegründet, etablierte sich die Firma aus dem Herzen des Silicon Valley auch in Deutschland und Rumänien. Für Mitbegründerin und Geschäftsführerin Mariana Bozesan ist Java die Zukunft schlechthin:

"Als Programmiersprache wird sie nicht nur C++ ersetzen sondern alle objektorientierten Dialekte, inklusive Smalltalk und Objective C", so die Managerin gegenüber ComputerPartner. Das größte Problem stellt für sie der leergefegte Markt für Java-Spezialisten dar. "Denn hoch ausgebildete Fachkräfte sind nun mal nötig, um Neukunden zu gewinnen", verdeutlicht Bozesan das Dilemma. "Hinzu kommt der enorm hohe Aufwand an Schulung und Beratung bei einer solch totalen Umorientierung".

Java boomt nun endlich auch an Hochschulen

Auch für Dirk Bönning, den Vorsitzenden der Java User Group (JUG) Deutschland, kennzeichnet ein eklatanter Fachkräftemangel die heutige Java-Landschaft. Das ändert sich zwar, aber nur langsam. "Heutztage fahren die Informatikstudenten voll auf Java ab", schildert Bönning. "Sie lernen nur noch die theoretischen Grundlagen der C++-Programmierung und steigen nach dem Vordiplom auf das Internet-Pendant um. Dort sammeln sie auch ihre praktischen Erfahrungen."

Dank Java hält Bönning ebenfalls alle objektorientierten Programmiersprachen für überflüssig. "Bereits heute werden 90 Prozent der neuentwickelten Anwendungen in Java programmiert", so Bönning gegenüber ComputerPartner. So ist damit zu rechnen, daß alle Einsatzgebiete, die bisher von den klassischen Programmiersprachen bedient wurden, früher oder später von Java besetzt werden.

Das Argument der Java-Antagonisten, die neue Sprache sei zu wenig performant, läßt Bönning nicht gelten: "Die Java-Performanz wird doch andauernd verbessert." Das trifft tatsächlich zu, einerseits durch verbesserte Versionen der Interpreter-Software JVM (Java Virtual Machine), anderseits durch neue Hardware. "In die kommende Generation von Prozessoren wird der Interpreter bereits eingebrannt", prophezeit der JUG-Vorsitzende. Dann würden Java-Programme nicht mehr durch die rechnerspezifische Software gebremst, sondern könnten hardwareseitig ausgeführt werden.

So plant zum Beispiel Sun, einen solchen Java-Chip zu entwerfen. "Aber auch andere Halbleiterhersteller können entsprechende Prozessoren entwickeln, der Java-Code ist ja kein Geheimnis", gibt sich Bönning zuversichtlich.

Leistungssteigerung durch intelligente Programmierung

Eine weitere Möglichkeit, die bisher noch schwache Performance von Java zu verbessern, besteht darin, daß man bestimmte Programmmodule in C und C++, in Fortran oder in der maschinennahen Sprache Assembler programmiert und diese Routinen dann in bestehende Java-Umgebungen integriert. "Das alles stellt heutzutage kein Problem mehr dar", erläutert Bönning.

Aber auch die Umwandlung des zu interpretierenden Java-Bytecodes in hardwarespezifischen Binär-Code ist möglich. Dann kommt die Ausführungsgeschwindigkeit von Java-Programmen an die von C++ heran, deren Plattformunabhängigkeit geht aber flöten.

Nicht ganz so optimistisch zeigt sich Dr. Stephan Wendler, Leiter Kommunikation bei der Schumann Unternehmensberatung AG: "Java als Programmiersprache wird C++ nicht ersetzen, jedenfalls nicht kurzfristig." Dafür beobachtet Wendler eine starke Verdrängung von Smalltalk durch die neue Internet-Programmiersprache. Insgesamt nimmt für ihn die Bedeutung von Java stark zu. So beträgt der Anteil an Java-Beratung bei dem Authorized Java Center der Schumann AG bereits 50 Prozent, Tendenz steigend. Auch die Kundenakzeptanz wächst:

"Nach einer zähen und zögerlichen Anfangsphase im Jahr 1997 wird heute Java weitgehend als stabile Technologie angesehen", schildert Wendler die Erfahrungen mit seinen Kunden.

Ausschlaggebend für die Akzeptanz von Java in der Industrie ist seiner Meinung nach die Plattformneutralität der neuen Technologie. Damit lassen sich immense Kosten bei der Entwicklung und Verteilung von Software einsparen. Auch wenn das von Sun kreierte Motto "Write once, run anywhere" seit Microsofts Anstrengungen, ein Windows-Java zu entwickeln, nicht immer zutreffen mag, ist eine weitere Marktdurchsetzung der neuen Programmiersprachen wohl nicht aufzuhalten.

Für diese Erfolgsstory nennt Wendler weitere Gründe: "Java läßt sich mit Corba-basierter Middleware kombinieren und damit auch in bestehende Anwendungen integrieren." Neben diesem Investitionsschutz sind für den Manager folgende Besonderheiten der neuen Programmiersprache entscheidend: "Java weist alle Vorzüge einer objektorientierten Softwareentwicklung auf, mit den Enterprise Java Beans verfügt sie über eine ausgereifte Komponentenarchitektur. Außerdem ist Java sehr robust, wodurch Fehlersuche und Entwicklungszeit reduziert werden können", preist Wendler das neue IT-Konzept. "Die Sicherheitsfunktionen stellen bei Java einen weiteren Vorteil gegenüber Microsofts Konkurrenzangebot Active X dar."

Mangelnde Bandbreite

Aber auch die Schwächen von Java bleiben Wendler nicht verborgen:

"Die Performance reicht für einige Anwendungen nicht aus" (siehe auch Grafik 4 auf Seite 44). Ferner bemängelt der Schumann-Manager die oft zu großen Java-Applets. Seiner Meinung nach sollten diese möglichst klein, die Bandbreite für deren Übertragung hingegen großzügig bemessen sein. Als erschwerend für die Java-Akzeptanz sind überdies die bisher noch nicht ausgereiften Entwicklungswerkzeuge zu nennen (siehe auch Grafik 3 auf dieser Seite).

Immerhin versprechen hier Hersteller wie Symantec Besserung. "Auch die Virtuellen Maschinen werden ständig weiterentwickelt", so Wendler gegenüber ComputerPartner. Vielversprechend erscheinen ihm vor allem die "Just-in-time-Compiler" (JIT) und die sogenannte "Hot-Spot-Technologie" (siehe Glossar). "Durchdachtes Design und intelligente Programmierung helfen ebenfalls weiter, beispielsweise durch partielles Nachladen von Klassen", geht Wendler noch tiefer ins Detail. Die mangelnde Bandbreite im Internet kann man seiner Meinung nach durch verbesserte Datenkompression umgehen.

Alles in allem stellt sich für den Schumann-Manager die Java-Zukunft rosig dar: "Durch die Entwicklung von weiteren APIs (Application Programming Interfaces) und Verbesserung der Virtuellen Maschinen wird Java vornehmlich in Systemen mit kleinem Display, also in Telefonen, PDAs oder GPS-Geräten Einzug halten. In Form von Embedded Java werden auch Settop-Boxen und sonstige Haushaltsgeräte, aber auch vereinheitlichte Smart Cards in den Genuß der neuen Technologie kommen."

Kunden wollen Java

Es springen denn immer mehr Systemhäuser auf den Java-Zug, und der Java-Anteil am Gesamtumsatz nimmt bei ihnen auch ständig zu (siehe Grafik 2 auf Seite 39). Genauso stellt sich die Situation für die Danet Firmengruppe dar. Ihr derzeitiger Java-Anteil am Gesamtumsatz beträgt zirka zehn Prozent, wird aber nach Aussage von Roland Kuhn, dem Bereichsleiter Telekommunikationstechnologien, dieses Jahr kräftig wachsen: "Unsere Kunden fragen verstärkt Java-Lösungen nach."

Dennoch teilt Kuhn nicht die Auffassung seiner Kollegen, was die Ablösung von C++ betrifft: "Dazu ist die Performance von Java einfach zu schlecht". Er hält auch nicht viel von schnellen Lösungen ê la JIT oder JVM-Chip: "Für manche Lösungen eignet sich Java einfach nicht, hier sollte man weiterhin einer herkömmlichen, objektorientierten Sprache, wie C++, die Stange halten. Denn mit letzterer erzielte Performance erreicht die Internet-Programmiersprache kaum", meint Kuhn. Überhaupt hält der Danet-Manager Java nicht für

das Allheilmittel schlechthin:

"Dort, wo die Kunden über eine homogene Hardwareumgebung verfügen, besteht keine Notwendigkeit, von nun an alles in Java zu programmieren", äußerte Kuhn gegenüber ComputerPartner. Anders verhält es sich natürlich, wenn ein ganzer Zoo von unterschiedlichen Rechnerplattformen anzutreffen ist. "Dann spielt Java die gesamten Vorteile aus, sowohl bezüglich der Plattformunabhängigkeit als auch bei der unkomplizierten Softwareverteilung." Hier macht es für den Danet-Manager natürlich schon einen Unterschied aus, ob der Systemverwalter zu jedem einzelnen der 350 Clients mit einer Diskette wandern muß, um ein Update zu installieren, oder ob sich der Anwender die neueste Software einfach per Mausklick am Browser als Java-Aplett vom Server herunterladen kann. Dann muß nämlich nur die Software am Server gewartet werden, die Anwender merken im besten Fall gar nichts von einer neuen Version.

Entwicklungswerkzeuge lassen zu wünschen übrig

Oft ist es aber auch schlampige Programmierung, wenn die Antwortzeiten dem User zu lange erscheinen.

"Bei Java-Anwendungen müssen eben die zu übertragenden Daten minimalisiert werden, denn nur dann wird ein solches Programm vom Kunden akzeptiert", schildert Kuhn seine Strategie bei der Entwicklung von neuen Applikationen in Java. Genau hier liegt auch für ihn die Crux an der ganzen Geschichte: "Alle derzeitig auf dem Markt verfügbaren Java-Entwicklungswerkzeuge unterstützen den Programmierer gar nicht mit einem solchen Feature. Der Programmierer muß dann eben selber schauen, daß er ein Objekt nicht mehrmals definiert und das Volumen der zu übertragenden Daten klein hält", so Kuhn weiter.

Eine intelligent entworfene Java-Anwendung ist für den Danet-Manager dann gegeben, wenn die Antwortzeiten eben nicht mehr von der Übertragungsdauer abhängen, sondern einzig und alleine von der Middleware bestimmt werden, beispielsweise bei einer Datenbankabfrage. Hier hat Danet bereits unternehmenskritische Anwendungen bei Kunden implementiert, beispielsweise eine Datenbankanbindung mit Java-front-End.

Überhaupt liegt für Kuhn der Hauptvorteil von Java darin, daß man beim Kunden klein anfangen kann, etwa mit einer Maske zur Datenbankabfrage. Später können problemlos weitere Module hinzukommen. "Der Kunde weiß manchmal selbst nicht genau, was mit Java alles möglich ist", verrät der Danet-Bereichsleiter. "Erst im Laufe des Projektes kommen immer weitergehende Anforderungen hinzu". Diese lassen sich nach Aussage von Kuhn mit dem objektorientierten Konzept von Java meist gut realisieren. Mit zusätzlichen APIs können etwa neue Schnittstellen zu bestehenden Mainframe-Anwendungen oder individuell angepaßte Funktionen und erweiterte Eingabemasken relativ schnell programmiert werden. Durch diese modulare Bauweise erhöht sich die Investitionssicherheit beim Kunden. Er erhält am Ende oft eine Lösung, die er anfangs so komplex gar nicht erwartet hätte.

Das große Handicap von Java liegt auch für Kuhn in der nicht ausreichenden Performance. "Sie kann natürlich durch Anpassung an die Hardware-Gegebenheiten verbessert werden, etwa durch Compilierung des Byte-Codes, doch dann geht die Plattformunabhängigkeit verloren", schränkt der Danet-Manager ein. Für völlig ungeeignet hält er hingegen Java als Entwicklungsplattform für Netzwerkmanagement-Programme. In diesem Falle würden nach Meinung von Kuhn zu lange Antwortzeiten entstehen, die der Anwender so nicht akzeptieren könnte. Hier sollte man es daher bei der herkömmlichen objektorientierten Programmierung.

Dies leuchtet auch ein, denn bei der Netzwerkverwaltung ist die Software-Portabilität gar nicht so wichtig. Dieses Programm benötigt ohnehin nur der Systemadministrator, und der sollte wohl in der Lage sein, die Software auf der Plattform seiner Wahl, sei es ein Unix-Derivat oder Windows NT, selbständig zu installieren und zu konfigurieren.

Java 2 auf dem Vormarsch

Ende des vergangenen Jahres gab Sun die Verfügbarkeit von Java 2 bekannt. Dabei handelt es sich um eine Weiterentwicklung des Java Development Kits, den JDK 1.2 (http://java.sun. com/products/jdk/1.2/). Und mit Jini steht bereits ein erstes auf Java 2 basierendes Produkt in den Startlöchern.

Außer zusätzlichen Programmierschnittstellen bietet die neue Java-Plattform ein deutliches Plus an Performance durch die Integration eines Just-in-time-Compilers in die JVM. Daneben soll Java 2 den Anforderungen der Entwickler wesentlich besser genügen und einfacher konfigurierbar sein. Auch am Sicherheitskonzept hat Sun einige wesentliche Änderungen vorgenommen. So können nun auch unter Java Zugriffsrechte individuell vergeben und lokale Ressourcen effektiver genutzt werden.

Hauptsächlich kleinere Firmen dürfte hingegen die neue Lizenzpolitik von Sun erfreuen. Danach können alle gewerblichen Anwender den Java-2-Quellcode kostenlos benutzen und auch auf die eigenen Bedürfnisse zuschneiden. Eine Lizenzgebühr an Sun wird erst dann fällig, wenn ein mit Java 2 entwickeltes Produkt vertrieben werden soll. (rw)

Mariana Bozesan, Geschäftsführerin der Infobahn International GmbH: "Java wird alle objektorientierten Programmiersprachen verdrängen."

Dirk Bönning, Vorsitzender der Java User Group (JUG) Deutschland: "Heute werden 90 Prozent der Anwendungen in Java programmiert."

Sun-Chef Scott McNeally: "Mit Jini arbeitet ein Netzwerk selbstständig und voll automatisch."

Zur Startseite