企业服务总线的实施策略与总线集成
ESB首先是一种概念,实现的方案又很灵活,最终支持ESB的产品也很多,那么,ESB实施方案与具体技术各自适用的场合有什么特点?基于不同实施方案的ESB又是如何互联的呢?本文将对上述问题加以总结。
MQ中的配置
MQ中的配置主要是两个通道,一个是用来接受SIBus的消息传递引擎发送过来的接受方通道,其名称必须与SIBus中消息传递引擎的发送方通道名称一致。另外一个是用来向消息传递引擎发送消息的发送方通道,需要首先定义一个传输队列,并且设置远程主机的地址和端口。
1) 创建传输队列
在Websphere MQ资源管理器的队列中新建一个本地队列,名称设置为"QM_TheBus",使用类型选择为"传输"。
2) 定义MQ发送方通道
在Websphere MQ资源管理器中选择高级=>通道,选择新建发送方通道。
- Channel Name:MQToBus(该名称必须是在定义 MQ 链接上的接收方队列时所使用的名称)
- Transmission Protocol:TCP/IP
- Connection Name:运行 SIBus(端口)的计算机的主机名。对于缺省的独立的 WebSphere Application Server 安装,该值为 localhost(5558)。样例中为5559,可以在Websphere的端口中查到该SIB_MQ_ENDPOINT_ADDRESS 端口的值。
- Transmission Queue:QM_TheBus。

图 5:设置MQ发送方通道
3)定义接受方通道
同样在高级=>通道中新建一个通道,这次选择接受方通道。将通道名称设置成SIBus中定义的发送方通道的名称"busToMQ",传输协议选择"TCP/IP"。
从SIBus向MQ发送消息
现在SIBus与MQ互联必需的两者之间的配置已经完成了。为了使订单请求能够从SIBus上到达MQ,我们需要在SIBus上定义一个远程目标(Foreign Destination)。这个远程目标是Message Broker的MQ入队列在SIBus上的代理。发送到SIBus上的这个远程目标的消息将会通过SIBus上的消息传递引擎和MQ的接受方通道最终达到MQ的队列管理器上的队列中。订单消息到达这个队列后,因为是Message Broker部署的消息流的入队列,Message Broker会取走这个消息,随后做处理,处理后的消息会存放在Message Broker定义的出队列中。例中MQ的队列管理器为WBRK_QM.。
1) 在总线的"其他属性"=>"目标",点击进入,选择新建,目标类型选择"外部"。
2) 设置属性
标识:ForeignQueue@WBRK_QM(必须是WBRK_QM队列管理器上真实存在的队列ForeignQueue,若不存在需要首先创建这个队列)
总线:FOREIGN_BUS(外部总线,该外部总线通过消息传递引擎链接到MQ上的WBRK_QM队列管理器)

图6:在SIBus中定义映射到MQ中队列的外部目标
- 本文关键词:

