REST服务介绍
2016-04-24 11:35
369 查看
REST服务介绍 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 方式的回归。 如下图示例:
![](http://images.cnitblog.com/blog/15172/201408/171135037641080.png)
使用REST的关键是如何抽象资源,抽象得越精确,对REST的应用就越好。REST服务关键原则:1. 给一切物体一个ID2.连接物体在一起3.使用标准方法4.资源多重表述5.无状态通信假设我们有这样的类OrderManagementService, CustomerManagementService:
![](http://images.cnitblog.com/blog/15172/201408/171135067804367.jpg)
实现REST将是基于HTTP应用协议,像下图这样:
![](http://images.cnitblog.com/blog/15172/201408/171135111083856.jpg)
上图实现了对订单,客户之间的相关CRUD操作,我们看到使用对应的HTTP协议。REST能实现是一种解耦方法,让我们实现这些架构特性:性能,伸缩性,简化,可修改性,扩展性
在J2EE中我们可以使用JAX-RS, Dropwizard…
dotnet平台可以使用Web API, WCF,servicestack,nancyfx
那么OData呢? OData是基于AtomPub协议的REST另一种表现形式,用于应用程序与数据的交互。 最近微软又发布了OData lib 6.6.由于篇幅有限,今天先介绍到这儿。
参考文章:http://www.ourunix.org/post/tag/jetty http://www.codeweblog.com/jersey-to-create-restful-webservice/ http://www.nickleo.com/index.php/archives/158 http://www.lxway.com/418914652.htm
![](http://images.cnitblog.com/blog/15172/201408/171135037641080.png)
使用REST的关键是如何抽象资源,抽象得越精确,对REST的应用就越好。REST服务关键原则:1. 给一切物体一个ID2.连接物体在一起3.使用标准方法4.资源多重表述5.无状态通信假设我们有这样的类OrderManagementService, CustomerManagementService:
![](http://images.cnitblog.com/blog/15172/201408/171135067804367.jpg)
实现REST将是基于HTTP应用协议,像下图这样:
![](http://images.cnitblog.com/blog/15172/201408/171135111083856.jpg)
上图实现了对订单,客户之间的相关CRUD操作,我们看到使用对应的HTTP协议。REST能实现是一种解耦方法,让我们实现这些架构特性:性能,伸缩性,简化,可修改性,扩展性
在J2EE中我们可以使用JAX-RS, Dropwizard…
dotnet平台可以使用Web API, WCF,servicestack,nancyfx
那么OData呢? OData是基于AtomPub协议的REST另一种表现形式,用于应用程序与数据的交互。 最近微软又发布了OData lib 6.6.由于篇幅有限,今天先介绍到这儿。
参考文章:http://www.ourunix.org/post/tag/jetty http://www.codeweblog.com/jersey-to-create-restful-webservice/ http://www.nickleo.com/index.php/archives/158 http://www.lxway.com/418914652.htm
相关文章推荐
- WindowsServer 2008 配置
- Warning[Pa082]: undefined behavior: the order of volatile accesses is undefined in this statement
- Mysql远程链接访问权限设置
- 逻辑思维题整理
- LeetCode *** 18. 4Sum (Two Pointers)
- Android中的diglog对话框
- My SQL 练习题
- Android中使用GridLayout网格布局来制作简单的计算器App
- javaweb测试HttpSessionBindingListener接口无法部署(部署错误)
- 解决360检测出文件目录列表显示漏洞的方法
- opencv绘图函数
- Django 静态文件 js css 访问(一)
- python常见问题与解答
- Netty in Action (十三) 第五章节 第二部分 ByteBuf字节层面的操作
- worldwide_d的一身雅好
- 视频截图
- sizeof 的用法
- 类的继承与派生的基础学习
- 【读书笔记】Android安全机制解析与应用实践之源码分析
- 降维中的特征选择