/* 转载请保留版权:作者:雷霖 QQ:64607646 E-Mail:[email protected] */
IBM Websphere MQ 编程主要有两部分:一是 MQ 系统管理编程;一是 MQ 应用开发编程。
MQ 系统管理编程:
所谓的 MQ 系统管理编程是指使用 MQ 提供的编程接口,编制特定的应用程序,来进行对 MQ 各种对象的监控和管理,如:查询通道的状态、队列的深度等运行时状态,查询队列管理器的属性,队列的属性或通道的属性等静态参数;以及对 MQ 进行各种操作,如:启动 / 停止通道,创建 / 删除各种对象,修改各种对象的属性等。
实际上, MQ 为我们提供了多种系统管理的手段,其中包括:
除了以上这三种管理手段之外, MQ 还提供了系统管理的编程接口,通过该接口用户可以编写应用程序从而进行自动化的实时监控及管理。 MQ 的系统管理接口有两种,即 Programmable Command Format (可编程命令格式,简称 PCF )和 MQ Administration Interface ( MQ 管理接口,简称 MQAI )。
MQ 应用开发编程:
MQ 的应用开发编程主要是指使用 MQI , AMI , ActiveX 编程接口来进行消息的发送和接受以及相关的应用开发的工作。
MQI 即 Message Queue Interface :
它提供的基础而丰富的编程接口,而且也提供了最全面的操作组。。它的使用比较广泛,支持大部分平台和程序语言。
比如:操作系统支持 AS/400 、 SunOS 、 AIX 、 Windows 等,编程语言支持 C 、 C++ 、 VB 、 PL/I 、 COBOL 、 RPG 、 Delphi 等。
MQI 可以用来处理:
AMI 即 Application Message Interface :
其可向程序员提供一种可以用于处理队列管理器对象非常简单的接口。利用 AMI ,程序员不必深入了解所有 MQI 调用,他们只要专注于应用程序的商业逻辑即可。这就意味着在编程时出现的错误更少,具有更高的处理业务及技术改变的灵活性。 AMI 减少了编写新应用程序所需的代码数量。
可采用以下方式发送和接收消息 AMI :
由于网上关于 MQ 的开发资料比较少,在最近的一个项目中,有人需要用 MQ 来做开发,由于多 MQ 的编程不是很了解,所以不知道 Delphi 和 MQ 之间是如何关联的。
在 MQ 的编程模式中,目前我查证的资料中,只有 MQI 是支持 Delphi 开发的,另外由于 Delphi 的第三方组件也比较多,美国有一家公司提供了一个 Delphi for MQ 的组件,使用起来非常简单,可惜该组件需要收费。
Delphi 采用了 MQI 接口,官方也提供了文档指导
http://www-1.ibm.com/support/docview.wss uid=swg24007060 ,文档说明了 Delphi MQI 的 API 接口和 C 的类似,官方的编程 MQI 编程指导手册对于 Delphi 同样也很适用。在 C 语言中使用了指针并且使用了另外一种定义字符串长度的方式,就是在结尾处用 #0 做标记;在 Pascal 中, @ 操作符被用来传递指针的值。
MQI 的编程用的最多的主要是 13 个常见函数的调用:
MQCONN
MQCONNX
MQDISC
MQOPEN
MQCLOSE
MQPUT1
MQPUT
MQGET
MQINQ
MQSET
MQBEGIN
MQCMIT
MQBACK
1 MQCONN 演示
今天展示的一个实例就是演示成功的打开对队列管理器进行连接,并学习一些相关的概念。
系统环境: Win2000 Pro + SP4, MQ5.3,Delphi7
Delphi中需要创建一个窗体,一个Memo,一个Button