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。