APP vs Web3S: RESTful协议探索
时间:2008-01-11 来源:cppiodcoffee
Build Web Service the REST WayAPP vs Web3S: RESTful协议探索
作者:Arnon Rotem-Gal-Oz 日期:2007年1月8日 下午5:25
原文地址:
http://www.infoq.com/news/2007/06/app-web3s;jsessionid=CFEAD800911518774C06F989F95E55BC
正文
资源发布和编辑协议的标准化有很多益处。因为它增长了获得部分与整体的互操作性的机会。作为一种基本的格式产生的XML带来了这些益处。但是它有点过于具有一般性,却没有能够为具体化的属性设置一些能被广泛接受且基础的规则,比如:收集,记录条目等。
在一个RESTful中,将这种格式与普遍使用的HTTP协议相结合保证了基础的形成。实际上已经有几个可用的协议致力于解决这个问题。最早也最成熟的当属ATOM Publishing Protocol,一个即将定稿的IETF标准的草稿。最近的草稿版本将APP定义如下:
ATOM Publishing Protocol 是一个应用级别的协议,用于发布和编辑Web资源,使用HTTP [RFC2616] 和 XML [W3C.REC-xml] 协议。这个协议支持Web资源的生产并且为以下的对象提供工具: l 收集:集合或者资源,可以进行整体或部分检索 l 服务:对于收集的发现和描述 l 编辑:生成,更新和删除资源 ATOM Publishing Protocol 与其它很多同时产生的协议的区别在于服务器处理来自客户端的请求的范围更加广泛。 |
APP还定义一个标准的扩展模型使得它可以性更强。实际上,Google在开发Google Data API (GData) 的时候已经将它作为一个公共协议来读取和写入很多服务,如:Google Base,Google Calendar等。
然而,Microsoft 好像并不喜欢APP协议并且决定发布他们自己的协议,称为Web3S (“Web Structured, Schema’d & Searchable ”,Web结构化,模式化和可检索化)。微软的Yaron Goland最近在一篇blog中介绍了它:
Live上的的众多服务都依从一种很相似的设计模式,我先称之为S3C,它代表了特定模式(并不是指XML格式)下的结构化数据,但是对数据进行的搜索操作却十分的杂乱无章。因此将这些服务用一个协议统一起来就显的相当自然。我们第一个要找的就是APP。但是我们不能够使得APP在任何一个我们的方案中工作正常。实际上,在找寻了一圈以后,我们不能找到一个协议能够满足我们的要求。 [中间一堆废话blablabla…………………………………………………………………………] 我们将S3C改名为Web3S,将其发布在这里。第一个章节解释了我们的需求。我还发布了一个FAQ,解释了Web3S的设计原理。在2.1节中,解释了我们为什么不用ATOM。 |
CRUD(创建、读取、更新和删除)
REST相关:
Build Web Service the REST Way
Architectural Styles and the Design of Network-based Software Architectures
SIP/IMS网络中的Representational State Transfer (REST)和数据分布