JavaOne 2004: Java ist noch lange nicht ausgereizt

02.07.2004 von Jürgen Fey
Vom 28. Juni bis 1. Juli fand in San Francisco die neunte Java-Developer-Konferenz von Sun statt. Neben Java-Trends gab es kernige Sprüche und bedeutende Neuankündigungen. Wir fassen die wichtigsten Punkte zusammen.

Die diesjährige JavaOne machte deutlich, dass Java sowohl hinsichtlich der Sprache selbst wie auch den vielfältigen APIs und Tools noch lange nicht ausgereizt ist. Nachdem die Java-Welt in den letzten Jahren hauptsächlich durch eine Vielzahl zusätzlicher APIs den Wandel von einer Sprache für Applets und Desktop-Applikationen zu einer umfassenden IT-Infrastruktur, von der Smartcard über Handys bis zum Enterprise-Backbone vollzogen hat, wurde auf der diesjährigen JavaOne die einsetzende Migration der Sprache selbst deutlich.

Die neue Richtung gibt die Java 2 Standard Edition 5.0 (das ehemalige Tiger-Projekt) vor, die eine Reihe neuer Elemente wie "generics", autoboxing oder annotations bietet. So fanden sich in einigen Vorträgen erste Hinweise drauf, wie die Neuerungen in Zukunft zum Einsatz kommen sollen. Zur JavaOne wurde die Verfügbarkeit der J2SE 5.0 Beta 2 angekündigt.

Die Neuerungen werden schrittweise in alle APIs einfließen - alte Java-Hasen müssen wohl oder übel wieder die Schulbank drücken. Eine Vielzahl von Vorträgen machte diesen Übergang deutlich und zeigte zugleich, dass die Java-Community derzeit dabei ist, an zentralen Grundbestandteilen der gesamten Java-Plattform wie J2EE mit JSP 2.0 oder dem gesamten XML-Umfeld wichtige Veränderungen vorzunehmen.

JSF & JSP

Für web-basierende Applikationen mausert sich die JavaServerFaces-Technologie (JSF) langsam zu einer ernstzunehmenden Alternative zu reinen JSP-Lösungen oder dem Ansatz, den das MVC-Tool Struts verfolgt.

So sehen die Macher von JSF insbesondere die bisher noch nicht adressierte Riege der Enterprise-Applikationsprogrammierer, die die Hilfe von IDEs und deren Wizards allzu gerne für die Erstellung von Intranet- und "normalen" Web-Sites in Anspruch nimmt, als Zielgruppe statt puristisch mit "vi" oder Emacs zu arbeiten.

Hochoptimierte Sites mit einem hohen Aufkommen gelten allerdings noch immer als "rocket science"-Projekte. JSF wird in der Zukunft fester Bestandteil der J2EE-Umgebung sein.

JSP 2.0, ebenfalls Bestandteil von J2EE, bietet ebenfalls eine Reihe interessanter Verbesserungen. Ein Beispiel ist die Organisation der JSP-Tags sowie die neue "Expression Language" EL, mit deren Hilfe man beispielsweise die Funktionalität von Server Side Includes (SSI) ermöglicht. EL kann zudem dazu genutzt werden, Javabeans und andere Klassen einzubinden.

XML

Ein Beispiel für den Wandel der APIS in Richtung der neuen Sprachelemente von J2SE 5.0 ist JAXB 2.0 (JSR-222), von dem derzeit ein "early draft" existiert. Die erste RI (Reference Implementation) ist im Frühjahr 2005 zu erwarten.

Hier kommen beispielsweise Generics in großen Umfang zum Einsatz mit dem Ziel, Applikationen stark zu vereinfachen.

JAB 2.0 bietet ein neues Binding-Interface und erzeugt damit wesentlich weniger Interfaces als bisher. JAXB 2.0 ist unempfindlicher gegen ungültigen XML-Content und bietet eine Art von "fuzzy element handling".

JAXB 2.0 erzeugt endlich auch XML-Schemata aus bereits existierenden Klassen. Hierbei können JavaBeans direkt in ein Schema umgesetzt werden, während "normale" Klassen erst mit Hilfe externer Mapping-Dateien in JavaBeans überführt werden. Durch den Übergang von einer DTD- auf eine Schema-basierende Arbeitsweise bekommen die tatsächlichen Datentypen der XML-Elemente endlich zu ihrem Recht. Dies führt unter anderem dazu, dass Enumerations, da nun der Datentyp sicher definiert ist, auch in Case-Statements zum Einsatz kommen kann.

Das Web Services-Paket JAX-RPC 2.0 (Draft verfügbar, RI im nächsten Jahr) wird neben HTTP auch andere Transport-Protokolle als "first class"-Transport unterstützen und damit wesentlich flexibler. Damit trägt man der Tatsache Rechnung, dass HTTP für asynchrone Anwendungen, bei denen beispielsweise ein Request nach einer Woche per Email beantwortet werden soll, ungeeignet ist. Das monolytische Basic Profile 1.0 wird in Komponenten aufgesplittet (Basic Profile 1.1, Simple SOAP Basic Profile 1.0, Attachment Profile 1.0). Die Einführung logischer Handler isoliert einen Client vom tatsächlich genutzten Protokoll

Datensicherheit

Datensicherheit soll so weit wie möglich vereinfacht werden. Auf Basis des Ende 2004 zu erwartenden "WS-I Basic Security Profile 1.0" möchte man dem Anwendungsprogrammierer den Einsatz von Verschlüsselung möglichst ohne große Umstände anbieten.

Eine abstrakte "Security API" verbirgt dabei die Details und Implementation der Verschlüsselungsverfahren (die per Plug-In integriert und per "deployment descriptor" konfiguriert werden) und bietet ein sehr einfach zu nutzendes Schema. Ein Unterprojekt versucht dank diverser Optimierung, insbesondere die Übertragung binärer Daten zu beschleunigen.

"Fast Web Services" bietet eine optimierte binäre Serialisierung und soll bis zu einem Falktor 10 mehr Performance bieten. WS-Clients sollen dabei unverändert in den Genuss der neuen Technologie kommen, während Protokoll-Handler angepasst werden müssen.

JABX 2.0 wird gemeinsam mit JAX-RPC 2.0 (JSR-224) entwickelt welches letztendlich zusammen zu einem festen Bestandteil von J2EE 5.0 wird.

Auch XPATH 2.0 wird im nächsten Jahr mit einer Vielzahl von Veränderungen kommen. Die Spezifikation ist fast abgeschlossen. XPATH 2.0 bietet unter anderem "typed values" und sequences statt der bisher verwendeten nodelists. Der Zugriff auf strukturierte Daten wurde wesentlich vereinfacht und endlich unterstützt XPATH 2.0 auch Dokumenten-Kollektionen. Eine Vielzahl neuer Funktionen wie "for" oder "if" können jetzt als Expression genutzt werden statt wie bisher lediglich als <xsl>-Instruktion zur Verfügung zu stehen. Um die Performance zu verbessern, wurde das Parsing verändert. Im Fehlerfalle bricht XPATH 2.0 ab, statt "NaN" zurückzuliefern.

Scripting

Scripting war ebenfalls ein neues Thema. Neben der Expression Language (EL) von JSP 2.0 wurde auch ein Scripting-Projekt (JSR-223) vorgestellt, welches derzeit Sciptsprachen wie JavaScript, PHP und Groovy einbezieht.

Eine RI ist bereits in den nächsten Wochen zu erwarten. Damit ist es möglich, von der Skriptsprache aus per Java Language Binding auf die Java-Objekte zuzugreifen.

Das Skript selbst muss nur einmal kompiliert werden und steht dann übersetzt zur Verfügung. Ein spezielles Web Scripting Framework für Web-Applikationen steht dann ebenfalls zur Verfügung.

MIDP

Im Vergleich zum letzten Jahr waren nur wenige Neuerungen zu vermelden. So unterstützt die Wireless Messaging API 2.0 (JSR-205) endlich auch MMS und Cell Broadcast ohne jedoch den Zugriff auf die Systeminbox für SMS oder MMS zu erlauben. Nach wie vor müssen also Applikationsspezifische SMS/MMS-Server erstellt werden, die parallel zur Inbox die Nachrichten verwalten.

Die Hoffnung, dass J2ME mit MIDP 2.0 endlich etwas zur Ruhe kommt und harmonisiert wird, hat sich nicht bestätigt. So "glänzt" beispielsweise Motorola mit einer Vielzahl Hertseller-spezifischer APIs (Voice Message API, Phonebook API, Datebook API, File API etc.), die zwar den Funktionsumfang deutlich erhöhen, aber den Traum von der portablen Anwendung stark erschweren. Auch sind diverse Aktivitäten seitens der Netz-Betreiber bekannt, die eigene J2ME-Umgebungen definieren wollen um sich damit Hersteller-unabhängiger zu machen.

Lebenszeichen von Sun

In den letzten Monaten haben die Diskussionen um das ehemalige Lieblingskind der Internet-Ökonomie, Sun Microsystems, stark zugenommen. Die anhaltende Kaufschwäche der ehemals zahlungskräftigen Kundschaft hat gerade im letzten Jahr zu Verlusten in Milliardenhöhe geführt. Zudem versucht die Konkurrenz um IBM und BEA durch die Forderung, Java "endlich" per Open-Source-Lizenz für alle zu öffnen, Sun die Kontrolle über Java abspenstig zu machen.

Sun-CEO Scott McNealy nutzte seine Keynote anlässlich der JavaOne-Konferenz in San Francisco, um die Kritik zu kommentieren und teilte selbst natürlich ebenfalls die erwarteten Seitenhiebe aus. Klar, dass mit Microsoft auch der ehemalige Erzfeind Adressat war, wenn auch die Töne seit der denkwürdigen Partnerschaft spürbar moderater wurden.

Kassensturz bei Sun

McNeally begann mit einem aktuellen Kassensturz. Bei einer Marktkapitalisierung von etwa 14,5 Milliarden US-Dollar habe man etwa 7,5 Milliarden US-Dollar in der Kriegskasse bar auf der Bank. 1,8 Milliarden US-Dollar wurden im letzten Jahr in Forschung und Entwicklung gesteckt. Insgesamt verfüge Sun über mehr als 3500 Patente. In den vergangenen drei Quartalen habe man auch dank einer aggressiven Preispolitik den Umsatz bei SPARC-basierenden Server-Systemen um 22% steigern können.

McNealy blieb Aussagen über Gewinnmargen und nähere Details im Bereich der Intel- beziehungsweise AMD-basierenden Systeme schuldig. In Zusammenarbeit mit Fujitsu gehe man den Markt der SPARC-Mainframes an (erste Auslieferungen sind Mitte 2006 zu erwarten), während die SPARC-Prozessorfamilie in Kürze mit einem 32-Hardware-Thread-Prozessor neue Leistungsmarken erreichen soll.

Kein Open Source Java

Natürlich ging McNealy auch auf die für viele doch überraschende Partnerschaft mit Microsoft ein: "Unser gemeinsames Ziel ist in einem ersten Schritt die Divergenz der unterschiedlichen Single-Sign-on-Technologien (Liberty Alliance vs. Passport) auszuräumen, um eine funktionierende Interoperabilität beider Systeme zu ermöglichen. Danach gehen wir die unterschiedlichen Ansätze bei den .net- und Java-basierten Webservices an.

Die insbesondere von IBM laut gestellte Forderung nach einem "Open Source Java" wies McNealy erneut zurück: "Entweder gibt es einen, der kontrolliert oder gar keinen. Ich denke, wir haben bisher einen guten Job gemacht, auch wenn manche JCP-Standardisierungsprozesse noch immer zu lange dauern. Wenn Firmen wie IBM Open Source fordern, dann sollen sie diesen Schritt zuerst einmal mit ihren eigenen Technologien angehen".

Alle Infos von der JavaOne 2004

Wir berichten täglich in unserem News-Bereich direkt von der JavaOne.

Unter anderem finden Sie bei tecCHANNEL folgende News:

JavaOne: Java Studio Creator und Netbeans

JavaOne: SuperJ - Middleware für den Client von Nokia

JavaOne: Sun überdenkt Beitritt zu Eclipse

JavaOne: Looking Glass Desktop und Java 3D jetzt Open Source

JavaOne: Nokia unterstützt jetzt auch Eclipse

JavaOne: Java gut, alles gut?

Vodafone: UMTS-Version von Live! auf Java-Basis

Sun: Entwicklerprogramm für Opteron-Systeme

(mec)