CXF、Restlet、RESTEasy、Jersey對比

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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章