CXF、Restlet、RESTEasy、Jersey初識

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支持。

測試數據見:
https://wenku.baidu.com/view/edd686781711cc7931b716c4.html

參考:https://blog.csdn.net/jianxuan/article/details/6176929

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