监理公司管理系统 | 工程企业管理系统 | OA系统 | ERP系统 | 造价咨询管理系统 | 工程设计管理系统 | 签约案例 | 购买价格 | 在线试用 | 手机APP | 产品资料
X 关闭
杭州OA行业资讯

当前位置:工程项目OA系统 > 泛普各地 > 浙江OA系统 > 杭州OA系统 > 杭州OA行业资讯

SOA:应该使用BPEL还是ESB

申请免费试用、咨询电话:400-8352-114

来源:泛普软件 SOA:应该使用BPEL还是ESB(一)

在设计SOA解决方案时,并不总是清楚应该使用Web服务BPEL流程,还是应使用 ESB中介流。本文将介绍帮助您决定使用哪一个的一些注意事项。

概述

在IBM? SOA参考体系结构中(如图 1 所示),服务被分组为多个功能区,并通过企业服务总线(以下称为ESB)进行通信。在理想情况下,每个功能区(如流程服务)都是“纯”功能区,为了实现关注点分离仅提供了一个服务类。

不过,在现实世界中,存在重叠的任何产品集中通常都包含功能区。例如,WebSphere Process Server(以下称为 Process Server)是在参考体系结构中提供流程服务的软件组件。它是从 WebSphere MQ Workflow、WebSphere Interchange Server 和 WebSphere Business Integration Server Foundation 发展而来的。为便于用户升级前代产品,它包括了与旧产品中的功能等效的功能。例如,Interchange Server 包括了业务对象映射,该对象映射以接口映射形式存在于 Process Server 中。

可以映射流入或流出业务流程的业务对象。映射还是 ESB 中的主要功能之一。因此,如果您同时拥有 Process Server 和 ESB,则需要决定应使用哪一个产品解决给定的业务问题,原因是这些区域存在重叠。

还存在一些可能使用 Process Server 或 ESB 的其他用例。例如,假设需要使用两阶段提交调用三个现有服务。这称为组合服务。在 ESB 中,您可以使用中介流调用这些服务。中介流是作为事务提交或回滚的。您可以使用 WS-BPEL 微流调用这三个服务,同时提供事务性。这样,可以使用这两种产品作为解决方案。如何决定哪一种产品是正确的?

ESB 概述

ESB 是一种体系结构模式,而不是软件产品。不同的软件产品可以构成 ESB。在某些情况下,公司在不同的区域中使用多种产品,利用特定的功能来满足其独特的需求。可以将这些不同的产品联合在一起实现 ESB 模式。

概括地讲,ESB 具有四个主要功能:

消息路由:将传入消息发送到目的地,该目的地通过硬编码方式连接的逻辑确定或基于内容的动态方式确定。路由是启用服务虚拟化的关键功能。在调用方和服务之间建立中间层可以在调用方不知道更改的情况下移动服务的位置。

###NextPa域e###

消息转换:将传入消息从一种格式转换为另一种格式。例如,可以将逗号分隔的消息转换为 SOAP,这样可以将数据传递到 Web 服务。

协议中介:传入消息使用不同的协议从发出位置发送。例如,传入消息可以使用 HTTP,而传出消息可以使用 WebSphere MQ。

事件处理:事件的传入消息一般通过发布和订阅模型分发给许多端点。

在给定的事务中,通常会合并这些主要高级功能。例如,传入消息可能是一个使用 SOAP/HTTP 的 Web 服务调用,而目的地是需要使用 WebSphere MQ 的固定长度消息格式的遗留系统。必须转换消息、协调协议并且必须将消息路由到正确的位置。

对 ESB 编程通常涉及虚拟环境,并将逻辑表示为称为消息流或中介流的连接活动流。这些流都是事务型的,使用的是两阶段提交之类的机制,这样在失败时可以回滚整个流,或者在成功时提交整个流。这些流是无状态的;通常情况下是消息传入,流对该消息执行各种操作,然后发送传出消息。

由于 ESB 的无状态事务特性,因此高性能是前提条件。在大型组织中,ESB 每天处理数百万条消息的情况并不少见。

IBM 在 ESB 方面提供了多款软件产品。WebSphere ESB 是基于 WebSphere Application Server Network Deployment 平台构建的。构建它是为了支持 Web 服务、JMS 和 XML 之类的标准。WebSphere Message Broker(以下称为 Message Broker)是一种非 J2EE 产品,它支持 WebSphere ESB 中的标准(如 Web 服务),以及许多基于非标准的协议和数据格式。WebSphere DataPower 是一种硬件工具,它可以飞速执行 ESB 功能。总之,这三种产品都可以用作 ESB 的基础。

BPEL 概述

OASIS 标准组织已将 Business Process Execution Language (BPEL) 定义为基于标准的方法,使用该方法可以编排由服务构成的业务流程。2007 年,WS-BPEL 2.0 被批准为标准语言。作为一种执行语言,WS-BPEL 定义了如何表示业务流程中的活动,以及流控制逻辑、数据、消息相关性和异常处理等。

IBM 的 WebSphere Process Server(以下称为 Process Server)包括业务流编排器(即基于 WS-BPEL 的流引擎)。上一版本称为 WebSphere Business Integration Server Foundation,该版本也包括 WS-BPEL 支持。

Process Server 包含多个主要功能,其中包括:

业务流程:流程可以是有状态和长时间运行的,或者是事务型微流。长时间运行的流程无法像微流那样回滚,IP,它们可以使用补偿处理程序撤消先前执行的活动。流程可用于实现组合服务。

人工任务:业务流程的一个关键部分是能够将人员引入该流程。人工任务管理器启用一些步骤,通过这些步骤可以将人员作为一种服务来调用。工作流模式是使用 BPEL 扩展通过外部(参与)任务或内联任务进行支持的。

业务规则:集成的规则引擎允许创建和评估业务规则,而不是将决策硬编码到业务流程。授权用户可以使用 Web 浏览器更新该规则。管理员可以激活更新,并将其导出,因此开发环境可以与运行时保持同步。

集成 ESB:Process Server 包括完整的 WebSphere ESB 产品。在本文中,我们只介绍 Process Server 的 BPEL 引擎组件。

SCA:Process Server 中的服务调用是使用服务组件体系结构 (SCA) 规范完成的。SCA 接口映射可用于调用其接口与调用组件不同的服务。接口映射也支持高级功能(如关系)。如果系统 A 使用“123”作为客户标识符,而系统 B 使用“ABC”作为客户标识符,则在这两个系统之间转换时,您可以使用关系建立“123”到“ABC”的中介,反之亦然。

发布:2007-04-23 11:53    编辑:泛普软件 · xiaona    [打印此页]    [关闭]
杭州OA系统
联系方式

成都公司:成都市成华区建设南路160号1层9号

重庆公司:重庆市江北区红旗河沟华创商务大厦18楼

咨询:400-8352-114

加微信,免费获取试用系统

QQ在线咨询

泛普杭州OA行业资讯其他应用

杭州OA软件 杭州OA新闻动态 杭州OA信息化 杭州OA快博 杭州OA行业资讯 杭州软件开发公司 杭州门禁系统 杭州物业管理软件 杭州仓库管理软件 杭州餐饮管理软件 杭州网站建设公司