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: 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.