| 缺點 | 1.事務性支持弱。 | 1. 性能差。 |
| 結論 | 1.更適合互聯網API服務貨幣化
2.輕量級企業集成。 | 1. 更適合企業內部集成、復雜業務場景。 |

1.成熟度

兩者的根本區別:SOAP 是一種協議,而 REST 是一種架構風格

SOAP 是一項標準協議,其最初的設計意圖是讓使用不同語言且在不同平臺上構建的應用之間進行通信。由于 SOAP 是一項協議,因此它會施加一些內置規則,從而增加復雜性和開銷,并可導致頁面加載時間延長。但是,這些標準還提供了內置合規性,包括安全性、原子性、一致性、隔離性和持久性(ACID),此外,支持廠商比較多,使其更適合企業內部的應用集成、數據集成

REST是一種架構風格,正如 Roy Fielding 在論文“Architectural Styles and the Design of Network-based Software Architectures”(架構模式以及基于網絡的軟件架構的設計)中定義的那樣,只要 API 符合 RESTful 系統的 6 個導向性約束,就算作 RESTful API。雖然看似有很多約束需要遵循,但是這些約束遵循起來要比遵循規定的協議容易得多。因此,在互聯網API領域,RESTful API 現在變得比 SOAP 更為普及。

2.請求報文協議不同

Web API的消息規格為URL請求;SOAP API的消息格式為SOAP規范。從消息封裝、編碼/解碼上,Web API有明顯的并發性能優勢。

由于SOAP消息格式在發布時聲明,可以方便一些高級工具調用方實現可視化的參數映射、配置化的調用。

例如,一個Web API請求消息

https://b2b.awspaas.com/openapi
?timestamp=1439277618461
&sig_method=HmacMD5
&cmd=app.install.check
&appId=com.actionsoft.apps.notification
&access_key=Salesforce#1
&format=json
&sig=DE90336BEDB0C3D3FE6DEE2FF0DF11AC

例如,一個SOAP API請求消息

 com.actionsoft.apps.notification

3.響應報文協議不同

Web API可以返回JSON/XML結果,尤其是JSON數據格式是當今Web和移動端開發的首選規范;SOAP API返回一個XML的消息對象。從數據結果封裝、編碼/解碼上,Web API有明顯的并發性能優勢,同時JSON結構有助于減少網絡流量。

由于SOAP響應格式在發布時聲明,可以方便一些高級工具調用方實現可視化的結果映射、配置化的調用。

例如,一個Web API響應消息

{
"data" : true,
"result" : "ok"
}

例如,一個SOAP API響應消息

 true

4.安全機制不同

  1. Web API(REST API)可以基于HTTPS,而SOAP API可以基于WS-Security規范對消息加密時也可以使用HTTPS
  2. Web API(REST API)的認證基于訪問憑證 ( access_key )和私鑰 ( secret )的簽名摘要驗證,而SOAP API的認證基于WS-Security規范的用戶名密碼或者x509

5.客戶端調用方式不同

SOAP API需要一個比較重的SOAP協議棧,會遇到跨語言、版本的SOAP互操作問題;Web API僅需要客戶端支持HTTP(s)傳輸協議。

6.并發處理能力的不同

測試環境

<label id="sae4u"><meter id="sae4u"></meter></label>
    <rt id="sae4u"><small id="sae4u"></small></rt>

<i id="sae4u"></i>
    <i id="sae4u"></i>

      <thead id="sae4u"></thead>

        說明
        AWS PaaS服務器 16核、16G內存、SOAPAPI
      1. API網關