Java API for RESTful Web Services

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

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.

Geschichte[Bearbeiten]

Ab der Version 1.1 war JAX-RS ein offizieller Teil der Java Platform, Enterprise Edition 6.

Im Januar 2011 begann der Java Community Process mit Gründung der Arbeitsgruppe zu JAX-RS 2.0: Java Specification Request 339: The Java API for RESTful Web Services.[2] Die wichtigsten geplanten Neuerungen waren u. a. eine einheitliche Client API sowie Unterstützung für Hypermedia nach dem HATEOAS-Prinzip. Die Veröffentlichung war ursprünglich für das Frühjahr 2012 geplant und sollte in die Version 7 der Java Platform, Enterprise Edition einfließen. Mit dem Erscheinen der JEE 7 am 12. Mai 2013 wurde auch JAX-RS in der Version 2.0 veröffentlicht.

Implementierungen[Bearbeiten]

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]Jersey 2.0 unterstützt JAX-RS 2.0.

Weitere Implementierungen von JAX-RS sind Restlet, JBoss' RESTEasy, Apache Wink und die JAX-RS-Erweiterung von Apache CXF. 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[Bearbeiten]

Einzelnachweise[Bearbeiten]

  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[Bearbeiten]