BPEL或ESB:应该使用哪一个
在设计SOA解决方案时,并不总是清楚应该使用Web服务BPEL流程,还是应使用 ESB中介流。本文将介绍帮助您决定使用哪一个的一些注意事项。
在设计SOA解决方案时,并不总是清楚应该使用Web服务BPEL流程,还是应使用 ESB中介流。本文将介绍帮助您决定使用哪一个的一些注意事项。
概述
在IBM? SOA参考体系结构中(如图 1 所示),服务被分组为多个功能区,并通过企业服务总线(以下称为ESB)进行通信。在理想情况下,每个功能区(如流程服务)都是“纯”功能区,为了实现关注点分离仅提供了一个服务类。

图 1. SOA 参考体系结构
不过,在现实世界中,存在重叠的任何产品集中通常都包含功能区。例如,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 具有四个主要功能:
消息路由:将传入消息发送到目的地,该目的地通过硬编码方式连接的逻辑确定或基于内容的动态方式确定。路由是启用服务虚拟化的关键功能。在调用方和服务之间建立中间层可以在调用方不知道更改的情况下移动服务的位置。
- 本文关键词:

