REST表象状态转移

决定采纳Jerry的建议结束在论坛中长期潜水的生涯

在javaeye的第一篇blog准备写点最近研究REST的感受

对REST的研究源于dlee等翻译的Roy Thomas Fielding博士的论文《架构风格与基于网络的软件架构设计

这篇文章可以从http://docs.huihoo.com/rest/REST_cn.pdf下载

英文原版在http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm

翻译的不错了,文章有些晦涩是因为博士的原版写得就比较晦涩,所以请观众们不要质疑dlee等的翻译功力

文中讲述了软件架构的不同风格,以及作者认为评估这些风格的一些重要指标。最后,作者介绍了REST风格的软件架构。

之前我总是将REST想象为一种编程标准,在这之后才理解了REST是一种软件架构风格,因此我们看不到一个严格的REST的框架定义。不过Rails2.0已经将对REST的支持做了很好的封装,未来我们的RoR程序员可以很方便的构建REST风格的Web应用了。

对REST的学习让我重新认识了Http。往常我们常常把http理解为一个传输协议,实际上http不仅仅是传输协议,也是一种对资源的操作契约。标准的http操作get、post、put、delete代表了对资源的CRUD操作。这也是REST所要求的资源组织和操作方式。

REST除了给我们带了了一种简单的资源组织方式,更简单的url以外。也让我们的服务器变得更为专注,专注于提供资源以及对资源的标准操作,而不是资源的表述。在Ajax和flash在浏览器客户端大行其道的今天,REST的出现为我们构建更清爽的服务提供了一种便利的方法。

当然,多年的业务系统开发,让我很快想到了REST在事务方面的问题。在这里几位做了一些关于REST的讨论,里面也有一点点关于事务的。http://www.iteye.com/topic/82227?page=1

关于REST的事务性问题,我还没有做过具体的研究和试验,在今天无法做出什么好的评述。即使最终REST并不适合做业务系统,它也给我了一种新的架构设计的启发。

你可能感兴趣的:(REST,网络协议,Ajax,网络应用,编程)