Suche
Alte Zöpfe...

CORBA und Java EE verschwinden aus Java 11

Hartmut Schlosser

© Shutterstock / Natasha_Chetkova

 

Zwei altgediente Komponenten der Java Standard-Edition werden bald der Vergangenheit angehören. In Java 11 ist vorgesehen, die Module für CORBA und Java EE aus Java SE sowie aus dem JDK zu entfernen.

Angekündigt war dieser Schritt bereits seit längerem. In Java SE 9 wurden die beiden Module CORBA und Java EE bereits als „deprecated“ markiert und für die Entfernung in einer späteren Version vorbereitet. Nun ist klar, dass dies in Java 11 geschehen soll, dem Release also, das für September 2018 geplant ist.

In JEP 320 wird die Entfernung des Java-EE-Moduls genauer begründet. Als in Java SE 6 ein Web-Service-Stack, bestehend aus JAX-WS, JAXB, JAF und Common Annotations, eingeführt wurde, waren diese Technologien weitgehend identisch zu den Versionen in Java EE. Zwischenzeitlich haben sich die Java-EE-Versionen indes weiterentwickelt, was für Probleme in Java SE gesorgt hat. So wurden Features eingeführt, die im Java-SE-Kontext irrelevant waren, etwa für das Management von Datenquellen in einem Java EE Container. Zudem werden die EE-Technologien mittlerweile als eigenständige Komponenten auf GitHub bzw. Eclipse entwickelt und sind über Drittparteiseiten wie Maven Central verfügbar, sodass die Notwendigkeit einer Integration in die Java SE-Plattform bzw. das JDK nicht mehr gegeben ist.

Bei CORBA verhält es sich so, dass der Standard außerhalb der Java-Community von der OMG entwickelt wird und deshalb ein Extra-Aufwand nötig ist, den Support in Java zu garantieren. Die Integration von CORBA geht ursprünglich auf die Idee zurück, Technologien in Java SE zu unterstützen, die bei der Entwicklung von Java-Anwendungen nützlich sind. Diesen Nutzen, so lautet die Analyse aus JEP 320 ganz deutlich, habe CORBA mittlerweile eingebüßt.

There is no significant interest in developing modern applications with CORBA in Java.

Entfernt werden sollen in Java SE 11 die folgenden 9 Module:

  • java.xml.ws (JAX-WS und die darauf bezogenen Technologien SAAJ und Web Services Metadata)
  • java.xml.bind (JAXB)
  • java.activation (JAF)
  • java.xml.ws.annotation (Common Annotations)
  • java.corba (CORBA)
  • java.transaction (JTA)
  • java.se.ee (Aggregator-Modul der oberen sechs Module)
  • jdk.xml.ws (Tools für JAX-WS)
  • jdk.xml.bind (Tools für JAXB)

Entfernen bedeutet in diesem Kontext genauer, dass der Quellcode der genannten Module aus dem OpenJDK Repository gelöscht wird und die entsprechenden Klassen nicht mehr im JDK Runtime Image enthalten sein werden. Konnte man im JDK 9 die Module noch über den Kommandozeilen-Flag –add-modules hinzufügen, so wird diese Möglichkeit in Java 11 entfallen.

Mit den CORBA- und Java-EE-Komponenten werden zwei Altlasten beseitigt, die man bislang aufgrund der monolithischen Struktur des JDK nur schwer entfernen konnte. Durch die Modularisierung des JDK im Java-9-Projekt Jigsaw ist es nun aber deutlich einfacher, solche alte Zöpfe abzuschneiden. Die Risiken und Nebenwirkungen dieser Veränderungen in Java 11 werden im JEP 320 genauer besprochen.

Verwandte Themen:

Geschrieben von
Hartmut Schlosser
Hartmut Schlosser
Hartmut Schlosser ist Redakteur und Online-Koordinator bei Software & Support Media. Seine Spezialgebiete liegen bei Java-Enterprise-Technologien, JavaFX, Eclipse und DevOps. Vor seiner Tätigkeit bei S & S Media studierte er Musik, Informatik, französische Philologie und Ethnologie.
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.