Overview of IBM JAX-RS

Java API for RESTful Web Services (JAX-RS) is a programming model that provides a mechanism for developing services that follow Representational State Transfer (REST) principles. Using JAX-RS, development of RESTful services is simplified.

New feature New feature: JAX-RS is a collection of interfaces and Java annotations that simplifies development of server-side REST applications. By using JAX-RS technology, REST applications are simpler to develop, simpler to consume, and simpler to scale when compared to other types of distributed systems. This product supports a Java API for developing REST-based services. The IBM® implementation of JAX-RS provides an implementation of the JAX-RS specification. newfeat

To develop RESTful services using IBM JAX-RS, it is assumed that you are familiar with basic REST principles and a basic knowledge of standard technologies, such as HTTP, and XML.

REST and JAX-RS

Representational State Transfer, also known as REST, is an architectural style that uses multiple standard technologies like HTTP, XML, ATOM, and HTML. REST is used to define flexible applications based on the notion of resources. A resource is simply any data that you want to share on the web that you can identify by a Uniform Resource Identifier (URI).

JAX-RS is a specification defined by JSR-311 in the Java Community Process. Some of the key features provided by JAX-RS include:
  • A collection of annotations for declaring resource classes and the data types they support
  • A set of interfaces that allow application developers to gain access to the runtime context
  • An extensible framework for integrating custom content handlers
Apache Wink and the IBM implementation of JAX-RS

Wink is a project developed within the Apache Software Foundation that provides a lightweight framework for developing RESTful applications. Wink supports REST services implemented using JAX-RS to describe the resources on the server. However, a client API is also provided by Wink. This client API is specific to the Wink runtime environment because there is no JAX-RS defined client API.

The IBM implementation of JAX-RS is an extension of the base Wink 1.1 runtime environment. IBM JAX-RS includes the following features:
  • JAX-RS 1.1 server runtime
  • Stand-alone client API with the option to use Apache HttpClient 4.0 as the underlying client
  • Built-in entity provider support for JSON4J
  • An Atom JAXB model in addition to Apache Abdera support
  • Multipart content support
  • A handler system to integrate user handlers into the processing of requests and responses
Now, you are ready to start learning more about implementing RESTful services using IBM JAX-RS.
  • For an example of how to get a JAX-RS web application running quickly, see the quick start documentation.
  • To learn about planning considerations for the JAX-RS application, see the planning to use JAX-RS to enable RESTful services documentation.
  • To learn more about developing, packaging, and deploying JAX-RS web services, see the implementing JAX-RS web applications documentation. Additional information is provided for implementing JAX-RS web applications that use XML, JSON, or Atom content formats.



Related tasks
Planning to use JAX-RS to enable RESTful services
Implementing JAX-RS web applications
Using XML content in JAX-RS application requests and responses
Using JSON content in JAX-RS application requests and responses
Using Atom content in JAX-RS application requests and responses
Related reference
Web services specifications and APIs
Related information
JAX-RS: Java API for RESTful Web Services (JSR 311)
Fielding, Roy Thomas. Architectural Styles and the Design of Network-based Software Architectures. Doctoral dissertation, University of California, Irvine, 2000, Chapter 5
Hypertext Transfer Protocol -- HTTP/1.1 specification
Concept topic Concept topic    

Terms of Use | Feedback

Last updatedLast updated: Sep 19, 2011 5:16:49 PM CDT
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=matt&product=was-base-iseries&topic=cwbs_jaxrs_overview
File name: cwbs_jaxrs_overview.html