VIJAY PRASAD GUPTA 
Enterprise Content Management Architect & 
Technology Leader 
https://www.linkedin.com/in/vpgupta
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
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
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
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
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
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.
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)
 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
 http://cxf.apache.org/ 
 http://en.wikipedia.org/wiki/Apache_CXF 
 http://stackoverflow.com/questions/2704700/java-rest-implementation-jersey-vs-cxf 
 http://programmers.stackexchange.com/questions/155467/selecting-a-jax-rs-implementation-for-a-new-project 
 http://en.wikipedia.org/wiki/Project_Jersey 
 https://jersey.java.net/ 
 http://www.vogella.com/tutorials/REST/article.html 
 http://en.wikipedia.org/wiki/Restlet 
 http://nagesh625.blogspot.com/2014/01/difference-between-jax-rs-specification.html 
 https://github.com/fcrepo4/fcrepo4/wiki/JAX-RS-Implementation-Comparison 
 http://compare-tech.blogspot.com/2012/09/comparing-restful-web-services.html 
 http://www.aeon-consulting.fr/2010/02/28/noelios-technologies-becomes-aeon-consulting-partner/ 
 http://resteasy.jboss.org/ 
 https://www.openshift.com/blogs/day-13-dropwizard-the-awesome-java-rest-server-stack 
 http://www.jroller.com/Solomon/entry/jax_rs_vendor_comparisons_part 
 http://cxf.547215.n5.nabble.com/In-JAX-RS-what-do-you-think-distinguishes-CXF-from-Jersey-td5735519.html
 http://cxf.apache.org/ 
 http://en.wikipedia.org/wiki/Apache_CXF 
 http://stackoverflow.com/questions/2704700/java-rest-implementation-jersey-vs-cxf 
 http://programmers.stackexchange.com/questions/155467/selecting-a-jax-rs-implementation-for-a-new-project 
 http://en.wikipedia.org/wiki/Project_Jersey 
 https://jersey.java.net/ 
 http://www.vogella.com/tutorials/REST/article.html 
 http://en.wikipedia.org/wiki/Restlet 
 http://nagesh625.blogspot.com/2014/01/difference-between-jax-rs-specification.html 
 https://github.com/fcrepo4/fcrepo4/wiki/JAX-RS-Implementation-Comparison 
 http://compare-tech.blogspot.com/2012/09/comparing-restful-web-services.html 
 http://www.aeon-consulting.fr/2010/02/28/noelios-technologies-becomes-aeon-consulting-partner/ 
 http://resteasy.jboss.org/ 
 https://www.openshift.com/blogs/day-13-dropwizard-the-awesome-java-rest-server-stack 
 http://www.jroller.com/Solomon/entry/jax_rs_vendor_comparisons_part 
 http://cxf.547215.n5.nabble.com/In-JAX-RS-what-do-you-think-distinguishes-CXF-from-Jersey-td5735519.html

Survey of restful web services frameworks

  • 1.
    VIJAY PRASAD GUPTA Enterprise Content Management Architect & Technology Leader https://www.linkedin.com/in/vpgupta
  • 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 theseare 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 bea 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 dida 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
  • 11.
     http://cxf.apache.org/ http://en.wikipedia.org/wiki/Apache_CXF  http://stackoverflow.com/questions/2704700/java-rest-implementation-jersey-vs-cxf  http://programmers.stackexchange.com/questions/155467/selecting-a-jax-rs-implementation-for-a-new-project  http://en.wikipedia.org/wiki/Project_Jersey  https://jersey.java.net/  http://www.vogella.com/tutorials/REST/article.html  http://en.wikipedia.org/wiki/Restlet  http://nagesh625.blogspot.com/2014/01/difference-between-jax-rs-specification.html  https://github.com/fcrepo4/fcrepo4/wiki/JAX-RS-Implementation-Comparison  http://compare-tech.blogspot.com/2012/09/comparing-restful-web-services.html  http://www.aeon-consulting.fr/2010/02/28/noelios-technologies-becomes-aeon-consulting-partner/  http://resteasy.jboss.org/  https://www.openshift.com/blogs/day-13-dropwizard-the-awesome-java-rest-server-stack  http://www.jroller.com/Solomon/entry/jax_rs_vendor_comparisons_part  http://cxf.547215.n5.nabble.com/In-JAX-RS-what-do-you-think-distinguishes-CXF-from-Jersey-td5735519.html
  • 12.
     http://cxf.apache.org/ http://en.wikipedia.org/wiki/Apache_CXF  http://stackoverflow.com/questions/2704700/java-rest-implementation-jersey-vs-cxf  http://programmers.stackexchange.com/questions/155467/selecting-a-jax-rs-implementation-for-a-new-project  http://en.wikipedia.org/wiki/Project_Jersey  https://jersey.java.net/  http://www.vogella.com/tutorials/REST/article.html  http://en.wikipedia.org/wiki/Restlet  http://nagesh625.blogspot.com/2014/01/difference-between-jax-rs-specification.html  https://github.com/fcrepo4/fcrepo4/wiki/JAX-RS-Implementation-Comparison  http://compare-tech.blogspot.com/2012/09/comparing-restful-web-services.html  http://www.aeon-consulting.fr/2010/02/28/noelios-technologies-becomes-aeon-consulting-partner/  http://resteasy.jboss.org/  https://www.openshift.com/blogs/day-13-dropwizard-the-awesome-java-rest-server-stack  http://www.jroller.com/Solomon/entry/jax_rs_vendor_comparisons_part  http://cxf.547215.n5.nabble.com/In-JAX-RS-what-do-you-think-distinguishes-CXF-from-Jersey-td5735519.html