受不断成熟的 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中国
作者
相关推荐
-
SAP收购CallidusCloud 与Salesforce竞争
一直被称为后台办公巨头的SAP现在似乎也想在前台办公大展拳脚。 最新的迹象是SAP收购CallidusClou […]
-
API设计如龙生九子 各不相同
IT咨询管理公司CA Technologies对API产业做了个问卷调查,问卷内容涉及API设计风格以及管理部署的新动向。调查结果表明,JSON与XML可谓两分天下。
-
保险公司如何能从BPEL中获益
对于保险业整合不同系统是一件寻常的工作。但保险公司经常会面临监管条例改变和应对不同的顾客需求。为了解决这些系统问题,软件专家正在使用一种强大的工具——BPEL。
-
从头开始实现领域驱动设计
领域描述业务;它是驱动企业的概念和逻辑的集合。如果遵循领域驱动设计(DDD)这一本质,那么领域就是应用程序中最重要的组成部分。