使用 WebSphere MQ 调用 IBM Business Process Manager V7.5 中部署的流程

本文分步为您介绍集成 WebSphere® MQ 和 IBM® Business Process Manager V7.5 所需的步骤。使用一个通过 MQ 发送的消息调用流程来对该集成进行详细介绍。当一个事件发生在不能直接通过适配器框架集成的不同系统中,同时需要某种中间件进行交换数据时,这类集成对于那些需要调用业务流程的场景来说非常有用。

Sharad Chandra, 高级 WebSphere 顾问, IBM

Sharad Chandra 是 IBM 印度软件实验室 IBM PartnerWorld for WebSphere 中的一名高级顾问。他在使用 WebSphere Process Server、WebSphere Lombardi 和 SOA 产品套件开发解决方案方面拥有丰富的经验。在当前的职位上,Sharad 从事过多项涉及可伸缩且高度可用的 WebSphere 基础架构、解决方案开发、迁移、性能调优和故障排除的重要活动。



Sateesh Balakrishnan, IT 专家, IBM

Sateesh Balakrishnan 是 IBM Software Services for WebSphere (ISSW) 的 IT 专家。他拥有 10 多年的从业经验,目前从事 BPM 和 BRMS 研究,专攻 WebSphere Lombardi 和 WebSphere ILOG。在以前的 ISSW 职位上,他从事过应用程序基础架构研究,专攻 WebSphere Application Server、J2EE 应用程序迁移,以及故障排除和 WebSphere Application Server 调优。他在 IBM 从事过各种工作,包括 J2EE 解决方案的设计和开发。他目前的兴趣是 BPM 和 BRMS 系统。



2012 年 9 月 18 日

简介

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 的消息,并将其转发给业务流程应用程序。关于实现该应用程序的详细信息,请参阅 集成 JMS 与 IBM Business Process Manager 的实用方法

应用程序架构

本文使用的流程应用程序包括 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 之间架起了一座桥梁。

业务流程应用程序架构

业务流程应用程序包含一个由 Coach 构成的人工任务,显示从 MQ 接收到的信息。该人工任务与消息事件进行交互,消息事件转而又与 UCA 相关联。UCA 服务通过其默认队列以标准格式从 MDB 接收数据,然后将其转发给该任务。图 3 显示了该业务流程应用程序的高级配置详细信息。

图 3. 业务流程应用程序配置
业务流程应用程序配置

MQ 消息结构

在本文中,我们将对 MQ 使用一个 CSV 有效负载。CSV 数据保存在一个文本文件中,如图 4 所示,然后使用 RFHUtil 推送给 MQ。

图 4. CSV 文件
CSV 文件

步骤 1:配置 MQ

要在 WebSphere Application Server 上配置 MQ。需要使用以下信息:

  • MQ 队列管理器 IP 地址
  • MQ 传输通道端口,通常都是 1414,可以使用 MQ Explorer 找到此信息,如图 5 所示。
图 5. MQ Explorer 中的 MQ 侦听器端口
MQ Explorer 中的 MQ 侦听器端口

查看图 5 的大图。)

一旦拥有了所需信息之后,可在 WebSphere MQ 中创建队列,如下所示:

  1. 使用 MQ Explorer 配置一个本地队列来从 Business Process Manager 中接收消息。要完成这一点,右键单击队列管理器 Queue 文件夹,如图 6 所示。
    图 6. 配置 MQ 队列
    配置 MQ 队列

    查看图 6 的大图。)

  2. 在队列管理器中创建一个服务器连接通道,连接 MQ 和 WebSphere Application Server,如图 7 所示。
    图 7. 创建一个服务器连接渠道
    创建一个服务器连接渠道

    (查看图 7 的大图。)

现在,您已经完成了 MQ 上的配置,可以继续配置 WebSphere Application Server 以便与 MQ 连接。


步骤 2:配置 WebSphere Application Server MQ 提供程序

在本文中,我们将使用 MQ 提供程序配置 WebSphere Application Server。在 WebSphere Application Server 中使用 MQ 消息传送提供程序,Java Message Service (JMS) 消息传送应用程序可以使用您的 MQ 系统作为 JSM 消息传送资源的外部提供程序。MQ 消息传送提供程序支持 JMS 1.1 领域独立的界面(有时称为 “统一” 或 “通用” 界面)。这使得,对于端到端消息传送和发布/订阅消息传送,应用程序可以使用同一界面,另外,同一事务中也支持端到端和发布/订阅两种形式的消息传送。有了 JMS 1.1,这种方法被认为是适用于新应用程序的一种不错的做法。特定于域的界面支持应用程序的向后兼容性,而开发这些应用程序是为了使用特定于域的队列界面,正如 JMS 1.1 规范 中的 1.5 小节所述。

要配置该提供程序,执行以下操作:

  1. 要配置 Queue Connection Factory,单击 Resources => JMS =>JMS providers,然后选择要配置的 Queue Connection Factory 的 MQ 消息传送提供程序,如图 8 所示。
    图 8. 选择 MQ 消息传送提供程序
    选择 MQ 消息传送提供程序
  2. Scope 设置更改为对应用程序可见的连接工厂级别。
  3. 在内容窗格中的 Additional Properties 之下,单击 Queue connection factories,显示一个现有队列连接工厂的表及其属性概要。
  4. 创建一个新连接工厂,如图 9 所示,其方法是指定名称、JNDI 名、队列管理器、主机、端口和通道名。
    图 9. 配置队列连接工厂
    配置队列连接工厂
  5. 要配置该队列,在导航窗格中单击 Resources => JMS =>JMS providers,然后选择您想要配置的队列目标的 MQ 消息传送提供程序。
  6. Scope 设置更改为对应用程序可见的 JMS 目标级别。
  7. 在内容窗格的 Additional Properties 之下,单击 Queues,显示现有队列目标的表及其属性概要。创建一个新队列,如图 10 所示,其方法是指定名称、JNDI 名、队列和队列管理器名。
    图 10. 配置队列
    配置队列

现在已经完成了 Business Process Manager 的基本 MQ 配置,可以开始创建和配置应用程序了。


步骤 3:配置 MDB

MQ 提供两个选项来配置 MDB:激活规范和侦听器端口。我们将使用激活规范方法。要配置激活规范,选择 Resources => JMS => Activation specifications,如图 11 所示。必须先完成此操作,然后再安装 MDB EAR。

图 11. 配置激活规范
配置激活规范

一旦激活规范配置完成,安装 EAR,并将目标 JNDI 和激活规范 JNDI 与 MDB 相关联,如图 12 所示。

图 12. 在 EAR 中配置激活规范
在 EAR 中配置激活规范

步骤 4:调用应用程序

现在,配置已经完成,可以开始测试应用程序了。CSV 数据通过 MQ RFHUtil 实用程序发送到 MQ 队列,如图 14 所示。然而,在现实环境中,该数据可能来自其他软件系统。

图 13. 通过 RFHUtil 发送 CSV 数据
通过 RFHUtil 发送 CSV 数据

步骤 5:在 Process Portal 中验证结果

消息写入 ExampleQueue 后,您就可以以管理员身份登录到 Process Portal。在收件箱中,可以看到创建为消息结果的新流程实例,如图 15 所示。如果单击绿箭头图标运行流程实例,可以看到从客户端接收的数据,如下所示。

图 14. 调用的流程
调用的流程

结束语

本文介绍了如何使用 Undercover Agent 集成 WebSphere MQ 和 IBM Business Process Manager V7.5。


下载

描述名字大小
项目交换文件MQUCATest.zip7KB

参考资料

学习

获得产品和技术

讨论

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=WebSphere
ArticleID=835763
ArticleTitle=使用 WebSphere MQ 调用 IBM Business Process Manager V7.5 中部署的流程
publish-date=09182012