欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

CXF、Restlet、RESTEasy、Jersey对比

程序员文章站 2022-07-13 12:07:57
...

CXF、Restlet、RESTEasy、Jersey对比

 

一、需求说明

因为需要新增的系统调用接口使用了jsr311规范标准的REST架构的Web Service。考虑以后在产品中可能会经常使用到REST架构的WebService,针对主流的实现架构进行研究、测试,进行对比,找出相对较好的实现。预研的主流实现有:

l  Jersey

l  RESTEasy

l  Restlet

l  Apache CXF

二、各方面评价

1.    集成能力

各种实现均支持ServletSpring的整合,无根本差别。

2.    稳定性

各实现在应用服务器上长时间运行均无错误,详见测试报告。

3.    性能

在性能测试中,RESTEasy吞吐率最好,Jersey其次,Restlet最差,详见测试报告。

4.    产品成熟度

各种实现均支持jsr3111.11.0版本,但Restlet通过扩展包实现对jsr311的支持;RESTEasy由于jboss的关系,支持EJB;而Apache CXF支持多种WebService的实现方式。

5.    安全性

安全性方面,个人认为本身要求容器中的WebService支持安全性,就有点过分,无非是数据传输加密即可满足大部分需要,而各种实现对这方面均做了一定的支持,其他安全方面RESTEasy没有特别的安全策略,完全依靠容器的安全策略。

6.    易用性

这些东东的中文文档都非常的少,学习起来有点困难,在我学习的过程中感觉,开发配置其实都不困难,但Jersey竟然连英文文档都比较少。

7.    可配置能力

配置方面,基本的文件格式(xml、文本、json等)都是支持的,Restlet还支持很多扩展和不同的平台(AndroidGAE等)。

8.    维护性

维护时的官方文档都是有的,具体是否容易读懂代码和修改代码,我也没有长时间维护过,很难说。

三、总结

通过各方面比较,这4jsr311标准的实现中,各方面差别不大,突出的问题是文档太少,尤其中文文档太少。性能上看RESTEasy是最好的,Jersey其次,cxfRestlet最差,这可能与这两种实现的复杂度有关。对于有特殊需要的情况Apache CXF提供多种的webserviceRestlet提供多种扩展包,RESTEasyEJB支持。

测试数据见:

http://wenku.baidu.com/view/edd686781711cc7931b716c4.html

相关标签: ws webservice