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.