Java etabliert sich als End-to-End-Plattform

11.04.2002
Von 
Wolfgang Sommergut ist Betreiber der Online-Publikation WindowsPro.

Zwei weitere XML-APIs werden nachgereicht

Noch nicht Bestandteil der beiden Packages sind zwei weitere XML-APIs. Die „Java Architecture for XML Binding“ (Jaxb) soll aus XML-Schemata Java-Klassen generieren. Diese übernehmen dann für alle von diesem Schema abgeleiteten Dokumentinstanzen Standardaufgaben wie etwa das Parsen oder Validieren. Im Gegensatz zu generischen Parsern soll Jaxb zu besserer Performance und weniger Speicherverbrauch führen. Die Version 1.0 kündigte Sun für Ende des Jahres an. Den Vorschlag für ein „XML Streaming API“ brachte Bea erst kürzlich als JSR 173 in den JCP ein. Es soll Programmierern den ereignisgesteuerten Zugriff auf XML-Daten in Ein- und Ausgabeströmen erlauben.

Java-XML-APIs

• Jaxp: „Java XML Processing API“. Derzeit in der Version 1.1, in Kürze 1.2. Es definiert Schnittstellen zu DOM- und SAX-Parsern sowie solche zu XSLT-Prozessoren. Version 1.2 bringt Unterstützung für XML Schema.

• Jaxr: „Java API for XML Registries“. Bietet einheitliche Schnittstellen zu Verzeichnissen wie UDDI oder jenem von ebXML

• Jaxm: „Java APIs for XML Messaging“. Umfasst Interfaces zum Versand von XML-Geschäftsdokumenten.

• Jaxb: „Java Architecture for XML Binding“. Dient der Generierung von Java-Klassen aus XML-Schemata.

• Jax-RPC: „Java APIs for XML based RPC“. High-Level-API für Remote Procedure Calls (RPC) auf Basis von XML.


Die genannten Jax-APIs geben Java-Entwicklern alle Mittel an die Hand, auf einheitliche Weise Web-Services zu entwickeln oder diese in Client-Programmen zu konsumieren. Allerdings sind sie noch nicht Bestandteil der aktuellen Spezifikationen von J2SE und J2EE. Das Server-Java definiert daher auch nicht, wie Web-Services an J2EE-Container gebunden werden.

Derzeit uneinheitliche J2EE-Web-Services

Dies führt etwa bei der Ausbringung von Java-basierenden Web-Services auf Applikations-Servern zu herstellerspezifischen Verfahren und behindert die Portabilität solcher Anwendungen zwischen den J2EE-Servern verschiedener Anbieter. Deshalb versuchen mehrere Hersteller unter Führung der IBM im Rahmen des JSR 109, ein einheitliches Programmiermodell und eine Architektur zur Implementierung von Web-Services zu definieren. Das Ergebnis soll voraussichtlich im Sommer 2002 vorliegen und in die Spezifikation von J2EE 1.4 eingehen, die nächstes Jahr freigegeben werden soll.

Auch wenn Sun große Anstrengungen unternimmt, Java als ideale Plattform für Web-Services zu positionieren, so sollen die bereits vorhandenen Mechanismen zur Entwicklung verteilter Anwendungen nicht aufgegeben werden. Während nämlich Microsoft in .NET das bisher unter Windows gebräuchliche Distributed COM (DCOM) fallen lässt, sollen Java-Anwender weiterhin auf Basis von Corba und der Remote Method Invocation (RMI) programmieren können. Letzteres bewirbt Sun nach wie vor als bevorzugte Technologie in homogenen Java-Umgebungen.

Da sich mit den Web-Services ein herstellerübergreifender Standard für verteilte Anwendungen abzeichnet, bemühen sich die großen Plattformanbieter, die Reichweite solcher Dienste auf möglichst viele Clients auszudehnen. Dazu zählen auch mobile Kleingeräte, die bisher nicht als typische Konsumenten von Web-Services angesehen wurden.

Auch für mobile Geräte

Zum einen zielt nämlich das neue Anwendungsmodell primär auf die B-to-B-Kommunikation ab, die in den meisten Fällen von Server zu Server erfolgt. Zum anderen benötigt die Verabeitung von XML-basierenden Protokollen vergleichsweise viel Speicher und Rechenleistung. Sun will nun im Rahmen des JSR 172 zwei optionale Packages speziell für die Java 2 Micro Edition (J2ME) spezifizieren, die den Zugriff von Kleingeräten auf Web-Services ermöglichen. Um den beschränkten Hardwareresourcen von Handys oder PDAs Rechnung zu tragen, begnügen sich diese mit einer Teilmenge von Jaxp beziehungsweise Jax-RPC.

Die Java-Aktivitäten für derartige Kleingeräte beschränken sich indes nicht nur auf das Hype-Thema Web-Services. Unter dem Codenamen „Monty“ kündigte Sun die Entwicklung einer neuen Virtual Machine an, die vor allem wesentliche Geschwindigkeitsverbesserungen bringen soll. Diese will die Unix-Company in erster Linie über die Nutzung der „Hotspot“-Technologie erreichen, die bereits in J2SE und J2EE Verwendung findet.

Darüber hinaus trägt Sun der steigenden Leistung von mobilen Geräten Rechnung, indem die Connected Limited Device Configuration (CLDC) in der Version 1.1 um wesentliche Funktionen erweitert wird. Dazu zählen die Unterstützung für Fließkommaarithmetik und Fehlerbehandlung durch die VM. Darüber hinaus definiert eine Arbeitsgruppe im Rahmen des JSR 177 eine Reihe von APIs, die Sicherheitsdienste für mobile Geräte verfügbar machen sollen.