CICS 基本概念介绍 IBM 中国信息技术服务部
提 纲 联机交易系统 三层次的客户机服务器系统结构 交易中间件 通用在线事务处理软件—CICS
联机交易系统
什么是交易? 定义:交易是对某一应用操作序列的一个工作单元 特点(ACID): 原子性(Atomicity) 一致性(Consistency) 独立性(Isolation) 永久性(Durability)
什么是联机交易系统? 定义:提供即时、在线的交易服务 特点: 提供用户实时的交易请求与响应 提供软硬件故障的交易系统恢复
三层次的客户机服务器 系统结构
传统的两层次体系结构
2层结构不能满足OLTP业务的需求
多层结构应用的优势 性能问题 安全性高 开发维护问题 减少数据库并发用户 减少网络开销 消除数据库的瓶颈效应 权限控制 信息安全 软件重用性好,节省开发时间 减少维护牵涉面
三层次的客户机/服务器架构 三层次的客户机/服务器架构着重于客户机对应用服务的请求,而有别于二层次架构着重于数据的请求 把传统的二层次架构的客户界面与商业逻辑分开后,可以从安全、性能、扩展性上根本改变二层次架构的局限性
交易中间件
实现三层次架构的交易中间件 中间件定义:中间件是界于操作系统和应用之间的系统软件 中间件分类:按功能与应用范围有两大类产品 交易类中间件:事务处理管理器(TPM),包括事务处理,安全管理,容错,负载管理等;应用以交易中间件为运行和开发的平台 消息类中间件:面向消息的中间件(MOM),负责通信,安全准确地传送信息 TXSeries(CICS)---IBM公司的世界领先的事务处理服务器,是IBM公司在全球企业应用交易处理解决方案中的核心
CICS为OLTP带来了 分布式交易的数据完整性 RDBM's XA, MQSeries's XA,基于交易的两阶段提交 快速的服务器交易响应时间 处理大量并发的交易请求 合理重复地使用服务器资源 简易稳定的Client/Server通讯 透明地建立于TCP/IP,SNA,DCE RPC之上 监控及管理交易系统所有资源 PROGRAM,TRAN,FILE,QUEUE, RDBMS…
CICS为OLTP带来了 监控及管理交易类的优先权、并发度 保证了系统的稳定性 加强交易系统的扩充、可移植性 CICS家族成员间的兼容性(NT, AIX,OS/400,VSE, MVS, HP-UX, SUN Solaris) 简化、加速应用程序的开发 技术领先,屏蔽了通讯、安全和交易、资源管理 缩短开发周期 减少系统复杂度,运行成本和风险
3层应用程序的设计
通用在线事务处理软件 —CICS
CICS的客户机/服务器架构 50 DB
CICS三层分布式系统的示例 Note: 第一层包含显示 软件 -- 与用户通过屏幕或命令行接口进行交互的客户应用程序。在第二层,客户应用程序将请求发送给服务器应用程序。第二层应用程序包含商业逻辑。服务器执行服务,如更新或检索对客户请求的响应中的数据。第三层包含数据与资源,将它们从处理逻辑中分离。 服务器与资源管理器通信。资源管理器是一个应用程序,它管理共享数据,如 用来保持客户信息的 Oracle 数据库。服务器可动用 大量的资源,包括大型机和关系数据库管理系统 (RDBMS) 来执行工作。
TXSeries CICS架构 CICS主要以下几部分: 交易管理器:CICS 提供分布式交易服务和分布式应用服务:ENCINA 分布式计算环境:DCE
CICS相关概念 TXSeries DCE SFS CICS REGION XA 事务处理流程 INTERNET 支持 用户认证方式
CICS相关概念: TXSeries IBM TXSeries 是一个协调和集成服务器的高级事务处理解决方案,它允许用户创建一个分布式客户机/服务器环境,具有当今联机事务处理(OLTP)所必须的所有可靠性、可用性和数据完整性。 TXSeries支持到INTERNET的标准协议及网关,可将事务环境与用于群件和数据库管理的关键应用程序连接,TXSeries还使您能在INTERNET上安全可靠地执行商业事务。 该服务器对存储在数据库中的数据提供基于事务的访问,用户应用程序可以用工业标准的结构化查询语言SQL查询数据,具有数据独立性和完整性加强的事务处理优点。
TXSeries的典型架构
TXSeries 的产品层次结构 Note: 使用用户信息控制系统(CICS)或 Encina 作为事务处理监视器。Encina 将通过集成和建立分布式计算环境(DCE)所提供的服务来提 供分布式事务服务,Encina 对 DCE 服务进行了扩展,它提供了基于日志的恢复、加锁、 对 DCE 远程过程调用(RPC)的扩展、两阶段落实协议以及可使 用 X/Open 遵循 XA 的资源管理器进行多方共同操作的接口。工具箱执 行体、服务器核心以及 DCE 都包含了实现分布式事务系统所必需的基本元素。 在这个重要的基础设施顶部,Encina 提供了一个事务处理监视器、就绪创建可恢复服务器应用程序、允许大型机应用程序成为分布式系统一部分的服务以及一个用于中央管理的图形界面。
CICS相关概念:DCE CICS DCE-RPC Only环境 DCE-RPC是DCE Cell Directory Server,DCE Security Server的基础 DCE支持的核心是RPC,RPC提供了分布式系统中两个进程间的一种网络透明通信形式,进程使用RPC以完全相同的方式进行通信 RPC作为通讯协议,提供CICS与Encina SFS,DCE Cell directory,DCE Security Server,及cicsterm与CICS Region之间的通讯方式
CICS相关概念:SFS Server SFS(Structure File Server)结构化文件服务器 SFS使用RPC与其他服务器通信 Encina介绍 Encina Executive和Encina Server负责交易的核心系统 Encina SFS Server提供结构化文件系统 PPC Services提供点对点服务 CICS Monitor或Encina Monitor提供交易的运行环境并监控其运行 应用程序用CICS或Encina提供的API来编程
CICS相关概念:CICS CICS是一系列为IBM和非IBM平台上的应用提供联机事务处理和事务管理的产品。 CICS建立在操作系统、开放集团的分布式计算环境DCE和ENCINA服务上。 CICS为应用程序开发,通信,恢复,显示,数据管理,安全性和内部通信提供很多项服务。
CICS相关概念:CICS REGION CICS区域(REGION)处理一个或多个客户请求的事务。通常,区域经过访问数据库,完成一些商业逻辑,然后才答复客户 CICS REGION维护并使用一个多线程的进程池,其中每个进程提供一个处理事务的完整环境,称为应用程序服务器(cicsas) 每个CICS REGION协调它的cicsas所需要的所有资源服务。如协调安全性,分散工作负载等 CICS REGION将许多服务分给其他更有能力做此工作的服务器,例如,使用DB2或SFS文件来存储和管理用户数据
CICS相关概念:XA接口 XA接口不是普通的应用程序设计接口(API),而是在X/OPEN DTP模型中的事务处理管理器(TM)与资源管理器(RM)之间的系统级接口。 NON-XA,一阶段提交XA接口与两阶段提交XA接口
CICS 通过non-XA方式访问关系数据库 数据库连接 EXEC SQL CONNECT TO DATABASE; 数据库操作 EXEC SQL ... 数据库提交 EXEC SQL COMMIT; EXEC SQL ROLLBACK; 数据库关闭 EXEC SQL DISCONNECT; 通过sqlca.sqlcode来判断返回状态
无需数据库连接、关闭(cicsas启动时连接) 数据库操作 交易数据提交 CICS通过XA方式访问关系型数据库 无需数据库连接、关闭(cicsas启动时连接) 数据库操作 EXEC SQL ... 交易数据提交 EXEC CICS SYNCPOINT; EXEC CICS SYNCPOINT ROLLBACK; 通过sqlca.sqlcode来判断返回状态
一阶段XA提交
二阶段XA提交
CICS相关概念:事务的处理流程 Note: 在 CICS 中,一组相关的操作称为一个逻辑工作单元 (LUW)。在 Encina 中,一组相关的操作 称为一个事务。 所有事务保证商业信息系统的完整性与一致性是通过提供工作的原子性、 一致性、 隔离性与耐用性, 这就是所谓的 ACID 属性: 原子性 将相关操作组成一个个离散的单元。在一个单元中的所有操作 要么成功完成 (落实其更改), 要么什么也不做 (逆序(现场)恢复其更改)。 一致性 一个事务在两个一致的状态间移动数据并以一种可重复的方式操作。按用户期望的方式更改某一事务所使用的数据并使其处于其他事务也可使用的状态。如果重复某一事务, 则它总是执行相同的逻辑。 隔离性 即使事务可以并发运行,也没有一个事务能够妨碍进展中另一事务的工作。事务看起来是顺序运行的。 耐用性 当一个工作单元成功完成时,即使事务、系统或其它故障相继发生,其更改仍保留。
CICS 运行机制 以定单处理事务为例 任务管理 Note: 任务管理服务控制任务的创建、处理和终止。任何时侯只要有可能,CICS 区域就向最重要或最紧急的工作提供最快响应时间。 通常会有几个任务竞争处理时间, 因此 CICS 区域确定优先级。任何时侯都可能有许多任务要并行执行,所有这些任务需要相同的资源。区域依照它们的相对优先级、应用程序服务器的可用性和其它系统资源来调度和分派任务。它控制处理任务的速率和次序,从而减小冲突和系统超负荷的机会。 管理提示: 在CICSTERM中,执行CEMT INQ TASK可以看到CICS服务器中正在执行/等待的任务。
CICS 客户机与 CICS 区域之间的通信 Note: cics 客户机和 CICS 支持 DCE 的客户机提供了下列用户接口: 这使得一个在客户机上运行的非 CICS 应用程序 能同步或异步地调用 CICS 程序,就象一个子程序。 基于客户的应用程序 (如那些 Lotus Notes 版应用程序) 使用简单的 ECI 调用将数据块 传递到 CICS 区域,无需任何特殊的通信代码。 外部显示接口 (EPI) 它使一个在客户机上运行的应用程序能调用服务器上的 CICS 事务。 执行该事务就如同将它从 3270 终端启动。该事务向客户返回一个 3270 数据流,而客户可在图形用户界面(GUI)中将它呈现出来。使得诸如图形或多媒体接口之类的现代技术可与传统的 3270 CICS 应用程序一起使用,而无须更改 CICS 应用程序。
CICS 事务和资源的认证 Note: CICS 按下列两种方法实现权限检查: 事务安全性 资源安全性 这两种技术都是基于了安全性密钥的使用。 CICS 区域中的每个事务和其它资源都有一个预定义的密钥。若干个资源可以具有相同的密钥,形成具有相同权限的资源组。也可以将资源定义为公用(如果所有用户都可使用)和 专用(如果只有特定的可信赖事务可使用)。每个用户都有一组预定义的密钥,这些密钥必须与用户使用的事务密钥和其它资源密钥相匹配。用于认证用户事务的密钥称为事务级安全性(TSL)密钥,而用于认证其它资源的密钥被称为资源级安全性(RSL)密钥。 管理提示: 以上安全性密钥定义在TD(交易定义),UD(用户定义),FD(文件定义)定义中。