- 1、本文档共20页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
应用WebSphere MQ V6 来构建企业信息总线的行业示例
/???2008年06月09日 ??? 社区交流 收藏本文
内容摘要:在本文中您将通过一个海关行业的示例来了解:如何设置 WebSphere MQ cluster 并在其上配置共享 Queue,如何用 WebSphere MQ 自带的 Broker 服务来配置 Topic; 如何在 WebSphere Application Server v6.0 上配置 JMS Provider 和 Message Listener Service;以及如何在一个应用中使用这些资源。
引言
IBM WebSphere MQ 是目前应用最多的消息中间件产品, 它采用了消息队列(Message Queue)这种应用程序间的通信方法, 让不同的应用程序通过读写和检索出入队列中的数据(消息)来通信, 而无需直接面对网络易变、系统异构、数据协同等各种问题和风险。 WebSphere MQ 同时也支持简单的 Publish/Subscribe(发布 / 订阅)消息传递机制, 每个队列管理器中有唯一的 Broker 代理来处理所有的订阅和发布。
WebSphere MQ 支持 Cluster(簇或集群),即多个队列管理器(Queue Manager 以下简称 QM) 的集合,这些队列管理器可以分布在不同的机器上。 本文中的例子采用了上述的 Queue 和 Pub/Sub 两种方式, 并创建了一个 MQ Cluster 来简化数据传输的配置和 MQ 对象的管理, 采用 MQ Cluster 的理由基于其如下特点:
1) Cluster 中的队列管理器之间的数据传输通道是自动建立的, 使得数据传输配置变得更简单;
2) 队列管理器中的队列可以被指定为 Cluster 共享队列, 对 Cluster 中的所有的队列管理器都是可见的; 不同队列管理器中定义的同名 Cluster 共享队列自动实现针对该队列的传输负载均衡;
3) 不同队列管理器的 Broker 代理之间可以指定主从关系, 这样就可以在 Cluster 内很方便地实现树状的 Pub/Sub 结构。
在根据需要配置好 WebSphere MQ 之后, 就可以在 WAS 上进行相应配置并在应用程序中集成这些资源了。 下文将会详细介绍如何根据本文实例的需要来配置 WebSphere MQ, 以及 WAS 和应用代码、配置上的细节。
实例描述
这是一个出入境清关系统的例子(见图 1.1)。这个系统由一个管理中心 (Headquarter,以下简称 HQ)和多个子控制中心(Control Point,以下简称 CP)构成。 其中每个 CP 会产生大量清关数据(Move Record,以下简称 MR), 这些清关数据需要被传送到 HQ 上汇总;各个 CP 在处理清关操作的时候需要的监控列表 (Watch List,以下简称 WL)则由 HQ 定制并不定期向各个 CP 分发。
图 1.1 系统示意图一
这里 CP 和 HQ 之间的数据传输采用 WebSphere MQ 来实现, HQ 和每个 CP 都有自己的队列管理器(QM),这些 QM 被配置为同处于一个 MQ Cluster 中。 MR 的数据传输是 CP 到 HQ 单向点到点的数据传输, 在本例中用定义在 HQ 端的队列管理器中的 Cluster 共享队列(MR2HQ.Q)来实现。 WL 的数据则是 HQ 向各个 CP 的广播,这就需要采用 Pub/Sub 的模式。 实例中是选择 HQ 的一个队列管理器启动 Broker 服务, 然后每个 CP 的队列管理器也都启动 Broker 服务并作为 HQ 的 Broker 子结点。
图 1.2 系统示意图二
WebSphere MQ 自带的 Broker 服务用于支持简单的 Pub/Sub 功能, 每个队列管理器中有唯一的 Broker 代理来处理所有主题的订阅和发布。 在单一队列管理器上启用 Broker 代理时, 主题的发布者和订阅者都直接访问这同一个队列管理器,在其上可以定义多个主题。 多个队列管理器之间也可以做父子级联, 前提是要建立双向的发送 / 接收通道以及相应的传输队列, 当然如果两个队列管理器都在同一个 MQ Cluster 里也行。 父子级联的效果就是子节点成为订阅代理, 订阅者向子节点发出的订阅都会代理成向父节点的订阅。 由此形成了一个发布 / 订阅的分布式树形结构, 在父节点上发布的主题消息可以被其所有子节点上的订阅者消费。 这种方式的好处就是可以消除对单一 Broker 服务的依赖,本文的例子就是采用这一方式, HQ1 为父节点,所有的 CP 都是子节点。
图
文档评论(0)