RESTful service是一種架構模式,近幾年比較流行了,它的輕量級web服務,發揮HTTP協議的原生的GET,PUT,POST,DELETE。 REST模式的Web服務與復雜的SOAP和XML-RPC對比來講明顯的更加簡潔,越來越多的web服務開始采用REST風格設計和實現。例如,Amazon.com提供接近REST風格的Web服務進行圖書查找;雅虎提供的Web服務也是REST風格的。REST 並非始終是正確的選擇。 它作為一種設計 Web 服務的方法而變得流行,這種方法對專有中間件(例如某個應用程序服務器)的依賴比基於 SOAP 和 WSDL 的方法更少。 在某種意義上,通過強調URI和HTTP等早期 Internet 標准,REST 是對大型應用程序服務器時代之前的 Web 方式的回歸。 如下圖示例:
使用REST的關鍵是如何抽象資源,抽象得越精確,對REST的應用就越好。
REST服務關鍵原則:
1. 給一切物體一個ID
2.連接物體在一起
3.使用標准方法
4.資源多重表述
5.無狀態通信
假設我們有這樣的類OrderManagementService, CustomerManagementService:
實現REST將是基於HTTP應用協議,像下圖這樣:
上圖實現了對訂單,客戶之間的相關CRUD操作,我們看到使用對應的HTTP協議。
REST能實現是一種解耦方法,讓我們實現這些架構特性:性能,伸縮性,簡化,可修改性,擴展性
在J2EE中我們可以使用JAX-RS, Dropwizard…
dotnet平台可以使用Web API, WCF,servicestack,nancyfx
那么OData呢? OData是基於AtomPub協議的REST另一種表現形式,用於應用程序與數據的交互。 最近微軟又發布了OData lib 6.6.
由於篇幅有限,今天先介紹到這兒。
您可能感興趣的文章:
C#實現一個簡單的REST service
使用Fiddler測試基於WCF的REST Service
使用WCF web API測試基於REST的WCF Service
如有想了解更多軟件開發資訊,請關注我的微信訂閱號:
作者:Petter Liu
出處:http://www.cnblogs.com/wintersun/
本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。
該文章也同時發布在我的獨立博客中-Petter Liu Blog。