標籤:style http color io os ar 使用 for sp
Web Service概念:
根據W3C的定義,Web服務(Web service)應當是一個軟體系統,用以支援網路間不同機器的互動操作。網路服務通常是許多應用程式介面(API)所組成的,它們通過網路的遠程伺服器端,執行客戶所提交服務的請求。簡單的來說就是伺服器端向用戶端提供服務。
Web Service實現方式:
(1)遠端程序呼叫(RPC)
RPC協議就是為瞭解決不同的用戶端跨平台的訪問伺服器而產生的,最初的Web Service都是採用RPC部署,它是一種通過網路從遠端電腦程式上請求服務,而不需要瞭解底層網路技術的協議。 rpc不依賴於具體的網路傳輸協議,tcp、udp、http等都可以。由於存在各式各樣的變換和細節差異,相應的rpc也派生出了各式遠程過程通訊協定。由於它的緊耦合性,未來將不會大有作為。
(2)面向服務架構(SOA)
在服務導向架構中,通訊由訊息驅動,而不再是某個動作(方法調用)。這種WEB服務也被稱作面向訊息的服務。
(3)具象狀態傳輸(REST)
REST的架構設計
REST(Representational State Transfer)是一種輕量級的Web Service架構風格,其實現和操作明顯比SOAP和XML-RPC更為簡潔,可以完全通過HTTP協議實現,還可以利用緩衝Cache來提高響應速度,效能、效率和易用性上都優於SOAP協議。
REST架構遵循了CRUD原則,CRUD原則對於資源只需要四種行為:Create(建立)、Read(讀取)、Update(更新)和Delete(刪除)就可以完成對其操作和處理。這四個操作是一種原子操作,即一種無法再分的操作,通過它們可以構造複雜的操作過程,正如數學上四則運算是數位最基本的運算一樣。
REST架構讓人們真正理解我們的網路通訊協定HTTP本來面貌,對資源的操作包括擷取、建立、修改和刪除資源的操作正好對應HTTP協議提供的GET、POST、PUT和DELETE方法,因此REST把HTTP對一個URL資源的操作限制在GET、POST、PUT和DELETE這四個之內。這種針對網路應用的設計和開發方式,可以降低開發的複雜性,提高系統的延展性。
REST的設計準則
REST架構是針對Web應用而設計的,其目的是為了降低開發的複雜性,提高系統的延展性。REST提出了如下設計準則:
網路上的所有事物都被抽象為資源(resource);
每個資源對應一個唯一的資源標識符(resource identifier);
通過通用的連接器介面(generic connector interface)對資源進行操作;
對資源的各種操作不會改變資源標識符;
所有的操作都是無狀態的(stateless)。
使用REST架構
對於開發人員來說,關心的是如何使用REST架構,這裡我們來簡單談談這個問題。REST不僅僅是一種嶄新的架構,它帶來的更是一種全新的Web開發過程中的思維方式:通過URL來設計系統結構。REST是一套簡單的設計原則、一種架構風格(或模式),不是一種具體的標準或架構。REST架構有很多成功案例,如Facebook,Yahoo等
Web Service概念