CICS其全称是 Customer Information Control System,即客户信息控制系统。是一系列为应用提供联机事务处理和事务管理的产品,其功能是为商业应用提供一个事务处理环境,帮助客户建立三层次结构的联机事务处理应用,CICS 有效地区分应用系统中的表述逻辑层、业务逻辑层和数据逻辑层,从而使应用系统结构清晰,维护简单易行。

CICS 是IBM 公司的强大主机交易服务器、集成平台,在全球C、C++、COBOL等交易中间件市场上占有绝大多数客户。CICS有超过30年的历史,开发于在IBM英国的赫思里(Hursley)研发中心。CICS英国式发音是“kiks”。在AIX、HP等分布平台上的CICS叫Txseries。交易服务器也叫交易处理中间件。支持联机交易服务(OLTP),提供用户实时的交易请求与响应,支持分布式交易服务、多个数据源、异种数据源、和分布式协同应用,支持两阶段提交。

CICS其全称是 Customer Information Control System,即客户信息控制系统。是一系列为应用提供联机事务处理和事务管理的产品,其功能是为商业应用提供一个事务处理环境,帮助客户建立三层次结构的联机事务处理应用,CICS 有效地区分应用系统中的表述逻辑层、业务逻辑层和数据逻辑层,从而使应用系统结构清晰,维护简单易行。

CICS之前是一个较早的单线程事务处理系统IBM MTCS。后来开发了“MTCS-CICS”,允许这些事务在CICS下执行,而不改变原始的应用程序。

CICS最初是在美国伊利诺伊州Des Plaines的IBM开发中心在1966年开发的,旨在满足公共事业行业的要求。第一个CICS产品于1968年发布,名为公用事业客户信息控制系统或PU-CICS。很明显,它已经适用于许多其他行业,所以公共事业的前缀被删除,引入了CICS 计划产品的第一个版本在1969年7月8日,不久之后的IMS 数据库管理系统。

1970年初,许多原始开发人员,包括早期版本的首席架构师本·里金斯(Ben Riggins)搬到加利福尼亚州,并继续在IBM的帕洛阿尔托发展中心进行CICS开发。直到联邦法律要求软件分拆之后,IBM高管才将软件中的价值视为创收产品。在1980年,IBM的高管们没有听从Ben Riggins强烈的建议,即IBM应该提供自己的基于EBCDIC的操作系统和集成电路微处理器芯片,用于IBM个人计算机作为CICS 智能终端(而不是不兼容的英特尔芯片,由于该时代甚至大型处理器的容量有限,每个CICS安装都需要在完成类似于系统生成(sysgen)(称为CICSGEN)的过程之后组装所有CICS系统模块的源代码,以建立条件汇编的值语言陈述。此过程允许每个客户从CICS本身排除其不想使用的任何功能的支持,例如未使用终端类型的设备支持。当硬件价格非常昂贵时,CICS的早期受欢迎程度相对较高,其多线程处理架构,开发基于终端的实时交易应用程序的相对简单性以及许多开源客户贡献,包括调试和功能增强。

1974年,CICS的发展责任转移到英国的IBM Hursley网站,随着印度,中国,俄罗斯,澳大利亚和美国的实验室,开发工作继续进行。

1986年,IBM宣布CICS支持由分布式数据管理架构(DDM)定义的面向记录的文件服务。这使得远程网络连接的计算机上的程序能够创建,管理和访问以前仅在CICS/MVS和CICS/VSE事务处理环境中可用的文件。

CICS是一个联机事务处理平台软件,它帮助客户建立三层次结构的联机事务处理应用。一般的操作系统设计会首先考虑对硬件如内存,硬盘等资源的控制和利用,对进程和线程的管理,以及其它一些基本设施和功能。操作系统一般对批处理作业有相当好的支持,而对于大量的随机性的,对响应时间要求甚高的联机事务处理,客户则通常寻求专门的联机事务处理平台软件的支持,CICS则是此行中的佼佼者。

事务处理的通俗称法为交易处理,常有人将事务处理和数据处理混淆起来,但事实上事务处理和数据处理有本质的区别,事务是指在某一事件中,参与事件的各主体均发生了状态的变化,而所有状态的变化集合起来,称为一个事务。关系型数据库软件如DB2、Oracle等服务的对象是数据,而CICS软件服务的对象是事务。

在事务过程的模式中,如订票系统,最终用户需要的是能否卖票,能否退票,并不关心在卖票或退票事务中改变了哪些数据,由于数据库服务软件提供的是数据服务,所以仅基于数据库服务软件的事务处理系统需要客户完成相当多的工作,实际上相当于客户自己来完成一个事务处理软件,或者客户只能构建一个两层次结构的处理模式,因此客户或者发现其应用的开发维护的难度增大了,或发现其开发的进度拖延了,或发现其应用和数据的安全性不尽如意,要解决这些问题其实容易,客户需要的是一个象CICS这样的事务处理软件,建立一个三层次结构的应用系统。

CICS的以下组件支持应用程序开发。

1、基本映射支持(BMS),提供与设备无关的终端输入和输出。

2、数据交换计划(DIP),为IBM 3770和IBM 3790可编程器件提供支持。

3、2260兼容性,允许为IBM 2260显示设备编写的程序在3270显示器上运行。

4、EXEC接口程序 -,将EXEC CICS命令生成的调用转换为CICS函数的存根程序。

5、内置函数 ,包括表搜索,语音转换,字段验证,字段编辑,位检查,输入格式化,加权检索等。