Suche
RESTful Web Services für Java

Java EE 8: JAX-RS 2.1 ist fertig – was ist neu?

Hartmut Schlosser

© Shutterstock / mamanamsa

Eine zentrale Spezifikation in Java EE ist JAX-RS. Das Java API for RESTful Web Services ist jetzt in der Version 2.1 erschienen. Das Release von Java EE 8 rückt damit in unmittelbare Nähe.

Während alle Welt gespannt auf Oracles nächste Schritte wartet, um die angekündigte Überführung von Java EE an eine Open Source Foundation zu realisieren, sollte der wichtigste nächste Meilenstein nicht in Vergessenheit geraten: Die Veröffentlichung von Java EE 8 steht kurz bevor!

Die abschließende Zustimmung durch das Java Exekutiv-Komitee ist Anfang der Woche erfolgt – einstimmig (sieht man von der Nichtbeteiligung Intels einmal ab):

JSR #366 – Java Platform, Enterprise Edition 8 (Java EE 8) Specification – Final Approval Ballot

Als eine der letzten Spezifikationen für Java EE 8 wurde nun auch JAX-RS 2.1 offiziell veröffentlicht: JSR 370 – Java API for RESTful Web Services. Die Spezifikationen können ab sofort unter https://www.jcp.org/en/jsr/detail?id=370  heruntergeladen werden. Was ist neu?

JAX-RS 2.1 – was gibt’s Neues?

Wer mit Java REST-Services entwickeln möchte, greift standardmäßig zu JAX-RS. Die neue Version 2.1 ist zwar als Minor-Release bezeichnet, bringt aber doch einige interessante Neuerungen mit.

So macht JAX-RS 2.1 einen Schritt hin zur reaktive Programmierung, indem HTTP-Aufrufe nun direkt in reaktiven Typen zurückgegeben werden können. Non-Blocking I/O und asynchrone Kommunikation werden über einen Reac­tive Client ermöglicht, der die CompletionStages aus Java 8 unterstützt.

Als zweites Highlight werden in JAX-RS 2.1 nun Server-sent Events (SSE) umgesetzt – ein W3C-Standard, der bereits 2006 vom Opera Browser implementiert wurde. Dabei werden über eine HTTP-Verbindungen automatische Updates vom Server zum Browser geschickt. Meist handelt es sich dabei um Plain-Text-Botschaften für Nachrichten-basierte Webanwendungen, die zu Clients gepusht werden, die einen entsprechenden Endpunkt auf dem Server abonniert haben.

Dazu gesellen sich weitere kleine Hilfen zur Steigerung der Entwicklerproduktivität wie der serverseitige Support für HTTP PATCH und Time-out-Spezifikationen im JAX-RS-Client. Schließlich wurde in JAX-RS 2.1 noch das Zusammenspiel mit anderen Java-EE-Spezifikationen verbessert: JSON-B (JSR 367), Bean Validation 2.0 (JSR 380) und JSON-P 1.1 (JSR 374).

Java EE 8 – was sonst noch?

Neben JAX-RS 2.1 (JSR 370) gibt es in Java EE 8 Updates bei den folgenden APIs:

  • Servlet 4.0 (JSR 369)
  • JSF 2.3 (JSR 372)
  • 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 bietet Unterstützung von HTTP/2. Die Java Server Faces (JSF) 2.3 schaffen das alte JSF Managed Bean Facility-Modell ab und setzen stattdessen voll auf CDI und Websockets.

CDI 2.0 lässt sich nun auch in Java SE nutzen und führt asynchrone Events ein. Das Bean Validation API 2.0 sowie CDI 2.0 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).

Java EE 8 – wann?

Noch hat Oracle kein Datum für das finale Release von Java EE 8 genannt. Mit der Annahme des Java EE 8 Plattform-JSRs stehen nun aber alle Spezifikationen fest. Was noch fehlt, zumindest teilweise, sind die Implementierungen. Zu erwarten ist das finale Release von Java EE 8 nach Fertigstellung der Referenz-Implementierung Glassfish 5. Wenn hier alles glatt läuft, rechnen wir mit einer Freigabe von Java EE 8 noch im September 2017.
X

Mehr zum Thema:

Ausführlich über die Neuerungen in Java EE 8 können Sie sich im aktuellen Java Magazin informieren:

Infos unter: www.javamagazin.de

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.