2009-08-19 70 views
0

爲什麼肥皂使用它的envolope消息?爲什麼Restful不?他們都使用HTTP(發佈,獲取等),不是嗎? 肥皂和寧靜之間的真正區別是什麼?肥皂爲什麼使用其envolope消息?

+0

還有很多類似的問題:http://stackoverflow.com/search?q=soap+rest – 2009-08-19 09:36:33

+0

其實,事實證明,http:// stackoverflow。com/questions/76595/soap-or-rest是一個更好的重複。 – 2009-08-19 09:47:42

回答

3

SOAP vs. REST [ XML/HTTP ] :The Web Services debate.

* SOAP *

優點:

  • 語言特點,平臺和傳輸不可知
  • 設計來處理分佈式計算環境
  • 是當時標準fo R的網絡服務,因此具有與其他標準的供應商提供更好的支持(WSDL,WS- *)和工裝
  • 內置錯誤處理(故障)
  • 擴展

缺點:

  • 概念更加困難,更加「重量級」比REST
  • 更詳細的
  • 更難開發,需要的工具

* REST *

優點:

  • 語言和平臺無關
  • 簡單多了比SOAP開發
  • 小的學習曲線,對工具的依賴較少
  • 簡明,不需要額外的消息層
  • 個在設計和理念,更貼近網絡

缺點:

  • 假設點至點的通信模型 - 分佈式計算環境中無法使用此消息可能會通過一個或多箇中介
  • 缺乏標準,安全,政策,可靠的消息傳遞等支持,所以有更復雜的要求是難以發展服務(「滾你自己」)
  • 綁HTTP傳輸模型
+2

我會爭論「更難開發,需要工具」。如果你有這些工具,那麼開發並不困難。同樣,沒有工具的REST比SOAP _with_工具更難開發,因爲您必須自己構建XML或JSON(可能利用序列化),而如果使用工具則不必這樣做。 – 2009-08-19 09:40:52

+0

REST不綁定到HTTP,但是HTTP旨在用於RESTful方式 - 這是一種架構風格,而不是協議或體系結構。 REST風格不再與RPC的風格與ONC RPC相關聯。這也是爲什麼你的其他缺點不適用 - 它們是HTTP的缺點,而不是REST風格,這並不是說REST沒有缺點,甚至在Roy Fielding的論文中也列出了它們。 – 2009-08-19 10:20:43

+0

我想談談Soap有更好的支持來自其他標準(WSDL,WS- *)和供應商的工具。肥皂不使用WSDL?那麼它怎麼會比WSDL更好的支持。 建築和建築風格之間有什麼區別?你什麼意思?我認爲Restful是一種建築。 – Iguramu 2009-08-19 11:07:50

1

HTTP RESTful HTTP中的信封。基於HTTP的SOAP隧道並且幾乎忽略了HTTP必須提供的所有內容,這就是爲什麼它有自己的信封。

+0

那麼爲什麼Soap首先被認爲是?爲什麼人們一開始並不覺得寧靜?這難道不容易嗎? – Iguramu 2009-08-19 11:14:14

+0

我不確定是否真的可以說一個人先於另一個。 REST風格是HTTP中的架構風格的形式主義,Roy Fielding的工作始於1996年(RFC1945),他的論文於2000年發佈。SOAP規範於2000年發佈,但SOAP實際上只是另一種RPC機制,而RPC的基本要素則回溯到1976年和RFC707。 這實際上只是RPC的想法自然而然地脫離了試圖將熟悉的過程調用機制強加給網絡通信,而REST則是由於大規模分佈式通信的協議而產生的。 – 2009-08-19 18:05:30