Web服务内幕,第10部分:深入主题:可靠性和事务 来源: 时间:2002-08-22 09:34 作者:AMTeam.org Web服务内幕,第10部分:深入主题:可靠性和事务
软件 工程师,IBM Software Group 2001 年 11 月 就本质而言,Web 服务体系结构是应用程序通过智能的消息交换相互进行集成的
方法。对于企业,这意味着关键业务信息(比如:订购单、合同以及报价索取(RFQ))的交换。由 于这种信息的关键性本质,企业必须确保底层消息传递体系结构的可靠性。在
Web 服务内幕的这篇 文章中,James Snell 继续他的关于影响在企业中使用 Web 服务的问题的讨论,侧重于可靠的消息传递和事务。 a. 可靠的消息传递的讨论 从一开始,可靠的消息传递所存在的问题一直是困扰因特网应用程序开发的问题。究其本质,因特网本身就是不 可靠的。服务器在某一时刻启动并运行,但是可能在另一时刻当机。用来连接发送方和接收方的 协议并没有设计成支持可靠的消息传递构造,诸如:消息标识符和确认。消息的接收方必须能够确 认这样一个事实,即实际上他们已经确确实实接收到了消息。万一没有接收到确认并且需要再次发送消息时,消息的发送方必须能够高速缓存那些消息。今天推动因特网的基本技术 不支持这样的机制。因此,迫使开发者去实现新的协议、新的技术,从而满足这些需要。 现在,很明显,可靠的消息传递不是新的问题;也不是开发者现在才努力去解决的问题。源 自众多技术供应商的许多现有产品以一种或另一种形式实现可靠的消息传递。问题是 — 这是我继 续这篇 Web 服务讨论的关键点 — 目前还没有可采纳的可靠的消息传递的解决方案,可以容易地与其它解决方案进 行交互操作。为了解决这个问题,IBM 所采取的方法为:并不是定义一个可靠的消息传递应用,而 是定义另一个标准化的、与应用无关的可靠的消息传递协议,它基于广泛存在的超文本传输 协议(HTTP)。 HTTP 不是可靠的协议,这是很显而易见的。以下面的方案作为实例。这些内容最初在 7 月 developerWorks 网站上发表的“HTTPR 概述”中讨论过(请参阅参考资料)。 图 1:同步的、不可靠的消息传递
HTTPR 增强了 HTTP,在 HTTPR 中它添加了必需的元素来消除或者说至少可以减少在请求/响应过程中出现任何类 型的故障时随之产生的怀疑程度。HTTPR 工作原理超出了本文讨论的范围。相反,我将向 您推荐早些时候发布在 developerWorks 网站的“HTTPR 概述”(请参阅参 考资料)以及“HTTPR 规范”(请参阅参考资料),以获取关于 HTTPR 如何发挥作用的详细的技术信息。而下面的图 2 说 明了 HTTPR 怎么可以改变上图所示的请求/响应事务流程,从而实现可靠的消息传递。 图 2:异步的、可靠的消息传递
有条件的消息传递 有条件的消息传递是基于规则的可靠的消息传递。一般情况下,这些规则总是在应用层实现。直 到现在,表达消息条件事实上还没有一个一致的方法,以便们可以应用于中间件层。对 Web 服 务来说,这种概念将作为企业中启用 Web 服务的关键因素出现 — 允许公司在定义的约束和条件下动态地集成 业务过程。 事务和相关性环境 IBM 的研究小组提出了实现分布式事务的另一种途径。这种实现途径称为相关性环境,在最近提交给“企业分布式对象计算会议”(Enterprise Distributed Object Computing(EDOC)Conference)(9 月初在西雅图举行)的论文中讨论了。 相关性环境是新的类型的事务环境,它允许在单个事务中交换出现同步和异步分布式消 息传递风格。这究竟意味着什么?那么,来看一看一个示例方案,这是在 IBM 研究人员呈交给 EDOC 会 议的论文中所提出的(请参阅参考资料)。 “Web 站点的访问者开了一个新的帐户,在此之后必须在两个不同的分布式旧系统中创建 :用于帐户管理的 ERP
数据库和用于客户支持的 CRM 数据库。以实体 EJB 实现到 ERP 数 据库的接口,但是访问 CRM 数据库必须通过 JMS/MQ
消息传递接口。难题在于以单个分布式事 务怎样在 ERP 和 CRM 数据库中完成两个帐户的创建。” — Stefan Tai 等人 所著的
Dependency-Spheres: A Global Transaction Context for Distributed Objects and
Messages。 相关性环境解决了这个问题。作为第三方 Web 服务建立,相关性环境可以提供必需的事务环境,确保上面示例中的两个帐户的创建操作即使是在分布式的异种环境中都能进行,并且 正确地进行。我不打算详细地解释相关性环境怎样工作,关于这些内容,请参阅由 IBM 从 事该领域研究的研究小组成员所撰写的精彩论文。(请参阅参 考资料。) 这种方法很大程度上依赖于其中的可靠的和有条件的消息传递原则,为了确定给定的事务是成功还是失败 ,必须监控消息传递,从而确保能够恰当处理应用于消息传递和处理的规则。 现在,必须指出相关性环境仍然是一个研究项目,至少就这一点来说,它并不是在 Web 服务体 系结构内实现事务的唯一最有效和最有价值的方法。但是,对于怎样在分布式的 Web 服务环境 中实现事务这个难题,它有希望给出一些可靠的回答。 下一步是什么? 请参加关于本文的讨论论坛。 通过阅读 HTTPR 概述学习“可靠的 HTTP”。 也可以得到 IBM 发布的 HTTPR 规范。 本站点有关于 IBM 研究 有条件消息传递方面的信息。 提交给 EDOC 会议的 Dependency Sphere 讨论论文可在线得到。 要获取更多的关于 EDOC 的信息,请访问其 Web 站点。 下载最新版本的 Web Services ToolKit 来运用 HTTPR。
|
|||
关键词:
|
相关文章 |