Java: Was Mustang und Dolphin bringen

14.07.2005
Von Kay Glahn

Trotz des Fokus auf Web-Services am Client wird Mustang aber auch einen einfachen, leichtgewichtigen HTTP-Server für Callbacks bereitstellen. Alle übrigen JSRs, die künftig Teil der Plattform werden, sind hingegen bereits im Java Community Process spezifiziert oder durchlaufen diesen. Hierzu gehört das in JSR 224 spezifizierte "Java API for XML-Web Services" (JAX-WS) 2.0, das JAX-RPC 1.0 ablöst und um neue Spezifikationen und Updates zu bestehenden Standards erweitert. Mustang wird aber voraussichtlich nicht die komplette Implementierung, sondern lediglich die Client- und die Core-APIs aufnehmen. Die "Service APIs", die die Grundlage für die JAX-WS Services bilden, bleiben somit außen vor.

Fazit

Die Anbindung und Integration von Skriptsprachen, ein leichteres Arbeiten mit Enterprise Javabeans, die überfällige Vereinheitlichung der Persistenzschichten JDO und EJB und die wachsende Präsenz von XML und Web-Services sind Beispiele, wie Sun versucht, auf neue Trends und Probleme in der Java-Gemeinde zu reagieren.

XML auf dem Vormarsch

Ein wichtiger Bestandteil der künftigen Web-Service-Infrastruktur von Mustang ist die in JSR 222 spezifizierte "Java Architecture for XML Binding" (JAXB) 2.0. Sie erweitert die bisherige Version 1.0 erheblich, indem sie im Gegensatz zu dieser auch XML-Schema sowie das Binden von Java-Klassen mit XML-Schema unterstützt. Dies ist unter anderem notwendig, um die Data-Binding-Anforderungen von JAX-WS 2.0 zu erfüllen. Als unterstützende APIs stellt Mustang außerdem noch das "XML Digital Signature API" (JSR 105) sowie ein Update zum "Java API for XML Processing" (JAXP) inklusive dem "Streaming API for XML" (JSR 173) bereit. Noch verheißungsvoller bezüglich der XML-Unterstützung ist allerdings das Dolphin-Release von Java. Es soll eventuell den XML-Support direkt in die Java-Sprache integrieren. Dadurch ließe sich in Java direkt mit XML-Literals arbeiten, und es wäre möglich, XML-Strukturen auf Sprachebene zu manipulieren, ohne Methodenaufrufe zu benötigen.