使用 BPEL 构建 Web 服务网络(一)

日期: 2007-12-13 作者:Yves Coene 来源:TechTarget中国

  受不断成熟的 Web 服务标准的鼓舞,越来越多的组织正在协作环境中使用 Web 服务。BPEL 正快速成为为实现企业间协作而编排这些 Web 服务的平台。BPEL 为构建在线市场或协作网络的公司提供了引人瞩目的好处,即基于标准的方法和松散耦合的流程集成。

  而 Web 服务提供的激动人心的新功能却隐藏着某些风险。在许多情况下,如果在设计时未解决某些技术和管理难题,则合作伙伴关系将会破裂或集成成本飙升:

  合作伙伴必须事先进行充分的协商,约定根据特定标准开展业务。传输协议、交互目的、消息格式以及业务约束必须实现清晰地通信。

  连接网络必须是一个简单的过程;协作网络主要通过不断壮大取得成功。

  用户必须在运行时轻松地找到业务服务,否则将在很大程度上无法实现面向服务体系结构 (SOA) 这一承诺。(服务信息库在这方面很有用。)如果开发人员无法轻松地找到和重用服务,则这些服务本质上就算不存在。

  合作伙伴应能够实时监控 Web 服务。最终用户应能跟踪特定订单的进度,并且贸易合作伙伴应能诊断业务流程中的特定瓶颈。

  如果协作网络在托管环境中运行,这些难题将变得更为棘手。在该模型中,合作伙伴将他们原有应用程序提供的功能公开到 Web 服务中,并将此 Web 服务发布到集中的信息库中。主机负责编排复杂的业务流程,后者反过来利用合作伙伴的 Web 服务。

  在 BPEL 指南的这一部分中,我将把欧洲航天局 (ESA) 项目(来自 Spacebel s.a. 的小组参与了该项目)作为一个案例分析,介绍与这些挑战相关的体系结构注意事项。此外,我还将介绍该项目如何利用 BPEL 作用域、BPEL 域和 Oracle BPEL 流程管理器 API 构建一个“易于合作伙伴使用的”协作网络。

  ESA 网络概述

  ESA 已着手制定一个战略性计划,旨在完全基于开放标准创建一个 BPEL 驱动的服务提供商协作网络。该网络称作服务支持环境 (SSE) 网络,它组合第三方的地球观测 (EO) 和地理信息系统 (GIS) 服务,提供增值的复合型服务。SSE 是一个不断壮大的网络,目前包括遍布 9 个不同国家/地区的 20 多个合作伙伴。

  如图 1 所示,SSE 是一个支持 BPEL 的网络的简单实现。ESA 充当中介,它使用各种 Web 服务标准(如 SOAP、WSDL、WS-Addressing、WS-Inspection 等)为不同合作伙伴之间基于流程的协作提供支持。该网络在集中星型拓扑环境中运行:服务提供商使用 Oracle BPEL Designer 将不同类型的地球观测和 GIS 服务集中到一个信息库中,从而创建了一个不断扩大的服务目录。

  图 1 SSE 体系结构

  SSE 提供执行以下任务所必需的基础架构

  承载和管理充当可用服务目录的中央信息库
  在中央目录内部注册和搜索服务
  在 Oracle BPEL 引擎内部执行短期和长期的业务流程
  使合作伙伴能够使用 Oracle BPEL 流程管理器控制台监控 Web 服务的执行
  最终用户通过浏览可用服务目录请求特定服务。SSE 根据请求调用相关的业务流程。该业务流程调用 Web 服务(运行在服务提供商处)来完成请求。

  SSE 支持同步和异步的交互模型。ESA 广泛使用 Oracle BPEL 流程管理器 API 来为提供商和最终用户提供最大程度的灵活性和易用性体验。

  设计 Web 服务网络

  开放标准正在不断改变集成的规则。BPEL 提供了一个以流程为中心的跨企业集成方法,因此可以使用 BPEL 流程流定义合作伙伴集成。SOA 与 BPEL 的这一组合为构建松散耦合的协作网络提供了一个前所未有的良机。

  集中星型(SSE 采用的方法)是一个广泛使用的网络拓扑,组织通过它与各种合作伙伴建立连接。网络也可以采用单向对等模型。这种情况下,每个合作伙伴都为 Web 服务安全性和供应提供了一个平台。

  现在,我们来看网络设计的四个方面:

  设置接口关系
  简化合作伙伴支持
  创建集中的服务注册表
  为合作伙伴和最终用户提供自助监视功能
  设置接口关系。协作网络设计从定义参与规则开始。这些规则指定在业务流程中交换的消息、这些消息的交换顺序以及该消息的物理属性。要正确通信,所有合作伙伴都必须能够回答以下问题。

  交互的目的 — 是请求报价还是订单?
  消息格式 – 消息是如何编码的?
  词汇 — 应如何构造消息,以便其他各方可以理解和处理它们?
  业务约束 – 应在多长时间内响应请求?
  通信渠道 – 是否应把消息加密?

  为帮助合作伙伴回答以上问题,ESA 公布了一个接口控制文档来定义这些术语。本文档正式确定了在多个 ESA 赞助的项目中建立、改进和验证的技术集成规则。基于消息的 SOAP(通过 HTTP 或 HTTPS 实现安全通信)是 SSE 服务器与服务提供商之间采用的通信协议。(对于本文档,我们将分析 WS-Security 的用法。)Web 服务定义语言 (WSDL) 是唯一一个绑定了所有实体的接口协定;服务提供商必须创建一个 WSDL 文件,用于描述它的 SOAP 接口并使其他合作伙伴可以访问该接口。WSDL 文件中包含的某些信息是固定的,但必须提供以下信息:

  根据选定的交互模型(搜索、RFQ、订购)选择的操作
  服务的物理位置
  服务 XSD 模式的导入

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

相关推荐

  • SAP收购CallidusCloud 与Salesforce竞争

    一直被称为后台办公巨头的SAP现在似乎也想在前台办公大展拳脚。 最新的迹象是SAP收购CallidusClou […]

  • API设计如龙生九子 各不相同

    IT咨询管理公司CA Technologies对API产业做了个问卷调查,问卷内容涉及API设计风格以及管理部署的新动向。调查结果表明,JSON与XML可谓两分天下。

  • 保险公司如何能从BPEL中获益

    对于保险业整合不同系统是一件寻常的工作。但保险公司经常会面临监管条例改变和应对不同的顾客需求。为了解决这些系统问题,软件专家正在使用一种强大的工具——BPEL。

  • 从头开始实现领域驱动设计

    领域描述业务;它是驱动企业的概念和逻辑的集合。如果遵循领域驱动设计(DDD)这一本质,那么领域就是应用程序中最重要的组成部分。