Web服务内幕,第6部分:承担责任--实现WSFL中的角色 来源: 时间:2002-08-26 13:15 作者:AMTeam.org Web服务内幕,第6部分:承担责任 --实现WSFL中的角色
Web
服务提供了创建高度动态化的、多功能的分布式应用程序的可能,这种应用程序跨越了技术和商业之间的鸿沟,允许服务提供者和服务消费者共同改进商务方式。Web
服务流语言(WSFL)通过建立一个框架来扩展这种可能,在此框架内服务提供者和消费者可以共同合作实现标准商业流程;在这个流程中“所做的事”比“做事的人”更重要。该框架允许所有正确实现了合适的
Web 服务接口的人担任商业流程中的各种角色。在 Web 服务内幕的这一部分,我们继续讨论 WSFL,并把重点放在如何成为一个服务提供者。 流程概述 图 1:旅游预订商业流程的流模型
清单 1:旅游预订商业流程的全局模型
为履行在 WSFL 定义的流程中的服务提供者这一角色,首先必须具有对 WSDL 文档的访问权,这些文档定义了实现 Web 服务必需的基本数据类型、消息和端口类型。然后您必须设计并创建应用程序代码(这些代码实现了要求的端口类型中定义的每个操作)并将这些代码部署在 Web 服务平台(如 IBM WebSphere Application Server 4.0、Apache SOAP 等)上。 成为流程中的一部分 有大量的参考资料详细介绍了如何创建 Web 服务 — 我偏向于推荐我写的关于 Web 服务工具包方面的教程(请参考参考资料)— 所以关于这方面的细节我就不再赘述了。我在下面提供的是几个演示如何将 Web 服务实现插入到全局模型中的示例。 现在让我们开始吧,开发人员提供您已经实现的 Web 服务的 WSDL 描述。该描述提供了允许客户端应用程序调用您的 Web 服务所必需的所有信息。在 WSFL 工作流中,“客户端”指的是实现各种活动的其它 Web 服务。您的 Web 服务如何调用其它的服务取决于您的流模型定义数据和控制链接的方法。一旦创建了 WSDL,就需要将其部署到一些网络可访问的位置上,最好是部署到您的 Web 服务器上。然后即可任选地将 WSDL 定义的 Web 服务发布到 UDDI 注册方。 现在,假设这一步已经完成。您有了一个名为 Agent.wsdl 的 WSDL 文档,它位于 http://acme.com/services/agent.wsdl。此 WSDL 文档的目标命名空间为 urn:Agent_Service_Implementation,Web 服务的名称为 AgentService。该服务的目的是履行上面勾勒出的商业流程中旅游代理这一角色。 如 WSFL 规范定义的那样,在执行商业流程时,可用 4 种不同的方法来定位您的 Web 服务:静态方法、本地方法、通过 UDDI 的方法或动态方法。 使用静态定位非常简单,只需向 WSFL 全局模型添加一个指向您的 WSDL 服务定义的直接链接即可。这样就会告诉 WSFL 工作流引擎您的 Web 服务的确切位置,而无需作出任何判定(请参阅清单 2)。 清单 2:服务的静态定位
“本地”服务是不必通过 Web 服务接口来提供的 Web 服务。更多情况下,它们是采用与处理请求的工作流引擎在同一台机器上的应用程序或 Java 类的形式。这些应用程序仍可使用 WSDL 文档进行描述,但描述的方法稍有不同。WSFL 规范可提供关于本地服务的更多详细信息(请参阅清单 3)。 清单 3:服务的“本地”定位 第 3 种查找 Web 服务的方法是通过使用 UDDI 查询。本来,全局模型定义 UDDI find_service 操作是为了搜索 UDDI 注册方并检索符合条件的一系列侯选 Web 服务。全局模型使用选择策略,判定返回的搜索结果中哪个 Web 服务将被用于履行商业流程中的角色。合法的选择策略包括选择列表中的第一个服务、从列表中随机选择服务或使用一些用户定义的算法。全局模型还可能指出何时执行 UDDI 查询。可以选择在开发时运行查询,这种情况下当 WSFL 模型部署到生产环境中时,UDDI 查询将被静态定位器取代,也可以选择在运行时运行查询,这种情况下就将在首次调用流模型时执行 UDDI 查询(请参阅清单 4)。 清单 4:服务的基于 UDDI 的定位
使用 UDDI 使 WSFL 变得更灵活、更强大,允许多个服务提供者通过竞争获取在商业流程中履行一个角色的权利。然而,为 WSFL 添加最高级灵活性的是移动定位器机制,它允许 WSFL 工作流引擎完全根据调用流程时应用的一套规则来选择服务提供者。例如,如果提交的购买订单总额超过 $10,000,那么工作流引擎所选的 Web 服务实现就可能不同于为总额不足 $10,000 的购买订单所选的 Web 服务实现。 用于调用 Web 服务的消息中包含选择实际要调用的 Web 服务实现必须满足的条件,移动定位器指定在该消息的什么地方可找到这些条件(请参阅清单 5)。 清单 5:服务的移动定位器 总结
浏览:Web服务内幕,第1部分 |
|
关键词:
上一篇:全球性学习型组织的十一个特征 下一篇:Web服务内幕,第7部分:WSFL和递归组合
|
相关文章 |