學習 WebService 第二步:知識准備——SOAP vs REST(wsdl和wadl區別)(轉)


原文地址:藍精靈——默默爭上游

筆記:

SOAPREST是兩種實現WebService的主要方案(Web API部署REST貌似占了大半壁江山)
  • REST Web Services 基於 HTTP 協議
  • SOAP Web Services 支持多種傳輸協議:HTTP、SMTP、MIME等
Java開發WebService最重要的兩個規范
  • JSR-224 (JAX-WS:Java API for XML-Based Web Services ) ,主要使用soap協議,使用wsdl來描述;
  • JSR-311 (JAX-RS:The Java API for RESTful Web Services),使用wadl描述;
RESTSOAP的區別:
  • REST為每一個資源指定一個唯一的URI,用HTTP的4種方法發送請求:GET、POST、PUT、DELETE直觀地表示獲取、創建、更新和刪除。
  • SOAP僅僅使用POST方法發送請求,用一個唯一的URI標識服務的入口。(因為SOAP並不假定傳輸數據的下層協議,因此必須設計為能在各種協議上運行。即使絕大多數SOAP是運行在HTTP上,使用URI標識服務。這種設計被詬病之處,在於DELETE操作也要用POST方法來發送,而其實HTTP協議有更和邏輯的DELETE方法可用。)
尺長寸短:
REST的優點:REST簡單而直觀,把HTTP協議利用到了極限。
SOAP復雜的需求摧殘了易用性。
說到底,沒有誰是萬能的
  • REST用WADL來描述REST接口。WADL就像是WSDL的REST版,隨着REST被應用到復雜的領域,SOAP的影子無處不在。
  • 事實上,一些Web Service提供者提供的REST API只有REST的外殼,傳輸的請求和應答全然是簡化了的SOAP。

“沒有一項技術能一勞永逸地解決所有問題,只需要在預定的約束下優美地解決所在領域的問題就足夠了。

一項新技術推出的時候總是引來無數的跟風和吹捧,只有當塵埃落定之后才能得到中肯的評價。”


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM