CXF、Restlet、RESTEasy、Jersey对比

  • Post author:
  • Post category:其他




CXF、Restlet、RESTEasy、Jersey对比













一、




需求说明





因为需要新增的系统调用接口使用了



jsr311



规范标准的



REST



架构的



Web Service



。考虑以后在产品中可能会经常使用到



REST



架构的



WebService



,针对主流的实现架构进行研究、测试,进行对比,找出相对较好的实现。预研的主流实现有:




l







Jersey




l







RESTEasy




l







Restlet




l







Apache CXF






二、




各方面





评价





1.







集成能力




各种实现均支持



Servlet







Spring



的整合,无根本差别。





2.







稳定性





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





3.







性能





在性能测试中,



RESTEasy



吞吐率最好,



Jersey



其次,



Restlet



最差,详见测试报告。





4.







产品成熟度





各种实现均支持



jsr311







1.1







1.0



版本,但



Restlet



通过扩展包实现对



jsr311



的支持;



RESTEasy



由于



jboss



的关系,支持



EJB



;而



Apache CXF



支持多种



WebService



的实现方式。





5.







安全性





安全性方面,个人认为本身要求容器中的



WebService



支持安全性,就有点过分,无非是数据传输加密即可满足大部分需要,而各种实现对这方面均做了一定的支持,其他安全方面



RESTEasy



没有特别的安全策略,完全依靠容器的安全策略。





6.







易用性





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



Jersey



竟然连英文文档都比较少。





7.







可配置能力





配置方面,基本的文件格式(



xml



、文本、



json



等)都是支持的,



Restlet



还支持很多扩展和不同的平台(



Android







GAE



等)。





8.







维护性





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






三、




总结





通过各方面比较,这



4







jsr311



标准的实现中,各方面差别不大,突出的问题是文档太少,尤其中文文档太少。性能上看



RESTEasy



是最好的,



Jersey



其次,



cxf







Restlet



最差,这可能与这两种实现的复杂度有关。对于有特殊需要的情况



Apache CXF



提供多种的



webservice







Restlet



提供多种扩展包,



RESTEasy







EJB



支持。



测试数据见:




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







版权声明:本文为jianxuan原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。