I've been trying to choose which technology to use for a REST application and have found 4 candidates:
- Jersey - jersey.java.net
- Apache Wink - incubator.apache.org/wink
- RESTlet - www.restlet.org
- RESTeasy - jboss.org/resteasy
but haven't been able to differentiate between the four and choose one
so, which is best? the criteria s being:
a. Stability \ maturity
b. Security
c. Ease of use
d. Support
Thanks!
Rather than comparing I can give a definite picture about Jersey on your concerns. Firstly I am using Jersey for some time now (from its inception actually). The reason I still stick to Jersey is -
- It is a matured project with a lot of test case and has been around for some time. I hardly found issues with Jersey and find it quite stable. I would say the project and its community are both matured enough to use it in production.
- We are using Spring Security 2/3 with Jersey so I guess anything could be used on it.
- To be honest I stick to JAX-RS stuffs as much as possible so I think its as easy as JAX-RS is. The only additional stuffs I use specific to Jersey is form data multipart, jersey client and jersey apache client. These are easy enough that I write a generic restful client for resources and a jersey client using client side HTTP Caching using HTTP Cache 4J. So I would say its pretty easy. Plus there are plenty (for my cases) tutorials, books, examples, blog posts, I hardly ever remember being stuck with anything.
- Well, one of the primary reasons for me to never thinking of moving away from Jersey is its support. Paul Sandoz, the project lead of Jersey is just awesome support personnel in the mailing lists. I have rarely seen a topic in the mailing list where Paul does not help. In addition there are other members in the mailing list who are very eager to help out. The mailing list support is very good. The release cycle is short ensuring that bug fixes are available in short time.
All in all I am pretty happy with Jersey.