總的來說,soap的web service解決方案雖然較為成熟,且安全性較好,但是使用門檻較高,在大併發情況下會有效能問題,在網際網路上使用不太普及,因此並不太適合web 2.0**服務使用,目前大量的web 2.0**使用另外一種解決方案——rest。
[b]rest的架構設計[/b]
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這四個之內。這種針對網路應用的設計和開發方式,可以降低開發的複雜性,提高系統的可伸縮性。
[b]rest的設計準則[/b]
rest架構是針對web應用而設計的,其目的是為了降低開發的複雜性,提高系統的可伸縮性。rest提出了如下設計準則:
網路上的所有事物都被抽象為資源(resource);
每個資源對應乙個唯一的資源識別符號(resource identifier);
通過通用的聯結器介面(generic connector inte***ce)對資源進行操作;
對資源的各種操作不會改變資源識別符號;
所有的操作都是無狀態的(stateless)。
[b]使用rest架構[/b]
對於開發人員來說,關心的是如何使用rest架構,這裡我們來簡單談談這個問題。rest不僅僅是一種嶄新的架構,它帶來的更是一種全新的web開發過程中的思維方式:通過url來設計系統結構。rest是一套簡單的設計原則、一種架構風格(或模式),不是一種具體的標準或架構。rest有很多成功的使用案例,著名的delicious和flickr都提供基於rest風格的api使用,客戶端呼叫也極其方便。
基於REST架構的Web Service設計
先前我曾經介紹過利用apache axis實現基於soap的web service實現技術和相關 總的來說,soap的web service解決方案雖然較為成熟,且安全性較好,但是使用門檻較高,在大併發情況下會有效能問題,在網際網路上使用不太普及,因此並不太適合web 2.0 服務使用,目前大量的w...
基於REST架構的Web Service設計
先前我曾經介紹過利用apache axis 實現基於soap的web service實現技術和相關 總的來說,soap的web service解決方案雖然較為成熟,且安全性較好,但是使用門檻較高,在大併發情況下會有效能問題,在網際網路上使用不太普及,因此並不太適合web 2.0 服務使用,目前大量的...
基於REST架構的Web Service設計
rest的架構設計 rest representational state transfer 是一種輕量級的web service架構風格,其實現和操作明顯比soap和xml rpc更為簡潔,可以完全通過http協議實現,還可以利用快取cache來提高響應速 度,效能 效率和易用性上都優於soap協...