武汉佰钧成技术有限责任公司
消息描述符(MessageDescription或Message Header),描述消息的特征,如:消息的优先级、生命周期、消息Id等;
消息体(MessageBody),即用户数据部分。在MQ中,消息分为两种类型,非永久性(non-persistent)消息和永久性(,persistent)消息,非永久性消息是存储在内存中的,它是为了提高性能而设计的,当系统掉电或MQ队列管理器重新启动时,将不可恢复。当用户对消息的可靠性要求不高,而侧重系统的性能表现时,可以采用该种类型的消息,如:当发布股票信息时,由于股票信息是不断更新的,我们可能每若干秒就会发布一次,新的消息会不断覆盖旧的消息。永久性消息是存储在硬盘上,并且记录数据日志的,它具有高可靠性,在网络和系统发生故障等情况下都能确保消息不丢失、不重复。
二、在MQ中,还有逻辑消息和物理消息的概念。利用逻辑消息和物理消
息,我们可以将大消息进行分段处理,也可以将若干个本身完整的消息在应用逻辑上归为一组进行处理。
队列
队列是消息的安全存放地,队列存储消息直到它被应用程序处理。 MQ消息队列的工作方式如下所述:
(1)程序A形成对消息队列系统的调用,此调用告知消息队列系统,消息准备好了投向程序B;
(2)消息队列系统发送此消息到程序B驻留处的系统,并将它放到程序B的队列中; (3)适当时间后,程序B从它的队列中读此消息,并处理此信息。 由于采用了先进的程序设计思想以及内部工作机制,MQ能够在各 种网络条件下保证消息的可靠传递,可以克服网络线路质量差或 不稳定的现状,在传输过程中,如果通信线路出现故障或远端的主 机发生故障,本地的应用程序都不会受到影响,可以继续发送数据, 而无需等待网络故障恢复或远端主机正常后再重新运行。 2. 通道
通道是MQ系统中队列管理器之间传递消息的管道,它是建立在物理的网络连接之上的一个逻辑概念,也是MQ产品的精华。
在MQ中,主要有三大类通道类型,即消息通道,MQI通道和Cluster 通道。消息通道是用于在MQ的服务器和服务器之间传输消息的,需
银行信用卡系统建设项目
- 21 -
武汉佰钧成技术有限责任公司
要强调指出的是,该通道是单向的,它又有发送(sender),接收 (receive),请求者(requestor),服务者(server)等不同类型,供 用户在不同情况下使用。MQI通道是MQ Client和MQ Server之间通 讯和传输消息用的,与消息通道不同,它的传输是双向的。群集 (Cluster)通道是位于同一个MQ群集内部的队列管理器之间通讯使 用的。
三、IBM WebSphere MQSeries的工作原理
IBMWebSphereMQSeries的工作原理如图4.1所示:
图4-1IBM WebSphere MQSeries的工作原理
首先来看本地通讯的情况,应用程序A和应用程序B运行于同一系统A,它们之间可以借助消息队列技术进行彼此的通讯:应用程序A向队列1发送一条信息,而当应用程序B需要时就可以得到该信息。
其次是远程通讯的情况,如果信息传输的目标改为在系统B上的应用程序C,这种变化不会对应用程序A产生影响,应用程序A向队列2发送一条信息,系统A的MQ发现Q2所指向的目的队列实际上位于系统B,它将信息放到本地的一个特殊队列一传输队YU(Transmission Queue)。我们建立一条从系统A到系统B的消息通道,消息通道代理将从传输队列中读取消息,并传递这条信息到系统B,然后等待确认。只有MQ接到系统B成功收到信息的确认之后,它才从传输队列中真正将该信息删除。如果通讯线路不通,或系统B不在运行,信息会留在传输队列中,直到被成功地传送到目的地。这是MQ最基本
银行信用卡系统建设项目
- 22 -
武汉佰钧成技术有限责任公司
而最重要的技术——确保信息传输,并且是一次且仅一次(once.and.only-once)的传递。
MQ提供了用于应用集成的松耦合的连接方法,因为共享信息的应用不需要知道彼此物理位置(网络地址);不需要知道彼此间是怎样建立通信:不需要同时处于运行状态;不需要在同样的操作系统或网络环境下运行。
四、MQ的架构
网上公务卡企业端服务器与网上公务卡银行端的处理服务器之间的通讯是通过中间件IBMWebSphereMQ Series实现的
在企业处理服务器中,交易报文的转发是其最重要的功能,在银行处理服务器的通讯中,我们使用了IBM WebSphereMQ Series消息中间件来对报文进行传输,下面我们将对MQ的配置、定义以及程序的调用加以详细的讨论。
在企业处理服务器和银行处理服务器,我们分别定义了本地队列和远程队列,分别用于存储远程发送来的交易报文以及将交易报文发送至远程的队列当中。
例如:我们在企业处理服务器中建立了远程队列RQ01用于将企业提交的报账数据整理并组包后通过CH2l通道发送到银行处理服务器的本地队列LQ01中。通过银行处理服务器处理后,将处理结果从远程队列RQ01通过CHl2通道发送到企业处理服务器的LQ01队列中。图4.2说明了MQ队列的具体结构图。
银行信用卡系统建设项目
- 23 -
武汉佰钧成技术有限责任公司
图4-2 MQ具体结构图
6. 运行环境
6.1. 软件平台
? ? ? ?
操作系统:OS/390 应用框架:RPG 数据库:DB2
浏览器:Microsoft Internet Explorer 6.0及以上
6.2. 开发工具说明
整个平台的开发将采用IBM核心的OS/400 RPG银行系统开发工具,并使用最新的版本,使整个平台具备先进的应用环境。
银行信用卡系统建设项目
- 24 -
武汉佰钧成技术有限责任公司
第二部分 项目实施及服务方案 IBM银行信用卡系统建设项目
- 25 -