RSS
热门关键字:  数据挖掘  人工智能  数据仓库  搜索引擎  数据挖掘导论
当前位置 :| 首页>相关研究方向>crm>

基于ESB的MQ连接方案

来源: 作者: 时间:2007-12-27 点击:

本文由Any-Extract(AE)自动生成

数据挖掘研究院

  前言 数据挖掘研究院

  最近碰到很多这样的案例,即需要实现系统和MQ的互联。以前已经有一些文章论述了如何使用WebLogic Server的JMS Bridge来连接MQ,也有使用WebLogic Server内置的Foreign JMS Server来实现的,但是这需要编写很多代码如MDB来侦听消息,JMS客户端程序来发送消息等。其实BEA的SOA基础架构软件企业服务总线AquaLogic ESB能方便实现这样的功能,且无需编程。利用ESB还有一个好处是可以直接使用XML接口,而前者得直接编程面对消息解析。 数据挖掘研究院

  文章还对如何实现传递中文XML做了详细的解释,同时也加入了如何利用XQuery技术快速实现数据格式的转换。

  基于ESB的MQ连接方案 数据挖掘研究院

  概述 数据挖掘研究院

  BEA ESB 2.6RP1加入了Native MQ Transport的新特性,使得BEA ESB可以直接与IBM MQ进行消息交换。可以通过Business 服务向MQ发送消息,支持单向发送和发送等待返回两种模式;可以通过Proxy服务从MQ取消息,支持单向取消息和取消息消费以后再放入MQ返回队列两种模式。

  使用ESB Native MQ Transport有几个好处:

  •   可以读取和产生MQ Message,如果直接使用MQ JMS接口无法直接设置某些header属性
  •   支持发送和收取MQ receipt message
  •   内置在ESB,无需额外配置如JMS Bridge或Foreign JMS Server等。

  关键特性:

  •   支持Inbound和Outbound连接
  •   支持IBM MQ5.3和6.0
  •   可以处理所有MQMD(MQ message descriptor)头信息
  •   支持Biding模式(ESB与MQ装在相同机器上)和TCP模式(ESB可与MQ装在不同机器上)
  •   支持单向和双向SSL(用于TCP模式)

  Native MQ Transport目前支持消息服务(Message service)和任意XML服务(Any xml serivce),根据不同业务场景可以选择合适的服务模式。任意XML服务支持将XML作为服务的调用和返回接口,对于传递数据非常方便,下面的例子即是讲解如何使用任意XML服务把IBM MQ集成到BEA AquaLogic ESB上。 数据挖掘研究院

  场景描述 数据挖掘实验室

  "" 数据挖掘研究院

  1.   代理服务Send2MQ_withResponse发起请求,将xml request消息路由到业务服务Send2MQ_withReponse_Business
  2.   Business服务Send2MQ_withReponse_Business使用Native MQ Transport将消息路由到MQ接收队列esb.mqReceiveQueue,随后即刻侦听esb.mqSendQueue队列。
  3.   代理服务MQMessageResponder,从esb.mqReceiveQueue取消息,进行业务处理和数据格式转换,将结果xml发送到esb.mqSendQueue
  4.   业务服务Send2MQ_withReponse_Business侦听的esb.mqSendQueue队列有了先前消息的返回结果,该服务接收到返回消息
  5.   代理服务Send2MQ_withResponse得到经过处理的返回结果

  具体步骤

  1、设置 MQ Server

  (1)创建队列管理器QM_YourIP(如QM_jizhou01),创建Listner监听1414端口, 创建服务器连接通道(如BRIDGE.CHANNEL传输协议TCP) 数据挖掘研究院

  (2)创建本地队列esb.mqReceiveQueue, esb.mqSendQueue, 选择“持久”。如图:

数据挖掘研究院

  ""

数据挖掘研究院

  (3)编辑JMSAdmin.config,如下:#INITIAL_CONTEXT_FACTORY=com.sun.jndi.ldap.LdapCtxFactory

数据挖掘研究院

  INITIAL_CONTEXT_FACTORY=com.sun.jndi.fscontext.RefFSContextFactory 数据挖掘研究院

  #INITIAL_CONTEXT_FACTORY=com.ibm.ejs.ns.jndi.CNInitialContextFactory

数据挖掘研究院

  #INITIAL_CONTEXT_FACTORY=com.ibm.websphere.naming.WsnInitialContextFactory 数据挖掘研究院

  …

  #PROVIDER_URL=ldap://polaris/o=ibm,c=us 数据挖掘实验室

  PROVIDER_URL=file:/C:/bea/IBM/JNDI 数据挖掘实验室

  #PROVIDER_URL=iiop://localhost/

  … 数据挖掘研究院

  SECURITY_AUTHENTICATION=none 数据挖掘研究院

  … 数据挖掘研究院

  运行JMSAdmin.bat

数据挖掘研究院

  创建binding的JNDI定义: 数据挖掘研究院

  DEFINE XAQCF(esb.mqQCFXA) 数据挖掘实验室

  DEFINE Q(esb.mqSendQueue) QUEUE(esb.mqSendQueue) QMGR(QM_jizhou01)

  DEFINE Q(esb.mqReceiveQueue) QUEUE(esb. mqReceiveQueue) QMGR(QM_jizhou01)

  DIS CTX 数据挖掘研究院

  END

  …

共3页。 1 2 3 :
数据挖掘研究院

最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
匿名?