CICS与MQ中间件简析

CICS(客户信息控制系统)是IBM公司的事务处理软件,它的历史已经超过了26年,从批处理的作业方式向联机事务处理方式的转变,使人们认识到必须有专门的事务处理软件来调度事务的运行,才能获得令人满意的系统性能和事务可靠性。

 大型的联机事务处理系统的开发比大多数人原来想象的要复杂得多,它绝不是把数据放在一台主机的数据库中,然后开发一些客户端程序来访问和修改这些数据这么简单。
 CICS最大的贡献就是深入分析了联机事务处理系统中与业务逻辑无关的,只与系统运行有关的具有共性的需求,把上述种种复杂的软件功能归纳起来,以服务器的形式帮助应用程序实现这些功能,在整个系统的运行过程中充当应用管理的角色,类比于数据库服务器管理系统中的所有数据,事务服务器管理系统中所有的应用,以及与应用相关的资源。
 服务器上的应用程序可直接访问数据库,但更多的是请求CICS的调度服务,在CICS的管理和协调下运行,并访问数据库,由于CICS集中管理与应用系统有关的所有资源包括数据库,就能以最优化的方式运行,保证达到最优的整体性能。
 客户端的应用程序在CICS客户端软件的支持下与CICS服务器通讯,并请求运行服务器上的应用程序,这种关系可类比于数据库服务器中的存储过程,能被客户端的应用程序请求调用。客户端的应用程序的工作一般是收集用户数据,发请求并接收服务器回答的结果,显示在屏幕上。
 业务管理
  CICS服务器能提供的服务由定义在其中的业务程序决定。帐务系统与营销系统作为相互独立的两套业务系统,既可分别定义在两个CICS服务器上,亦可定义在同一个CICS服务器上。
 CICS服务器支持的事务处理系统中,每一笔业务或每一个处理都由服务器端的一个可重入模块实现,必须由系统管理员或开发人员在模块编译成功后,在CICS服务器中的程序定义(PD)加入相应的定义项,指定程序的外部名字。该名字供客户端应用程序请求服务器端的服务使用。不同的业务程序由系统管理员指定不同的外部名字,如果引用程序名字错误会带来不正确的结果。
 负载均衡
 CICS服务系统的负载均衡由CICS客户端软件中的负载均衡管理驱动器实现,与后台服务器的配置无关。CICS客户端程序客户机与一台或多台CICS服务器间的连接,监控每个服务器的响应时间、已处理请求数等性能参数,选择最空闲的CICS服务器,动态将客户请求发往该服务器。具体的负载均衡选择算法由CICS客户端通讯进程的外接出口程序实现,与最终客户使用的应用程序无关,所以负载均衡算法改变时无需修改客户端应用程序。
  在CICS客户端,每个CICS服务器都由系统管理员指定一个名字,在该名字下记录该CICS服务器所在机器的IP地址和接受客户请求的端口号(默认端口号为1435,支持大量并发用户的CICS服务器通常配置多个端口号同时接受客户请求,这时每个端口号都在客户端定义为一个CICS服务器,即使它们属于同一个CICS服务器)。客户端定义的多个CICS服务器加入一个服务组中,客户端应用程序发出ECI调用请求时CICS客户端支持软件就可以在同一组CICS服务器中动态地选择一个,选择的算法可以简单的循环算法,亦可以按比例或动态检查算法。
 CICS的负载均衡设计给予CICS客户端应用程序动态选择服务器的功能,结构灵活简单,不会因为负责负载均衡的接入服务器发生故障而影响整个系统的运行。CICS服务器的设置与客户端的设置相对独立,CICS客户端可以选择使用负载均衡,亦可选择不采用负载均衡;还可选择是在所有可用服务器间作负载均衡,还是在部分可用服务器间作负载均衡;甚至能为每个程序选择是否作负载均衡,负载均衡的范围,负载均衡算法等。在CICS负载均衡结构的支持,系统管理员可以在承担较大处理的系统中配置多台CICS服务器,装入完全相同的业务程序,均分系统负载。

通信中间件MQSeries技术介绍:

  MQSeries是一个通信中间件,专门负责在各种平台间传送数据,能保证数据在不稳定的数据线路上传送时不会丢失或重复,其简洁的编程接口能大大简化系统开发人员的工作量,提高开发质量。
 MQSeries不但能在RS/6000的AIX上运行,还能在各种平台如WindowsNT、各种UNIX操作系统以至各种专用系统上运行,使各平台上的应用程序能顺利地交换数据。
  随着MQSeries在中国人民银行的推广使用,它正在成为中国金融界系统进行交易事务的事实标准。越来越多银行、证券系统使用MQSeries互联。MQSeries系统是一个消息排队产品,是IBM用于通讯的中间件产品,它为分布式环境下进行程序到程序之间通信提供了灵活、快速并且易于使用的解决方法。
  MQSeries为应用程序提供一种跨越网络通讯的特殊机制,参与通讯的应用程序之间不需要建立私有的、专用的逻辑连接,它们只需要把数据组装成消息,放入消息队列中,接收方从消息队列中取出消息,达到通信的目的。
  MQSeries中的M指的是消息(MESSAGE),Q指的是队列(QUEUE),Series指的是该产品支持几乎所有平台,包括所有计算机工业界的主流平台,运行在各种UNIX平台和NT平台上的应用程序都能用相同的API互相通讯。
 利用MQSeries传送数据的系统在系统设计和应用开发上有以下优点:
 1、断点自动恢复
 MQSeries这一特性能保证在网路中断并恢复之后,数据被可靠地从中断点恢复传送,而无需程序员考虑网络特性。
 2、保证每条数据不丢失,不重复
 由于采用了先进的程序设计思想,MQSeries的消息放入稳定的磁盘设备暂时存放,直至完整传送为止。
 MQSeries是唯一可保证信息一次性传输的中介软件。在当前数据传输线路条件普遍较差的现状下,这一点对要求高度数据完整性的系统来说至关重要。
 3、多协议并存
 MQSeries提供给开发人员的编程接口与具体的网络协议无关,网络底层不同类型的传输协议对应用开发是透明的,基于不同种协议的应用程序间的通讯在MQSeries上已成为现实。相比网关技术它有无与伦比的优越性,可以大大节省应用开发人员的开发工作量。
 4、异步并行处理
 MQSeries不仅支持传统的同步的实时响应的程序间通讯,更支持异步的、并行的工作方式。当一个应用程序用MQPUT将一个信息传送给其它应用程序,它不需等待另一个应用程序的回答,甚至不需关心信息是否被对方接收,继续执行MQPUT以后的指令。
 5、实时响应,高速传输
 MQSeries提供了保持链接的通讯方式,使每条消息的传输不需重新建立新的通讯链接,保证实时响应效率。
 MQSeries提供了大容量消息成组传输的功能,特别适合计费系统中话单数据和计费数据的成批传送的应用。
 6、多种平台共存
 MQSeries在23种操作系统上提供统一的编程接口,仅需重新编译就可完成不同平台间程序的移植。
 7、提高系统开发效率
  MQSeries十分简单易学,用户仅需利用MQSeries的9个易用而又功能强大的函数调用,就能完成所有的通讯操作。
  MQSeries在各个平台都提供相同的C语言应用编程接口。熟悉C语言环境的开发人员能以最快的速度,写出各种复杂的应用程序,实现特殊的功能,包括传送计费和话单数据、满足业务中实时查询的要求等。
  MQSeries的简单性使它不会约束程序的应用范围,如何处理来自程控交换机的话单数据、控制业务流程等都与MQSeries本身无关,但都能在MQSeries的支持下实现。
  MQSeries不仅能做到断点自动恢复,还可以实时或批量地将大量的数据转发到目的地.再触发有关应用来处理这些信息.MQSeries可保证信息不丢失,不重传。
  通过使用MQSeries来构成计费系统的通讯基础,能有效地保证整个网络的可靠性与信息传递的高速与实时性,使得应用程序的开发可以专注于业务的设计与实现上。
 8、MQSeries的安全性保证
  计费系统分布在全省各地,用公共数据网络连接各级中心和各交换局,数据很易受到攻击和侦听,有必要采用可靠的安全机制保护机密数据的传输。
  MQSeries有强大的安全控制手段,保护数据在公共数据线路上传输时的安全性。最适于在分布式环境中使用的手段是附加在MCA上的安全出口程序、消息出口程序和发送接收出口程序。
  MCA附加的安全出口程序是一些增强通道功能的功能模块。如安全出口程序,建立通道时,通道两端的MCA调用各自的安全出口程序,系统开发人员在安全出口程序加入密码确认的功能,只有通讯双方交换密钥成功后通道才能建立。
 安全出口程序能返回安全密钥,MCA通过通道发送消息时,调用消息出口程序,用密钥加密消息,接收方MCA收到消息后也调用消息出口程序对消息解密。
  MQSeries开放的接口支持各种用户开发的加密系统,从而保护在公共数据网络上传输的数据。
如果要更进一步地实现在互联网上的更强大的安全控制,MQSeries可以利用工业标准的DCE(分布式计算环境)提供的认证和加密服务。

  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值