您的位置:首页 > 数据库

CICS学习报告[By Ivan]

2006-08-06 20:46 274 查看
 

什么是CICS?

CICS的全名是custom information control system,是IBM公司开发的联机事物管理系统,是一种实现操作系统资源优化管理的中间件系统。CICS已经具有30多年的历史,生命力顽强。它广泛应用于银行、航空等系统,它的稳定性是支撑现代信息文明的基石。CICS是IBM最流行的管理事物系统,也几乎成为了中间件的代名词。
所谓中间件,可以把它理解为连接操作系统(地层底层)和应用程序(高层)的纽带,英文名称叫做midware(或者minddleware)。计算机最下层是硬件层,上面是OS层,OS层上面是应用程序层,而有中间件的计算机系统,在OS层和应用程序层中间还有一个中间件层。
中间件并不仅仅局限于大型机这个平台,CICS有多种版本,可以与AIX、Z/OS、WINDOWS、VSE(旧版本的Z/OS,现在的客户有中国银行)。不过CICS目前最重要的舞台无疑是Z/OS。Z/OS最强大的特性就在于大容量的IO以及资源管理,与CICS结合使用是Z/OS能为应用程序实现海量资源服务的保障。

CICS的编程语言

CICS的编程语言都比较古老,有汇编、C、PL/I、COBOL等。上课老师带着我们画CICSMAP的时候,用的语言是COBOL语言,代码中有明显的COBOL痕迹:清晰的COBOL部名。
而在我实习的地点,我发现开发人员使用PL/I语言进行开发。从语言风格来看,PL/I的风格更加枯燥,命名有着极为严格的要求。但是初步感觉,风格和COBOL相似。
编程的平台就是我们使用连接大机的PCOMM软件。打开后,输入“L CICS”并登陆,然后进行相应操作。
由于在公司里我还没有得到大机登陆权,我还没法在公司里亲手练习CICS,不过根据以前印象,我们学院是把CICS命令“嵌入”COBOL代码中。未必是亲手把这些代码写进去,比如,画MAP的时候,一些代码是自动生成的。具体的CICS操作经验我还是0,所以在下个星期中,我要在住所里多多练习了。

CICS命令

CICS命令相信大家应该见过。王老师在终端演示了很多遍了。
比如
EXEC CICS LINK PROGRAM (name)  COMMAREA (
cfe3
data-area) LENGTH (data-area)

前面的EXEC和LINK是关键字,LINK指明要调用一个PROGRAM,基本上其他的CICS命令格式也差不多,比如:
EXEC CICS XCTL PROGRAM (name) COMMAREA (data-area) LENGTH (data-area)

XCTL和LINK类似,也是实现PROGRAME之间的通信,只不过LINK是上级PROGRAM连接下级,类似调用一个子程序。而XCTL则是平级PROGRAM传递控制的方法。

CICS Application  

也许有人可能以为老师在终端上写的CEDA、CEDF之类的是CICS应用程序。没错,是的。CICS应用程序有3种:CICS系统事物、CICS命令(服务)、CICS程序。CEDA属于第一种,而“EXEC CICS……” 则是第二种。

CICS命令是指程序,比如COBOL等调用CIC S功能所使用的代码,而老师所写的CEDA之类的,其实是CICS 系统事物的ID。操作员在终端登陆CICS后,输入CICS System Transaction的名字,比如CEDA,来实现想要的功能,比如,画一个MAP,调试,查看终止异常代码等。

以CEDF为例,它的功能就是为用来跟踪应用程序的命令的。按照我们老师的步骤是:

先在屏幕左上角输入CEDF,接着清除屏幕,并输入要调试的事物的ID号码,重复按回车键就允许查看程序运行的信息。

CICS事物的命名有规范,要求不能超过4位,比如CECI、CECS、CEBR。这些都是系统事物(Transaction),我们可以在终端输入它们以达到我们的目的。

CICS事物的相关概念

CICS事物是一组为了完成某个功能的,相关联的操作或者步骤的集合。它具有原子性、连续性等性质。
可以把学生注册理解为CICS事物,这个事物的步骤包括:读入学生注册信息、检查当前课程情况、检测是否有空间给该学生、增加该学生到学生列表中、发送确认信息给学生。这5个步骤必须都完成,不能只完成几个就断掉了。这个概念很类似于我们学习数据库时候的“交易”的性质概念。
事物是一个概念,我们把正在运行的事物的实例称作“任务”,一个任务就是正在运行的事物。它的流程是事物ID进入CICS系统,然后CICS创建了一个可以运行的任务。接着这个任务被执行,CICS把控制权交给应用程序。当程序需求得到满足,程序执行EXEC CICS命令,最后CICS释放任务的控制块,任务消亡,离开系统。
相关的其他概念还包括Region、domains等的概念,这些暂时不提。

CICS与DB2数据库

我们的项目要使用的是DB2数据库,CICS是支持这种数据库的(除了DB2,CICS还支持IMS数据库)。根据CICS中间件的性质:它为应用程序优化分配系统资源,CICS也能够为程序自动分配DB2的相关资源
CICS可以通过DSNC事物来实现对DB2的操作,具体方法还没有看全,下次再说。
以上为苗国栋对CICS基础知识的总结。有任何疑问请联系我。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息