概述
WebSphere
MQ(以下简称
MQ)是IBM公司享有盛誉的商业通信中间件。它被世界范围的许多大型企业广泛采用。它提供一个具有工业标准、安全、可靠的消息传输系统。
MQ基本由一个消息传输系统和一个应用程序接口组成。应用程序使用
MQ的API(消息队列接口
MQI)函数和队列管理器(
MQ运行时刻的程序)进行通信。队列管理器在工作时,它需要用到对象如队列和通道。同时,队列管理器也是一个对象。图1所示为
MQ应用程序在运行时刻的图示。
MQ1
MQ的版本。 MQ第五版支持消息的最大长度为100MB。
MQ应用于客户机/服务器模式或者分布式系统。应用程序可以工作在一个工作站上,也可以运行在不同平台的不同机器上。应用程序具有很好的移植性,能够轻松的从一个系统或者平台转移到另一个系统或者平台。程序的编写支持多种语言,包括Java。同样的,队列也适合许多不同的平台。
MQ通过队列进行通信,所以它可以被看成是使用间接的程序--程序方式通信。程序员可以不指定接收消息的目标程序的名称,但是可以指定接收消息的队列的名称,每一个队列和一个程序相联系,一个程序可以有一个或者多个接收队列,而且可以有多个输出队列。输出队列包含着很多信息,这些信息可以是用来供服务器处理的,也可以是返还给发送消息的客户端的回复信息。
MQ进行通信时程序员不必担心目标程序是否可用或是否繁忙,甚至不用考虑目标机器是否正常运行或者是否连接上了。程序员发送消息给目标队列,而目标队列是和目标程序相联系的,目标程序可能目前不可用。不用担心,MQ能够解决这种情况,如果需要,它甚至能够启动目标程序。
|
MQI(消息队列接口API)。程序就是使用 MQI来和 MQ的实时程序--队列管理器进行通信的。
MQ的核心部分是一个能够存储消息的服务器及一组能够转发消息的进程,分布在多个系统(异地、异种平台)上的应用程序依靠这种机制来交换要处理的数据2。队列管理器作为一个服务器,把消息以可靠的方式存储,即使机器发生故障重新启动后依然不会丢失,其可靠级别与数据库服务器相等。队列管理器间通过特别的交换机制保证数据不会因为底层网络的故障而丢失,并且能够在多点间接力式地传送。
MQ传送,也可以用其他消息中间件来传送,如WEBLOGIC内含的具有消息中间件功能的部件。
MQ软件提供一个JAVA软件包,里面有JMS类库,和一套MQ的类库。不熟悉MQI编程方法的程序员可以用JMS,比较熟悉MQI编程方法的程序则可以用MQ类库来编程。下面的小程序是使用Java实现从队列管理器QM_SERVER中的队列INITQ写入或读出消息。
package transfer; MQEnvironment.hostname="192.168.1.18";//本地IP MQEnvironment.channel="CHANNEL1";//用来通信的通道 MQEnvironment.CCSID =1381; MQQueueManager("QM_SERVER");//队列管理器名称 MQC.MQOO_INPUT_AS_Q_DEF|MQC.MQOO_OUTPUT|MQC.MQOO_INQUIRE; MQQueue queue=qMgr.accessQueue("INITQ",openOptions,null,null,null); MQMessage hello=new MQMessage();//要写入队列的消息 MQC.MQFMT_STRING ; MQPutMessageOptions pmo=new MQPutMessageOptions(); |
MQ有许多显著的优点,比如借住在不同的平台上使用相同的应用程序接口,它能轻松的实现跨平台通信,从而能够使开发人员避开网络的复杂性;比如它对消息的处理不依赖于时间,在消息创建和发送时,不受时间的限制,增加了处理的灵活性......
MQ的特点以及IBM公司在企业应用领域所付出的巨大努力,使得它具有极强的生命力。现在,大量的政府部门、金融、电信和企业用户使用 WebSphere MQ作为企业电子商务的基础平台。
最后
以上就是可耐自行车为你收集整理的WebSphere MQ 实例的全部内容,希望文章能够帮你解决WebSphere MQ 实例所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复