当一个事件发生在不能直接通过适配器框架集成的不同系统中,同时需要某种中间件进行交换数据时,这类集成对于那些需要调用">业务流程的场景来说非常有用。
IBM Business Process Manager V7.5 是一个综合的 BPM 平台,为您提供管理一个完整企业级程序所需的可见性和洞察力。IBM Business Process Manager 利用简单环境中的复杂性分解了竖井,更好地满足了客户需求。
WebSphere MQ (MQ) 支持应用程序使用消息队列来参与消息驱动处理。应用程序可通过使用适当的消息队列软件产品在不同平台上进行通信。例如,HP-UX® 和 z/OS® 应用程序可分别通过 WebSphere MQ for HP-UX 和 WebSphere MQ for z/OS 进行通信。应用程序与基础通信机制隔离。
本文展示了一个位于 MQ 和部署在 Business Process Manager 上的业务流程应用程序之间的集成场景。当一个事件发生在不能直接通过适配器框架集成的不同系统中,同时需要某种中间件进行交换数据时,本文介绍的集成对于那些需要调用业务流程的场景来说非常有用。
下载 部分提供了包括消息驱动 Bean (MDB) 应用程序的文章,该应用程序接收来自 MQ 的消息,并将其转发给业务流程应用程序。
应用程序架构
本文使用的流程应用程序包括 2 个主要组件:一个是在 Process Designer 中开发的业务流程应用程序,另一个是 J2EE 应用程序,该应用程序包含一个在 MQ 和部署在 Business Process Manager 上的业务流程之间充当桥梁的 MDB。必要时,可将 MDB 的激活规范与 MQ 队列或 WebSphere Application Server 的监侦听器端口关联在一起。
如图 1 所示,数据以 CSV 格式从 MQ 传递到 MDB,MDB 将其转换成进一步调用该流程的 Business Process Manager Undercover Agent (UCA) 可以理解的消息格式。
图 1. 应用程序流架构
MDB 中的消息转换
MDB onMessage 方法以 byteMessage 的形式接收 CSV 数据,然后对其进行标记化并转换成一个 String 数组。然后从该 String 数组中获取数据,并转换成 UCA 可以理解的 XML 消息结构。
图 2. 消息转换
应用程序集成
要将 Business Process Manager 应用程序和一个外部 MQ 提供程序集成在一起,需要在 Business Prcess Manager 的基础 WebSphere Application Server 中创建一个 MQ 客户端链接,其方法是使用一个 Service Integration Bus (SIBus) 通道或是一个 MQ 提供程序。这是很重要的一步,因为 WebSphere Application Server 同时充当外部 MQ 提供程序的客户端和服务器。该配置在部署于 Business Process Manager 之上的流程和 MQ 之间架起了一座桥梁。