CTOCIO IT专家网

天极传媒 比特网 | 天极网 | IT专家网 | IT商网 | 52PK游戏网 | 手机天极 | IT分众 |
IT专家网搜索

您现在的位置: IT专家网 > SOA子站 > SOA评论分析

面向资源与面向活动的Web服务

作者: James Snell ,  出处:IBM, 责任编辑: 李春禹, 
2008-05-14 15:11
  从基本原理层次上说,REST 样式和 SOAP 样式 Web 服务的区别取决于应用程序是面向 资源的还是面向 活动的。

  与此相对的是 面向活动的资源。该类型的应用程序集中于您可能执行的操作,而不是集中于操作所依靠的资源。活动服务的一个简单的例子就是银行事务,在那里用户可以把钱从一个账户转移到另一个账户上。用户不想直接操作资源(钱、银行账户等等),他们只想告诉银行他们想要达到的目的,并且让银行根据他们的利益对资源进行处理。用 GoF 术语来描述应用程序:

  命令

  中介方

  策略

  代理设计模式

  面向资源服务不管资源的类型怎样,执行的操作可以保持相对不变,与面向资源服务不同,面向活动服务的操作完全依赖于正在执行的活动类型。例如,银行服务可以公开一个名为 transferFunds 的操作,该操作不同的输入将完全决定服务的资金转移功能。

  在面向资源的服务中,一组普通操作担当支持性的工作角色,为客户端提供访问和操作资源。然而,资源是关注的中心,如下面 图 1 所示。

  

  图 1. 面向资源服务与面向活动服务的比较

  在面向活动服务中,对客户端请求执行的每个活动的单一操作来说,操作是关注的中心。

  SOAP 样式 Web 服务通常是面向活动的。 WSDL 文档定义并描述特定于服务的操作。操作由特定于服务的消息交换组成。每一个操作都是一个可以执行的活动。那些正在被执行的操作所针对的内容通常是不相关的。正如 Web 服务资源框架系列规范所描述的,资源可以隐含在活动之中,但是这种隐含与活动的定义不相关,并且只是为了改进执行活动所依赖的上下文。与针对资源而执行活动的面向资源服务相比,它和用来访问资源的服务接口互不相关。

  结合上下文:Bloglines 资源

  Bloglines 是一个基于 Web 的应用服务,它允许个人对 weblog 和新闻的各种订阅保持跟踪,这些订阅内容以 Really Simple Syndication(RSS)和 Atom 提供的形式交付。

  Bloglines 服务根本上是面向资源的。用户创建、更新、和删除订阅,并且定期访问服务来了解自上次访问站点后发生了哪些更新。Bloglines API 利用 REST 样式 Web 服务接口适当地反映了面向资源的特性。

  特别地,对于 Bloglines 来说重要的是订阅的用户集合,如众所周知的 blogroll。单个 blogroll 会由许多不同的订阅组成。一个 订阅指向一个 RSS 或者一个 Atom 提供。

  Blogrolls 和订阅都是资源。Bloglines API 使用基本 HTTP 操作来检索关于用户的 blogroll 和订阅资源的当前状态信息。

  例如,要访问用户 blogroll 的当前快照,用户向 URI //rpc.bloglines.com/listsubs 发送一个 HTTP GET 请求。在严格的 REST 条件下,该 API 确定了每一个 Bloglines 用户的订阅。当调用这个操作时,HTTP 身份验证请求收集关于检索哪个用户订阅的附加上下文。由 XML 文档组成的操作返回的信息为已验证用户列出所有的个人订阅。

?4?? 9 1 2 3 4 :

网友评论

笔名 
请您注意:遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。    IT专家网友拥有管理笔名和留言的一切权利。
  • 周排行榜
  • 月排行榜

邮件订阅

       
天极服务 | 关于我们 | 网站律师 | 加入我们 | 联系我们 | 广告业务 | 友情链接 | 我要挑错
All Rights Reserved, Copyright 2004-2008, Ctocio.com.cn
渝ICP证B2-20030003号 如有意见请与我们联系 powered by 天极内容管理平台CMS4i