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基础知识的总结。有任何疑问请联系我。
相关文章推荐
- SSH无法启动,报告/var/empty/sshd must be owned by root and not group or world-writable
- iOS学习- 22 Core Data by Tutorials - CH02
- 好久没有看到这么有建设性德文章,由衷地赞叹《知其所以然地学习(以算法学习为例)》-By 刘未鹏(pongba)
- Leetcode 406. Queue Reconstruction by Height 排队重构 解题报告
- 7.Spring学习笔记_Bean的作用域(by尚硅谷_佟刚)
- (转载)虚幻引擎3--第二章: UNREALSCRIPT的初级学习(UNREALSCRIPT BAPTISM BY FIRE )
- Android周学习Step By Step(6)--Android的数据库SQLite
- Android周学习Step By Step(8)--Intent之启动新的Activity
- OpenCL 学习step by step (6) 旋转图像
- Solaris 10 学习笔记step by step(一)
- android学习意外第一季——ERROR: the user data image is used by another emulator. aborting
- 1.22 学习报告
- 吴恩达Deeplearning.ai课程学习全体验:深度学习必备课程 By 路雪2017年8月14日 11:44 8 月 8 日,吴恩达正式发布了 Deepleanring.ai——基于 Cours
- 学习Javascript闭包(Closure) by 阮一峰
- 学习 WCF By Visual Studio 2010 (1)--起步“全双工”
- libIEC61850 Open source学习心得(二)—— Client注册报告控制块
- proteus入门学习(by 朱玲)
- 信息安全系统设计基础第十一周学习报告
- java io学习报告
- 3.Spring学习笔记_配置Bean(by尚硅谷_佟刚)