Dot-Net
就 Web 服務而言,何時使用 SOAP 而不是 REST?
目前我正在學習 ASP.NET 中的新主題 Web 服務,但我不了解 Web 服務中 SOAP 和 RESTful 的概念以及如何在 .NET 中創建這些類型的服務。
SOAP 的主要優點之一是您擁有 WSDL 服務描述。您幾乎可以自動發現服務並根據該服務描述生成可用的客戶端代理(生成服務呼叫、方法的必要數據類型等等)。請注意,在 2.0 版中,WSDL 支持所有 HTTP 動詞,並且也可用於記錄 RESTful 服務,但為此目的,WADL(Web 應用程序描述語言)中有一個不太冗長的替代方案。
使用 RESTful 服務,消息安全性由傳輸協議 (HTTPS) 提供,並且僅是點對點的。它沒有標準的消息傳遞系統,並期望客戶端通過重試來處理通信失敗。SOAP 具有內置的成功/重試邏輯,即使通過 SOAP 中介也能提供端到端的可靠性。
RESTful API 的主要優點之一是它對數據表示非常靈活,例如,您可以將數據序列化為 XML 或 JSON 格式。RESTful API 更簡潔或更容易理解,因為它們添加了使用標準化 URI 的元素,並重視使用的 HTTP 動詞(即 GET、POST、PUT 和 DELETE)。
RESTful 服務也是輕量級的,即它們沒有很多額外的 xml 標記。要呼叫 RESTful API,您只需要一個瀏覽器或 HTTP 堆棧,幾乎所有連接到網路的設備或機器都擁有它。
最後,無論您選擇哪種架構,都要確保開發人員可以輕鬆訪問它,並且有據可查。
參考:http ://blog.manishchhabra.com/2013/04/rest-and-soap-web-services-analogy/