Which REST framework should I use

There are multiple Java based REST frameworks that is use today. Some of the top players are as below –

                1. Reslet – http://www.restlet.org/

                2. Apache CXF – http://cxf.apache.org/ ,  http://cxf.apache.org/docs/jax-rs.html, http://jax-ws.java.net/2.2.7/docs/

                3. JAX-RS Reference implementation – Jersey – http://jersey.java.net/

                All of the above frameworks supports J2EE resident Webservice API for REST – Java JAX-RS – http://jax-rs-spec.java.net/ , http://jersey.java.net/nonav/documentation/latest/index.html.

                Soap, JAX-RPC  and Axis1 web service frameworks are obsolete now. Apache CXF is a conglomeration of Celtic project and Xfire project. Apache CXF provides very user friendly ways to implement RESTful and SOAP web services using the JAX-WS/JAX-RS APIs. It provides easy integration with other development frameworks such as Spring. It can automatically create code for request / response bean classes.

                Jersey is the official reference implementation for building JAX-RS based Restful services. It is highly scalable and supports variety of transport mechanisms and protocols. It is easily integrated to Spring framework.

                Reslet is a framework (first REST framework even before JAX-RS) that improves upon on the native servlet based technology to implement RESTful web services. It has integration options with JAX-RS and Spring framework.

                Now which framework to choose – lets consider the aspects of maturity, server side integration mechanisms, scalability, security, performance and Java native API support. Considering the positive aspects of Reslet and Jersey and their tight connection with inherent REST support, both comes pretty close. If we want to go for official reference implementation, go for Jersey!

Article copyright (c) 2010 – Deepesh Joseph (deepeshjoseph@yahoo.com)

Add a Comment

Your email address will not be published. Required fields are marked *