Suche
Final Draft

Java EE 8: Finaler Entwurf ist da – das sind die Highlights

Hartmut Schlosser

(c) Shutterstock /fotoear

Die Veröffentlichung von Java EE 8 nähert sich in großen Schritten. Das Entwicklerteam der populären Java Enterprise Edition hat nun den Proposed Final Draft vorgestellt. Welche Neuerungen erwarten uns?

Java EE 8 auf der Zielgeraden

Die Spezifikation für Java EE 8 ist so gut wie abgeschlossen. Der nun vorliegende Proposed Final Draft ist das letzte Entwurfsdokument für die Java-EE-8-Plattform sowie das korrespondierende Web-Profil, das dem JCP Exekutiv-Komitee nun zur Abstimmung vorgelegt wird.

Enthalten sind alle API-Spezifikationen der Plattform, insbesondere:

  • Enterprise JavaBeans™ (EJB) 3.2
  • Servlet 4.0
  • JavaServer Pages™ (JSP) 2.3
  • Expression Language (EL) 3.0
  • Java™ Message Service (JMS) 2.0
  • Java™ Transaction API (JTA) 1.2
  • JavaMail™ 1.6
  • Java EE™ Connector Architecture 1.7
  • Web Services for Java EE 1.4
  • Java™ API for XML-based RPC (JAX-RPC) 1.1
  • Java™ API for RESTful Web Services (JAX-RS) 2.1
  • Java API for WebSocket 1.1
  • Java API for JSON Processing 1.1 (JSON-P)
  • Java API for JSON Binding 1.0 (JSON-B)
  • Concurrency Utilities for Java EE 1.0 (Concurrency Utilities)
  • Batch Applications for the Java Platform 1.0 (Batch)
  • Java™ API for XML Registries (JAXR) 1.0
  • Java™ Platform, Enterprise Edition Management API 1.1
  • Java™ Platform, Enterprise Edition Deployment API 1.2
  • Java™ Authorization Contract for Containers (JACC) 1.5
  • Java™ Authentication Service Provider Interface for Containers (JASPIC) 1.1
  • Java EE Security API 1.0
  • Debugging Support for Other Languages (JSR-45)
  • Standard Tag Library for JavaServer Pages™ (JSTL) 1.2
  • Web Services Metadata for the Java™ Platform 2.1
  • JavaServer Faces™ 2.3
  • Common Annotations for the Java™ Platform 1.3
  • Java™ Persistence API 2.2
  • Bean Validation 2.0
  • Managed Beans 1.0
  • Interceptors 1.2
  • Contexts and Dependency Injection for the Java EE Platform 2.0
  • Dependency Injection for Java 1.0

Die Liste ist lang, die Liste der wichtigen Neuerungen allerdings übersichtlich.

Lesen Sie auch: Programmiersprachen 2017 – Popularität, Arbeitsmarkt und Gehalt

Java EE 8 – eine schwere Geburt

Die Entstehungsgeschichte von Java EE 8 ist bekanntlich keine einfache gewesen. Nach dem Release von Java EE 7 im Juni 2013 wurde die Ausrichtung der nächsten Version 8 mehrfach verändert. Die Bemühungen gerieten spätestens 2016 ins Stocken, als von Oracle über mehrere Monate hinweg keine Aktivitäten in Sachen Java EE zu registrieren waren.

Der Durchbruch gelang dann auf der JavaOne 2016, als Oracle eine neue Roadmap vorlegte. Demnach sollte Java EE 8 mit der Ausrichtung auf moderne Webentwicklung im Jahr 2017 fertiggestellt werden, gefolgt von einem Java EE 9 Release bereits im Jahr 2018, in dem die Themen Cloud und Microservices zum Tragen kommen sollen.

Der erste Teil der Roadmap – Java EE 8 – ist nun fast erledigt. Allerdings finden sich in Java EE 8 keine revolutionären Änderungen, sondern vor allem nützliche Erweiterungen und Updates bestehender APIs.

Java EE 8 – was ist neu?

Updates gibt es in Java EE 8 bei den folgenden APIs:

  • Servlet 4.0 (JSR 369)
  • JSF 2.3 (JSR 372)
  • JAX-RS 2.1 (JSR 370)
  • CDI 2.0 (JSR 365)
  • Bean Validation 2.0 (JSR 380)
  • Java API for JSON Processing 1.1 (JSONP, JSR 374)

Die Servlet-4.0-Spezifikation wartet mit einer Unterstützung von HTTP/2 auf. Die Java Server Faces (JSF) 2.3 schaffen das alte JSF Managed Bean Facility-Modell ab und setzen stattdessen voll auf CDI und Websockets.

Nützliche Erweiterungen finden sich in der JAX-RS 2.1 Spezifikation. So erleichtert etwa die Unterstützung des CompletionStage Features aus Java 8 das Aufsetzen eines Reactive Clients für die asynchrone Kommunikation. Zudem werden Server-Sent Events unterstützt.

In CDI 2.0 wurden asynchrone Events eingeführt, zudem lässt sich CDI 2.0 nun auch in Java SE nutzen. Das Bean Validation API 2.0 sowie CDI 2.0 sind außerdem auf Java 8 eingestellt und erlauben die Nutzung von Java 8 Features wie Lambda-Ausdrücke und Streams.

Das Java API for JSON Processing 1.1 erweitert seine Unterstützung für JSON-Standards wie JSON Pointer, JSON Patch und JSON Merge Patch.

Ganz neu hinzugekommen sind zwei APIs: das Security API 1.0, in dem u.a. ein Authentifizierungsmechanismus standardisiert wurde, sowie das Java API for JSON Binding 1.0 (JSON-B, JSR 367).

Vergeblich sucht man indes nach den in früheren Planungen enthaltenen Spezifikationen für das MVC-Framework 1.0, JMS 2.1 und Management 2.0, die der neuen Java-EE-Ausrichtung zum Opfer gefallen sind. MVC wird mittlerweile als separates Projekt unabhängig von Java EE weiterentwickelt. Das Management API ist in Java EE 8 lediglich in Version 1.1 enthalten, der Java Message Service JMS in der alten Version 2.0.

Der große Wurf?

Ist Java EE 8 der große Wurf? Nun, allein die Tatsache, dass nach vier langen Jahren endlich wieder eine neue Version der Java Enterprise Edition erscheint, in der viele überfällige Aktualisierungen vorgenommen wurden, ist der Community einigen Beifall wert:

Sebastian Daschner:

Java EE 8 geht in ähnlicher Richtung weiter wie schon Java EE 7, indem es Entwicklern die Arbeit einfacher macht und die Benutzung der verschiedenen APIs und Spezifikationen weiter vereinheitlicht. Vor allem die voranschreitende Integration mit CDI verbessert die Benutzung und den Code in Projekten.

Lars Röwekamp:

Auch wenn Java EE 8 am Ende aus technologischer Sicht vielleicht weniger bietet, als von dem einen oder anderen erhofft, ist es doch ein wichtiger Meilenstein auf dem Weg in die Zukunft des Java-Enterprise-Standards. Zum einen stellt Java EE 8 ein klares Bekenntnis von Oracle bezüglich des Fortbestehens des Umbrella JSR dar – eine Tatsache, an der viele Entwickler aus der Community vor wenigen Monaten noch arg gezweifelt haben. Zum anderen bietet Java EE 8, dank der Fokussierung auf API Alignement und Ease of Development, eine solide Grundlage für den zukünftigen Ausbau der Plattform in Richtung Cloud, Microservices und Reactive Programing.

Java EE is back!

Der Proposed Final Draft für Java EE 8 wird in Kürze dem JCP Exekutiv-Komitee zur Abstimmung vorgelegt. Wie Java EE Lead  Linda DeMichiel auf ihrem Blog mitteilt, sind die Änderungen gegenüber dem letzten Entwurf (Public Review Draft) geringfügig und beziehen sich vor allem auf die Synchronisierung mit dem neuen Java Security API.

Da dieser Public Review Draft am 12. Juni fast einstimmig vom JCP angenommen wurde (22 Ja-Stimmen, 3 Nichtwähler), ist mit einem raschen Durchwinken des Final Drafts zu rechnen.

Ergebnisse des Public Review Ballot für Java EE 8 (12.6.2017)

 

Zwar steht der genaue Release-Termin von Java EE 8 noch nicht fest. Das angepeilte Ziel, Java EE 8 bereits im Sommer 2017 zu veröffentlichen, scheint aber durchaus realistisch:

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.