Java API for RESTful Web Services


Java API for RESTful Web Services

Bei der Java API for RESTful Web Services, kurz JAX-RS, handelt es sich um die Spezifikation einer Programmierschnittstelle (API) der Programmiersprache Java, die die Verwendung des Software-Architekturstils Representational State Transfer (REST) im Rahmen von Webservices ermöglicht und vereinheitlicht.

Die in der Spezifikation beschriebenen Funktionalitäten wurden von einem Unternehmenskonsortium rund um Sun Microsystems sowie weiteren unabhängigen Parteien im Rahmen des Java Community Process erarbeitet und im Java Specification Request 311[1] verabschiedet.

Wie auch andere Programmierschnittstellen der Java Platform Enterprise Edition (JEE) benutzt JAX-RS Annotationen, um die Entwicklung und das Deployment von Webservice-Clients und Service-Endpunkten zu vereinfachen.

Die Spezifikation liegt aktuell in der Version 1.1 vor.

Inhaltsverzeichnis

JAX-RS 2.0

Im Januar 2011 haben beim JCP mit Gründung der Arbeitsgruppe 339 Java Specification Request 339: JAX-RS 2.0: The Java API for RESTful Web Services [2] die Arbeiten zu JAX-RS 2.0 begonnen. Die wichtigsten geplanten Neuerungen sind u. a. eine einheitliche Client API sowie Unterstützung für Hypermedia nach dem HATEOAS-Prinzip. An dem Projekt arbeiten neben anderen internationalen Industrievertretern auch die drei deutschen REST-Experten Jan Algermissen, Markus Karg und Julian Reschke mit, die auch bereits die Vorgänger-Spezifikation JAX-RS 1.1 beeinflusst hatten. Für die Umsetzung der Referenz-Implementierung (RI) ist das Team um Santiago Pericas-Geertsen und Marek Potociar bei Oracle zuständig, nachdem die bisherigen Teamleiter Marc Hadley Oracle und Paul Sandoz kürzlich verlassen hatten. Die Veröffentlichung (GA) ist für das Frühjahr 2012 geplant und soll in Java EE 7 einfließen.

Implementierungen

Die Referenzimplementierung von JAX-RS stellt das Open Source-Projekt Jersey dar.[3] Jersey 1.0.x basiert auf Version 1.0 und Jersey 1.1.x basiert auf Version 1.1 der Spezifikation.[4]

Weitere Implementierungen von JAX-RS stellen Restlet, JBoss' RESTEasy, Apache Wink und die JAX-RS-Erweiterung von Apache CXF dar. Eine alternative REST-Implementierung, die ebenfalls Annotationen verwendet, stellt die Java-Entwicklungsplattform Spring seit Version 3 bereit – diese orientiert sich allerdings nicht an der JAX-RS-Spezifikation (JSR 311).

Siehe auch

Einzelnachweise

  1. JSR 311-Projektseite
  2. http://jcp.org/en/jsr/detail?id=339
  3. Jersey-Projektseite
  4. Unterschiede zwischen Version 1.0 und 1.1

Weblinks


Wikimedia Foundation.