« 几个好的Web 2.0实践 | Main | 一枝独秀 »

从REST看WEB全面Servcice

ROR两天前正式发布了 1.2版本,David H. Hansson在blog上详细的描述了1.2增加的新特性和改进。其中最吸引人的特性当然是对REST的全面支持,web service再一次站到了前排。鼓吹web service已经有好几年的时间了,然而SOAP等重型装备虽然在一些企业应用中占有一席之地,却始终无法得到web开发社区的认可。现在有人将已经占据统治地位六年之久的SOAP描述为死星不可避免的灭亡,再联想到Google抛弃了SOAP API改而使用AJAX提供搜索服务,以及AmazondeliciousFlickr对于REST的支持,很容易让人相信WEB社区激动的变革即将产生。
REST(Representational State Transfer)翻为中文是具象状态传输,其最核心的观念转变便是面向资源的web service而不是传统的面向行为。每个资源都有一个唯一的URI来定位,对于此资源的操作则通过HTTP协议的四个主要命令GET、POST、PUT、DELETE来控制。换句话说REST暴露的URI只是用来定位资源用的,而我们要操作的动作则用HTTP中的四个主要命令来表示。试想在以前,我们要增加、更新、浏览、删除一篇文章我们可能都会用POST的方式去请求,而事实上HTTP的四个命令天生就是用来代表这四个动作的,就象在数据库中我们使用CRUD一样。ROR在一开始引入active recode已经掀起了一股热潮,其他社区的framework纷纷模仿这一模式,这一次ROR又率先将人们在开发WEB时对于请求方式固化为POST和GET方式进行了颠覆。
人们对于web的service化已经讨论和期待了很久之后,netvibes之类的网站越来越被看好,google也将自己的很多应用开放了API,ROR的持续升温和大胆变革,以AJAX为代表的RIA开发方式,web服务整合的年代已经到来。将来web开发有人专门提供基础服务,以API的方式开放,有人专做整合,将各种底层服务整合成一个独特的应用,就像IBM广告炫耀的:我们的优势就是整合。

参考资料:
SIP/IMS网络中的Representational State Transfer (REST)和数据分布
http://dev2dev.bea.com.cn/bbsdoc/20060529259.html
面向资源与面向活动的 Web 服务
http://www-128.ibm.com/developerworks/cn/webservices/ws-restvsoap/
REST:Rails 1.2的意义,以及一个翻译接力的发起
http://blog.csdn.net/myan/archive/2006/11/25/1413937.aspx

Post a comment

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)