2014-10-07 60 views
-1

網上有很多可用的資源,但我希望聽到一個清晰的想法,即我們如何通過查看服務設計將服務區分爲SOAP/REST? (不適用於wsdl/wadl)我們如何通過設計來識別SOAP/REST服務?

它們在架構上有何不同?

+1

[Representational state transfer(REST)and Simple Object Access Protocol(SOAP)]的可能重複](http://stackoverflow.com/questions/209905/representational-state-transfer-rest-and-simple-object-access - 方案皁) – inf3rno 2014-10-07 13:50:43

回答

0

作爲一個有經驗的用戶,你可能已經閱讀了類似問題的所有技術答案,such as thisthis,所以我會嘗試一種不同類型的答案,這是一個比較隱喻的答案。

事實上,我們可以改寫的REST VS SOAP辯論,通過看什麼是主要的概念,爲他們每個人:

  • SOAP是關於通過郵局信箱發送郵件,無論何種應用域是。最重要的是信封是有效的。其他方面(郵件的正文,「郵局」的位置和數量,將郵件發送到郵箱的方式)是次要的。
  • REST是關於處理資源又名「東西」,可以在您的應用程序域中確定)。由於操作是通用的(創建,讀取,更新,刪除),最重要的是識別資源(URI)及其表示形式(採用XML,JSON或其他格式)。

舉個例子,讓我們考慮了一本書送貨服務:

  • 一個SOAP版本可以提供的服務端點發送:
    • 圖書搜索請求
    • 本書詳細要求
    • 圖書訂購要求
    • 圖書訂單取消要求
    • 本書的訂單狀態請求
    • 書發票請求
  • 一個REST的版本將提供鏈接的表示:書籍
    • 列出了書的
    • 細節的書籍
    • 訂單/發票

使用SOAP,您正在定義操作的端點。使用REST,您可以爲事物提供端點。