Java: Was Mustang und Dolphin bringen

14.07.2005
Von Kay Glahn

Ein wichtiger Trend, den Java-Entwickler beachten müssen, ist das Entstehen von Programmier- und Skriptsprachen, die auf der Java Virtual Machine (JVM) laufen können und eventuell auch die JSR 223 als Schnittstelle verwenden. So hat Sun für das Dolphin-Release angekündigt, neue JVM-Software-Bytecodes für andere Sprachen einzubinden, was eine bessere Unterstützung für dynamische Sprachen wie "Groovy" bedeuten würde. Gleichzeitig gibt es Überlegungen, weitere Skriptsprachen zu unterstützen und zusätzliche Scripting Engines direkt in die Plattform zu integrieren. Eine Engine, die gute Chancen hätte, in die neue Java-Version einzufließen, ist die "Beanshell".

Zentrale Neuerungen im Mustang-Release

• Bessere Überwachung der virtuellen Maschine durch Upgrades der Java Management Extension (JMX) und der Java-Konsole (Jconsol);

• einfachere Fehlersuche und Diagnose durch zusätzliche Diagnostic Hooks in der VM;

• Bereitstellung von Teilen des Web Services Stack, Version 2.0, in der Java SE (Fokus auf der Client-Rolle eines Web-Service);

• Integration von JAX-WS 2.0 sowie JAXB 2.0 und eines Lightweight Server Stack zur Unterstützung von Callbacks;

• neues Framework zum Zugriff auf Informationen innerhalb der Java-Plattform durch Skriptsprachen;

• Bereitstellung einer auf der Mozilla-Rhino-Implementierung basierenden Java Script Engine;

• voller Support für die "Longhorn"-Plattform von Microsoft und Koexistenz mit der Longhorn Common Language Runtime (CLR) sowie Unterstützung von Longhorns Look and Feel ("Avalon");

• schnelleres Grafik-Rendering durch Performanz-Verbesserungen im Direct X Code und der Open GL Pipeline;

• Integration des in JSR 221 spezifizierten JDBC-4.0-Standards mit neuen Funktionen wie automatischer Treibererkennung und SQL:2003-XML-Support;

• Kompilieren von Java-Sourcen aus einer Anwendung heraus mit Hilfe des in JSR 199 spezifizierten Java Compiler API.

Derzeit ist Groovy der wichtigste Vertreter unter den Neuzugängen. Sie ist eine Skriptsprache für die JVM und wird im Java Community Process unter dem JSR 241 spezifiziert. Groovy soll laut ihren Autoren das Schreiben von Skripten und Anwendungen für die JVM schnell und einfach gestalten, weil es Spracheigenschaften bereitstellt, die aus Python, Ruby und Smalltalk bekannt sind. Auf der anderen Seite wird aber eine Java-ähnliche Syntax verwendet. Da Groovy auf der J2SE basiert, können Groovy-Anwendungen deren APIs verwenden und lassen sich auch mit anderen Packages und Anwendungen integrieren, die in Java entwickelt wurden. Eine andere Sprache, die auf lange Sicht als möglicher Kandidat für die Java-Plattform in Frage käme, ist "Fortress". Sie soll wissenschaftlichen Zwecken dienen und wird derzeit in den Labors von Sun entwickelt. Obwohl Fortress von "Secure Fortran" abstammt und ähnliche Aufgaben wie Fortran abdecken soll, hat die Sprache mit Fortran nur wenig gemein.