3. PROJECT HOME http://cxf.apache.org/
ABOUT Apache CXF is an open source services framework. CXF helps you build and
develop services using frontend programming APIs, like JAX-WS and JAX-RS.
These services can speak a variety of protocols such as SOAP, XML/HTTP,
RESTful HTTP, or CORBA and work over a variety of transports such as HTTP,
JMS or JBI.
Developer(s) Apache Software Foundation
License Type Apache License
Released FEB 2009
Last Release July 21, 2014 - Apache CXF 3.0.1/2.7.12/2.6.15
Download Page http://cxf.apache.org/download.html
Development
Active
Status
Tutorial/Getting
started
http://www.javatips.net/blog/2012/02/cxf-restful-tutorial
Forum Mailing List: http://cxf.apache.org/mailing-lists.html
Support: http://cxf.apache.org/support.html
Support for Java 7 Yes
4. PROJECT HOME https://jersey.java.net/
ABOUT Jersey RESTful Web Services framework is open source, production quality, framework for
developing RESTful Web Services in Java that provides support for JAX-RS APIs and serves as a
JAX-RS (JSR 311 & JSR 339) Reference Implementation. Jersey provides it’s own API that extend
the JAX-RS toolkit with additional features and utilities to further simplify RESTful service and
client development.
Developer(s) Oracle Corporation (Originally Sun)
License Type CDDL version 1.1 and GPL v2 license
Released August 2008 (Not sure) (One post indicates that it was available since 2007)
Last Release Jersey 2.12 / August 26, 2014
Download Page https://jersey.java.net/download.html
Development Status Active
Tutorial/Getting
https://jersey.java.net/documentation/latest/getting-started.html
started
http://www.vogella.com/tutorials/REST/article.html
Forum Mailing List: users@jersey.java.net
Stake overflow: http://stackoverflow.com/questions/tagged/jersey
Issue Tracking: https://java.net/jira/browse/JERSEY
Support for Java 7 Yes
5. PROJECT HOME http://restlet.com/
ABOUT Restlet Framework is the leading RESTful web API framework for Java. Its unique Java
API is available on both client and server sides, in six consistent editions: Java SE,
Java EE, Android, GAE, GWT and OSGi! This project has been around for a long time
and implemented REST before REST was popular. JAX-RS was a natural extension
Developer(s) Jerome Louvel & Thierry Boileau of Noelios Consulting (now Aeon Consulting partner) and
Restlet community
License Type Apache license 2.0, LGPL license 3.0, LGPL license 2.1, CDDL license 1.0, EPL license
1.0
Released 2005
Last Release 2.2.2 / Aug 5, 2014
Download Page http://restlet.com/download/current#release=stable&edition=jse&distribution=zip
Development Status Active
Tutorial/Getting
http://restlet.com/learn/tutorial/2.2/
started
Forum http://restlet.com/participate/
Support for Java 7 Yes
6. PROJECT HOME http://resteasy.jboss.org/
ABOUT RESTEasy is a JBoss project that provides various frameworks to help you build
RESTful Web Services and RESTful Java applications. It is a fully certified and
portable implementation of the JAX-RS specification.
Developer(s) Jboss (redhat)
License Type Apache License, Version 2.0
Released Jan 2009
Last Release Release 3.0.7/March 2014
Download Page http://sourceforge.net/projects/resteasy/files/Resteasy%20JAX-RS/
Development Status Active
Tutorial/Getting
started
https://developer.jboss.org/wiki/ResteasyWIKI
http://www.mastertheboss.com/resteasy/resteasy-tutorial
https://www.youtube.com/watch?v=Re8CggeqDr4
Forum http://resteasy.jboss.org/mailinglists
Support for Java 7 Yes
7. PROJECT HOME https://dropwizard.github.io/dropwizard/
ABOUT Dropwizard is a Java framework for developing ops-friendly, high-performance,
RESTful web services. Dropwizard pulls together stable, mature libraries from the
Java ecosystem into a simple, light-weight package that lets you focus on getting
things done. Dropwizard has out-of-the-box support for sophisticated configuration,
application metrics, logging, operational tools, and much more, allowing you and
your team to ship a production-quality web service in the shortest time possible.
Developer(s) Yammer Inc.
License Type Apache License, Version 2.0
Released Dec 2011
Last Release Apr 04, 2014 – Version 0.7.0
Download Page https://dropwizard.github.io/dropwizard/getting-started.html
Development Status Active
Tutorial/Getting
started
https://dropwizard.github.io/dropwizard/getting-started.html
https://www.openshift.com/blogs/day-13-dropwizard-the-awesome-java-rest-server-
stack
Forum https://groups.google.com/forum/#!forum/dropwizard-user
Support for Java 7 Yes
8. All of these are mature and production ready frameworks. Chances of
going wrong with any of them is minimal. They all have integration
capabilities with Spring. They all have some degree of support to
documentation and contract specification (WADL).
CXF JAX-RS is implemented as a CXF filter sitting behind the servlets,
while Jersey and RestEasy are, servlet filters.
One unique advantage with CXF is that it makes it very easy to produce
both a JAX-RS and JAX-WS (SOAP) endpoint from the exact same data
model and service interface at the same time. So if that is something which
matters to you, this may be the way to go. CXF had issues with handling
SSL and HTTP proxies which seems to have been addressed in recent
releases
Restlet based program can run as a standalone Java application. The
restlet also supports Java EE environment with the help of Jetty web
container. So this may result into a light-weight implementation and have
unique value that way. There are some challenges or manual work
involved in de-marshalling the response into java object.
9. RESTEasy may be a good choice if your environment is Jboss oriented. It
also provides good integration with EJB 3.0 and SEAM (something to
consider if you have a need for that). Also it has a proprietary caching for
URL or query which could be handy for high volume applications.
Jersey has some of the best tooling (IDE) support specially if you are using
Netbeans. So you can achieve better productivity from tooling perspective.
There are some challenges with Jersey-Spring integration specially with
AOP. Also since it is a reference implementation for JAX-RS, it will
continue to support any updates to the specification. There were some
complains about the 2.0 release but there are many developers using
Jersey in production.
DROPWIZARD promises improved performance and ease of development
and has out-of-the-box support for sophisticated configuration, application
metrics, logging, operational tools etc. It aims to integrate best of breed
features and best practices components, something which may be good to
consider from a technical debt perspective as well (use of best of breed
libraries tend to reduce technical debt)
10. I did a search on job postings (as on 09/01/2014) using the job aggregate
website indeed.com and here are the results:
Job Opening in USA
497
91
59 50
600
500
400
300
200
100
0
CXF Restlet DropWizard RESTEasy
This indicates that CXF seems to be the most popular of the pack.
Note: Jersey has not been included in this as it also returns results for Jersey city making it difficult to filter out