天天看點

Web Service與Web API對比

原文位址:北雲軟體-Web Services與Web API對比

Web Services 被W3C進行了标準化定義。

Web Services 釋出到網上,可以公布到某個全局系統資料庫,自動提供服務URL,服務描述、接口調用要求、參數說明以及傳回值說明。比如中國氣象局可以釋出天氣預報服務。所有其它網站或手機App如果需要內建天氣預報功能,都可以通路該Web Service擷取資料。

Web Services 主要設計目标是提供公共服務。

Web Services 全部基于XML。按照W3C标準來描述服務的各個方面(參數、參數傳遞、傳回值及服務釋出發現等)。要描述清楚Web Services标準的各個方面,可能需要2000頁的文檔。

Web Services 還有标準的身份驗證方式(非公共服務時驗證使用者身份)。

輕量化的Web API

公司内部使用的私有服務,我們知道它的接口Url,是以不需要自動發現它。我們有它的服務接口文檔,是以也不需要自動描述和自動調用。

即使Web Services的特性(自動發現、自動學會調用方式)很美好,但私有服務往往不需要這些。

Web API一般基于HTTP/REST來實作,什麼都不需要定義,參數(輸入的資料)可以是JSON, XML或者簡單文本,響應(輸出資料)一般是JSON或XML。它不提供服務調用标準和服務發現标準。可以按你服務的特點來寫一些簡單的使用說明給使用者。

擷取遠端資料的方式正在從Web Services向Web API轉變。

Web Services的架構要比Web API臃腫得多,它的每個請求都需要封裝成XML并在服務端解封。是以它不易開發且吃更多的資源(記憶體、帶寬)。性能也不如Web API。