:::: MENU ::::
Browsing posts in: web services

JAX-RS Implementations

When you are going to start any kind of implementation by using JAX-RS, it’s important to keep in mind that version is the right to integrate with your current needs. Next, you will have a brief description about the main three JAX-RS implementations on the market:

Jersey – It is the open source reference implementation of JAX-RS. Jersey is built, assembled, and installed using Maven. The main project site, https://jersey.java.net/, contains a download button that links to instructions on how to get started with Jersey, its prerequisites, and links to samples. Jersey is also shipped with the application server GlassFish.

Apache CXF – It is a popular open source web services framework. It was originally just a SOAP stack, but they recently added support for JAX-RS. The CXF philosophy is that different web service styles can coexist. You’ll see a lot of this when you use the framework to write your RESTful web services. Apache CXF has a few nice extensions to JAX-RS that I’d like to point out.

JBoss RESTEasy – It is Red Hat’s implementation of JAX-RS and is the project I lead and run at Red Hat. It is licensed under the GNU Lesser General Public License (LGPL) and can be used in any environment that has a servlet container. Many of its features overlap with other JAX-RS implementations, so I’ll highlight only distinguishing features Here.

Securing JAX-RS

Many RESTful web services will want secure access to data and functionality they provide. This is especially true for services that will be performing updates. They will want to prevent sniffers on the network from reading their messages. They may also want to fine-tune which users are allowed to interact with a specific service and disallow certain actions for specific users. The Web and the umbrella specification for JAX-RS, Java EE, provide a core set of security services and protocols that you can leverage from within your RESTful web services. These include:

Authentication Authentication is about validating the identity of a client that is trying to access your services. It usually involves checking to see if the client has provided an existing user with valid credentials, such as a password.
Authorization – Once a client is authenticated, it will want to interact with your RESTful web service. Authorization is about deciding whether or not a certain user is allowed to access and invoke on a specific URI. For example, you may want to allow write access (PUT/POST/DELETE operations) for one set of users and disallow it for others. Authorization is not part of any Internet protocol and is really the domain of your servlet container and Java EE.
Encryption – When a client is interacting with a RESTful web service, it is possible for hostile individuals to intercept network packets and read requests and responses if your HTTP connection is not secure. Sensitive data should be protected with cryptographic services like SSL. The Web defines the HTTPS protocol to leverage SSL and encryption.

I’ve create a subdomain

Hi All:

I’ve created a web space in order to share all my notes related with the Oracle Java EE 6 Web Services Certification.

Please take a look at it and let me know what you think about it.