簡體   English   中英

REST WADL與SOAP

[英]REST WADL vs SOAP

我看到了以下兩個鏈接:

1. SOAP與REST

  1. SOAP與REST 2

我了解兩者之間的區別。 但是我也聽說過WADL( https://wadl.java.net/ ),它與REST一起用於提供合同(類似於SOAP WSDL所做的事情)

現在我有兩個問題:

  1. REST還遵循WADL即將接收或傳輸的數據類型,現在它的行為與SOAP(使用WSDL)非常相似。
  2. 如果REST與WADL和SOAP相似,則使用哪個?

提前致謝。

RESTfulSOAP WebServices根本不同。

簡而言之-SOAP是一個典型的基於RPC的調用,您可以在SOAP主體的XML文檔中隱藏請求操作和詳細信息。 Wheras純RESTful Webservie完全依賴HTTP方法在服務器上執行操作。

盡管WADL尚未被廣泛采用並且不是真正的標准,但是其背后的理論是簡單地幫助工具生成一些代碼,並且其目的是促進應用程序的重用,超越Web瀏覽器的基本用途,即機器對機器通信。 (仍使用HTTP協議)。

SOAP(簡單對象訪問協議)

REST(表示狀態傳輸)

SOAP和REST無法直接進行比較,因為第一個是協議,第二個是體系結構樣式。

SOAP和REST之間的主要區別在於客戶端和服務器實現之間的耦合程度。 SOAP就像一個自定義的桌面應用程序,與服務器緊密耦合。 客戶端與服務器之間存在嚴格的契約,一切似乎都發生了變化,任何方面都發生了變化。 但是,REST客戶端更像是瀏覽器。 這是一個通用客戶端,知道如何使用協議和標准化方法。 如果做得正確,耦合將更少。 客戶端應該在沒有API的先驗知識的情況下進入REST,入口點和媒體類型除外。 在SOAP中,客戶需要具有將要使用的所有東西的先驗知識。

REST與協議無關。 它沒有耦合到HTTP。 我們可以將其用於具有標准化URI方案的任何協議。 但是,SOAP本身是一個協議。

SOAP只支持XML,但是REST支持不同的格式,例如文本,JSON,XML等。而且我們知道如果使用JSON,那么在有效負載方面肯定會處於更好的位置。

SOAP可以使用任何通用傳輸(HTTP / HTTPS)或RPC(遠程過程調用)。 但是,REST僅使用HTTP / HTTPS

SOAP不能使用REST。 但是,REST可以使用類似於HTTP或任何其他協議的SOAP

SOAP使用服務接口來公開業務邏輯。 REST使用URI公開業務邏輯

在Java中,JAX-WS用於SOAP Web服務。 但是,Java JAX-RS用於REST Web服務

SOAP定義了要嚴格遵循的標准。 REST沒有定義任何標准,例如SOAP

SOAP比REST需要更多的帶寬和資源。 REST需要更少的帶寬和資源。

SOAP定義了自己的安全性。 REST從基礎傳輸繼承安全措施

與REST相比,如今SOAP不那么受歡迎了

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM