2014-01-07 125 views
0

在哪種情況下,我們需要使用REST(具象狀態傳輸)和爲什麼? 除了REST爲每種方法分離URL之外,這看起來與SOAP相似。而在SOAP中,我們可以使用單個URL調用所有內容。使用REST而不是SOAP的優點是什麼?

+0

這就是所有 - > http://geekandpoke.typepad.com/geekandpoke/2009/11/service-calling-made-easy-part-1.html – davidkonrad

回答

1

從這個link摘自:

REST與SOAP

多重因素需要選擇Web服務的特定類型的 時必須考慮,那就是REST和SOAP之間。下表根據個人經驗將每個Web服務的功能分解爲 。

REST

REST風格的Web服務是完全無狀態的。這可以通過重新啓動服務器並檢查交互是否能夠存活來測試。 Restful服務通過HTTP GET方法提供了一個很好的緩存基礎設施(對於大多數服務器)。這可以提高性能,如果 Web服務返回的數據不是頻繁更改而不是 動態的性質。 由於沒有用於描述REST Web服務接口的標準規則集,因此服務生產者和服務消費者需要對上下文以及正沿着 傳遞的內容有共同的理解。 REST對於限制性設備(例如移動設備和PDA)特別有用,其中額外參數(如 標頭和其他SOAP元素)的開銷較小。 REST服務很容易與現有網站集成,並使用XML進行公開,因此HTML頁面可以輕鬆消費。 幾乎沒有任何需要重構現有的網站 體系結構。這使開發人員更加高效和舒適,因爲他們不必從頭開始重寫所有內容,只需添加現有功能就可以添加 。 與SOAP相比,基於REST的實現很簡單。

SOAP

的Web服務描述語言(WSDL)包含並介紹了共同的規則來定義Web服務的消息,綁定 操作和位置。 WSDL是定義Web服務提供的接口的一種正式 合同。 SOAP比REST服務設計(即事務,安全性,協調,尋址,信任等)需要的管道代碼更少。大多數 真實世界的應用程序並不簡單,並且支持複雜的操作, 需要會話狀態和上下文信息保持 。使用SOAP方法,開發人員不需要擔心 將這個管道代碼寫入應用程序層本身。 SOAP Web服務(如JAX-WS)可用於處理異步處理和調用。 SOAP支持多種協議和技術,包括WSDL,XSD文件,SOAP,WS-Addressing的

簡而言之,當你發佈一個複雜的應用程序 接口(API),到外面的世界,SOAP會更有益。但 當一些具有較低的學習曲線,並與輕量級和更快的結果和簡單的交易(即,CRUD操作)需要 ,我的投票轉到REST。

相關問題