REST服务介绍

body{
font: 16px/1.5em 微软雅黑,arial,verdana,helvetica,sans-serif;
}

       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

REST服务介绍

时间: 2024-10-10 21:32:27

REST服务介绍的相关文章

Web服务介绍 & httpd安装

Web简介 什么是Web WWW:World Wide Web,万维网 英国人TimBerners-Lee在1989年欧洲共同体的一个大型科研机构工作时发明的 Web是一种超文本信息系统,其主要实现方式是超文本连接 Web特点 1.Web页面的图形化和易于链接 2.Web与操作系统.浏览器平台无关 3.分布式 4.动态习惯 5.交互性 Web工作原理 HTTP(Hyper Text Transfer Protocol,超文本传输协议):提供了访问超文本信息的功能,是Web浏览器和Web服务器之间

SharePoint 2013 Word 转换PDF服务介绍及示例

原文:SharePoint 2013 Word 转换PDF服务介绍及示例 前言:在SharePoint使用过程中,经常会发现将文档进行格式转换的需求,之前,看到SharePoint 2013有将PPT转换PDF文档的服务,后来,才发现SharePoint 2010开始,就有将Word文档转换PDF的服务了,用起来还是不错的. 下面,我们就来看看这个服务,如何将一个Word文档库批量转换成PDF文件,或者,将单一Word文档转换为PDF文档. 一.             效果展示 新建测试Wor

LINUX服务介绍(清晰版)

http://www.linuxdiyf.com/viewarticle.php?id=172539 服务列表(按字母顺序排列) 服务名 必需(是/否) 用途描述 注解 acon 否 语言支持 特别支持左手书写语言:阿拉伯语,波斯语和希伯莱语 acpi 否 电源管理 手提电脑电池电扇监控器 acpid 否 监听精灵进程 此进程监听并分配内核中的acpi事件 adsl 否 内部ADSL开关控制 只有你的计算机内部有互联网连接adsl开关时才用到此服务 alsa 否 高级Linux声音构件 这个单独

Chris Richardson微服务翻译:微服务介绍

作者简介:Chris Richardson,世界著名的软件架构师,经典著作<POJOS IN ACTION>的作者,cloudfoundry.com 的创始人 微服务目前正受到大量的关注,成为文章.博客.会议讨论的热点.与此同时,也有人质疑微服务并非新事物,只是SOA(Service Oriented Architecure)的二度封装.无论是追捧还是质疑,微服务架构拥有巨大的优势,尤其是让敏捷开发和复杂的企业应用支付成为可能. 本系列包含7篇文章,介绍了微服务架构的各个因素,了解微服务模型的

免密码交互方式+ansible批量管理服务介绍

介绍了ssh服务 1) 远程连接加密传输数据协议,实现远程连接登录,默认端口222)ssh远程连接原理依赖于锁头(公钥)和钥匙(私钥),实现远程加密连接3)ssh基于秘钥远程登录原理a 管理服务器创建秘钥対,将公钥传输发送给给管理端b 管理端请求与被管理端建立连接c 被管理向管理端发送公钥质询d 管理端处理质询信息,实现管理与被管理端免密码交互4)基于ssh协议相关命令ssh scp sftp netstat -lntup |egrep sshd 查看ssh端口 1.1 部署ssh+key (免

Linux nfs服务介绍

nfs服务介绍 nfs(Network File System) 网络文件系统,能使用户访问服务器的文件系统,就像访问自己的本机的文件系统一样,并且多个 客户端共享访问该文件系统. 目前nfs服务,较为流行的两个nfs的组件为:nfsd,nfs-ganesha.前者linux为系统自带的内核态的文件系统,后者是开源的用户空间的文件 系统.因为nfs-ganesha运行在用户态,nfsd运行在内核态,所以nfs-ganesha具有内存分配灵活,可移植性更好,更方便扩展等优势. 缺点是nfs-gan

activiti搭建(四)八项服务介绍

转载请注明源地址:http://www.cnblogs.com/lighten/p/5927949.html 1.前言 之前学习的时候一直在其它文章看到activiti提供了七个接口来操作工作流,但在5.21版本中,查看源码发现目前是提供了八个服务.这里说个查看源码的小技巧,查看源码要弄明白创作者的思路,也就要看其写的功能模块和类的继承体系了,在eclipse中点击类名,按F4就能查看这个类的相关信息和继承了这个类的子类,一般都是点在抽象类和接口上,这样可以很快看到有些什么内容.举个例子,act

DRBD服务介绍

Drdb 介绍: 基于高可用服务器之  间的数据同步解决 Distributed Replicated Block Divice(Drdb) 基于块设备在不同的高可用服务器之间同步和和镜像数据的软件,通过它可以实现在网络中的两台服务器之间基于块设备级别的实时或异步镜像或同步复制. 类似于rsync+inotify (sersync). 区别:是drdb是基于文件系统底层,即block级别的,而inotify是在文件系统之上的实际物理文件,因此drdb效率更高!          提示:     

Nginx服务介绍

1.Nginx介绍 Nginx是一个高性能的HTTP和反向代理服务器,由俄罗斯人开发的,第一个版本发布于2004年10月4日.Nginx由于出色的性能,在世界范围内受到了越来越多人的关注,其特点是占有内存少,并发能力强,nginx的并发能力确实在同类型的网页服务器中是很强的,国内BAT.163.新浪等等都在使用nginx进行服务发布和管理.Nginx还对负载均衡等提供了非常方便的配置,同时Nginx众多的插件和功能集成更是让Nginx成为某些WEB应用场景的不二选择.以上的内容或许稍显夸张,只因