Enterprise Java wird in diesem Jahr 22 – zumindest wenn man den Standard betrachtet. Der Name Java EE wird durch Jakarta EE ersetzt. Was hat es damit auf sich?
Java EE
Ursprünglich als J2EE im Jahr 1999 released ist Java EE der Standard für Serveranwendungen in Java. Aufgrund der überbordenden technischen Komplexität der frühen Versionen bis J2EE 1.4 entwickelte sich zeitparallel das Spring Framework als mächtige Alternative. In Java EE 5 übernahm man die Konzepte von Spring und machte die Plattform ebenso leichtgewichtig. Viele Java-Entwickler*innen sehen Java EE zwar immer noch als schwergewichtig an, aber das lässt sich mit Blick auf den Code schon lange nicht mehr rechtfertigen.
Was man allerdings kritisieren konnte, war die recht langsame Weiterentwicklung der Plattform. Jeweils 3 bis 4 Jahre von einem Major Release zum nächsten sind für die schnell wachsenden Anforderungen des Marktes (Stichworte: Microservices, Cloud) nicht akzeptabel.
Bei der Weiterentwicklung der Java EE 7 entstand in den Jahren 2016 und 2017 eine irritierende Pause, als insbesondere die von Oracle geleiteten Teilspezifikationen nicht voran zu kommen schienen.
Die Java-Community war sich nicht sicher, was da passiert – oder eben auch nicht passiert. Würde Java EE eventuell sogar aufgegeben, “eingestampft”? Die Erlösung folgte 2017, als einerseits Java EE 8 veröffentlicht wurde und andererseits Oracle verkündete, dass die Plattform als Open-Source-Projekt an die Eclipse Foundation gehen würde.
Jakarta EE
Dieser guten Nachricht folgten leider zwei “Aber”: Oracle behielt die Rechte am Namen Java EE. Im Open-Source-Projekt entschied man sich mit Hilfe eines Community Votings für den neuen Namen Jakarta EE.
Dramatischer ist jedoch, dass sich Oracle und Eclipse Foundation nicht auf die weitere Nutzung des häufig auftretenden Paketnamen-Präfixes javax
einigen konnten. Die bisherigen Pakete dürfen zwar weiter verwendet aber nicht verändert werden. Die Folge: In einem Big Bang werden sämtliche JEE-Pakete von javax.XYZ
in jakarta.XYZ
umbenannt. Da der Paket-Präfix nicht nur im JEE-Bereich genutzt wird, kann man nicht etwa in seinen Programmquellen javax.
durch jakarta.
ersetzen. Glücklicherweise unterstützen die gängigen IDEs recht gut bei der Migration.
Ebenfalls geändert werden XML-Namespaces (aus http://xmlns.jcp.org
wird https://jakarta.ee
) und Konfigurations-Properties (z. B. javax.persistence.jdbc.driver
-> javax.persistence.jdbc.driver
).
Diese Änderungen wurden in abgegrenzen Schritten durchgeführt:
- Jakarta EE 8 wurde 2019 code-gleich zu Java EE 8 veröffentlicht. Geändert haben sich ausschließlich die Spezifikationsdokumente, in denen die dem Urheberrecht von Oracle unterlegernden Namen durch neue ersetzt wurden.
- Jakarta EE 9 wurde 2020 mit unveränderter Funktionalität released, wobei die zuvor beschriebenen Umbenennungen von Paketen, Namespaces und Properties durchgeführt wurde.
- Jakarta EE 10 wird lt. Plan Ende 2021 oder Anfang 2022 veröffentlicht. Dies ist das erste Release seit Java EE 8, das Änderungen der Funktionalität einführt. Die Details sind noch nicht finalisiert, aber relativ klar ist, dass CDI um nahezu alle Features ergänzt wird, die bislang nur in EJB zu finden sind. Zudem wird vermutlich Config aus MicroProfile nach Jakarta EE übernommen. Gute Chancen hat zudem die Integration von NoSQL.
Soviel für heute. Beim nächsten Mal werfe ich einen Blick auf einige Compatible Products, und zwar mit klassischen Deployments, JAR Deployments und Micro(profile) Runtimes – stay tuned!
Weitere Informationen
Wir versorgen Sie gerne mit weiterem Input:
- Unser Expertenkreis Java ist eine regelmäßige Vortragsveranstaltung zu allem aus dem Java-Ökosystem. Melden Sie sich kostenfrei an unter https://gedoplan.de/java-events/.
- In die Tiefe gehen wir in unseren Seminaren, z. B. mit dem Power Workshop Jakarta EE, zu finden auf https://gedoplan.de.
- Zweimal im Jahr finden Sie in unserem Firmenmagazin GEDOPLAN aktuell Fachartikel zu den Themen, die uns bewegen. Fordern Sie die Print-Ausgabe an oder lesen Sie online unter https://gedoplan.de/publikationen/.
Dirk Weil, GEDOPLAN GmbH