文字显示结果
组合搜索  计算机图书分类目录
 
所在位置: 图书 -> 在线试读 -> 大型主机CICS中间件基础教程 
                 

第2章 CICS基础概念

2.1 CICS概念与架构

2.1.1  什么是CICS

CICSCustomer Information Control System客户信息控制系统),又称为交易管理系统、交易监控系统和应用服务器。那么到底什么是CICS

简单地说,CICS是一种中间件产品(Middleware)。它协助操作系统高效地处理业务交易,使操作系统无须关注这些复杂的交易负载,操作系统只需关注非业务的工作负载。

CICS最大的贡献就是深入分析了实时事务处理系统中与业务逻辑无关的、只与系统运行有关的、具有共性的需求,把上述种种复杂的软件功能归纳起来,以服务器的形式帮助应用程序实现这些功能,在整个系统的运行过程中充当应用管理的角色。数据库服务器的作用是管理系统中的所有数据,而事务服务器的作用是管理系统中所有的应用及与应用相关的资源。服务器上的应用程序请求CICS的调度服务,在CICS的管理和协调下运行,并访问数据库和文件。由于CICS集中管理与应用系统有关的所有资源,因此就能以最优化的方式运行,保证达到最优的整体性能。

1.从应用的角度:CICS是一个实时事务处理(OLTP)系统

CICS充当了操作系统和应用程序之间的接口,是一种用于主机环境的实时事务处理Online Transaction Processing OLTP的产品。

OLTP是指企业用来实现企业与个人之间的数据交换和处理。实时事务处理系统具有ACID属性。

1原子性Atomicity

事务执行要么完成,要么一点也不做。例如我们有一个事务程序将账户A的¥100转入账户B,它是从账户A取出¥100并将其加入账户B。当其像一个事务那样运行时,必须是一个原子操作,即对于账户A和账户B的更改或者全做,或者全不做。

2一致性Consistency

事务执行时要保持数据库的内在一致性,即如果在数据库(该数据库最初是一致的)上执行独自的事务,那么事务执行完毕后,数据库还是一致的。作为执行结果的数据总是处于用户可预见的状态,并且不被破坏(可再现的)。

3孤立性Isolation

各个事务的执行是独立运行的,就好像没有其他事务,即并发执行的事务互不干涉。

4持久性Durability

事务的结果,将幸免于系统故障,也就是说,即使事务程序和操作系统失败,一旦事务已经提交(Commit),它的结果就被持久保存在磁盘内,并且在系统恢复后能找到。

在后续的章节(2.2节“任务管理”)中,我们将进一步了解CICS如何实现实时事务处理系统所需要的ACID属性。

2.1  地址空间的虚拟内存结构

2.从系统的角度:CICSOS/390系统中的一个Address Space

CICSz/OS(或OS/390)系统中的一个子系统(SubSystem),在操作系统中表示为一个独立的地址空间(Address Space)。因此,CICS具备所有地址空间的共同特性,包括一个寻址空间为2GB的虚拟内存(Virtual Storage),在应用寻址上有24位的寻址模式和31位的寻址模式等。

CICS作为一个独立的地址空间在z/OS(或OS/390)系统中运行时,它可以与其他的地址空间,包括其他的CICS,以及VTAMTSODB2等子系统(或地址空间)实现通信和数据交换,如图2.2所示。

2.2  CICS与应用及其他子系统的关系

根据以上描述,我们得出CICS的一个基本定义:

CICS提供了一个支持多用户、多进程、多数据源访问的应用运行环境;CICS管理和调度操作系统资源从而确保该应用运行环境的性能、灵活性、安全性和完整性。

随着商业应用的不断发展,单个CICS区域逐渐难以满足客户对高处理能力、高可用性的要求,于是CICSplex应运而生。CICSplex最初的出发点是通过使用多个CICS区域来提高整个系统的处理能力和可用性。但是当CICS区域多于一定数量时,就出现了维护、管理、操作上的问题,于是CICSplex进一步发展为将一组CICS区域通过管理工具(CPSM)有机结合而成的一个整体,整个CICSplex能通过统一的接口进行维护、管理和操作,从而在达到高处理能力和高可用性目标的基础上,又简化了系统的操作和管理维护。

本章我们主要从单个CICS区域的角度来了解CICS的构成和运行机制,对于CICSplexCPSM将在第5章详细介绍。

2.1.2  CICS内部架构

在了解CICS的概貌之后,我们再深入到CICS内部来看一下其组成结构。

2.1.2.1  CICS区域

CICS Region(区域)是CICSz/OS(或OS/390)上的一个实例,是CICS系统的基本单位。Region由一组CICS系统程序、Region的所有配置信息、它所管理的各种资源(交易、程序、数据等)组成,是一个独立的CICS环境。

Region类似于进程,有一个能执行多个线程的地址空间(Address Space)。

Region上可以拥有许多资源,如交易、程序、终端等。

应用程序的失败,只影响它所在的CICS Region

2.1.2.2  CICS

CICS内部,CICS Region被划分成多组Domain(域)。每一个Domain负责具体的管理功能。每个Domain包括Management ModulesTablesControl Blocks

每个Domain是按功能分割的各个部件,都有特定的资源和功能,这些资源包括交易、程序、终端等;功能包括文件访问、数据检索等。

DomainDomain之间通信的接口称为Gate。由于每个Domain都只能对自己控制的资源进行访问,每个Domain都有特定的功能,因此,如果一个Domain需要另外一种Service,它会通过Gate来调用另外一个Domain

2.1.2.3  CICS内部架构

每个CICS区域包含着很多具有不同功能的Domain(域)。各个域的功能由一个或多个CICS系统程序模块来实现和完成。这种基于域的架构实现了CICS系统内部各种功能的独立和分离。各个域之间可以互相通信和交换数据,但除了KE域,其他域都必须通过KE域的Kernel Linkage Routines实现与其他域的通信,所以说,KE域是CICS系统的核心,如图2.3所示。

各个域(Domain)的功能简单介绍如下:

AP-Application Domain:应用程序支持环境,提供终端管理、文件访问控制、EXEC接口的功能。

2.3  CICSDomain架构

DD-Directory Manager Domain:提供对其他域功能的寻找服务。

DM-Domain Manager Domain:用于维护与各个域相关的所有永久性信息。

DS-Dispatcher Domain:用于控制任务的运行调度。

DU-Dump Domain:负责生成CICS交易dump或系统dump

GC-Global Catalog Domain:负责保存、维护其他域在系统运行过程中的信息,用于保障系统能有序重启。

KE-Kernel Domain:是CICS的中心部件,是其他各种Domain之间互相调用的中间桥梁,同时负责管理CICS的预初始化,并参与系统崩溃时的恢复工作。

LC-Local Catalog Domain:负责保存、维护其他域在系统运行过程中用于重新初始化的一些信息。

LD-Loader Domain负责控制联机程序的装载和使用。

LM-Lock Manager Domain负责CICS资源的锁定和排队功能。

ME-Message Domain负责处理CICS的各种消息,包括程序的各种错误信息即Abend信息。

MN-Monitoring Domain:负责将任务的活动信息写到SMF中。

PA-Parameter Manager Domain:负责保存系统初始化参数表(SIT)的内容。

PG-Program Manager Domain:提供程序的控制功能,LinkXctlLoadReleaseReturnAbend和条件的处理。

RM-Recovery Manager Domain:负责进行恢复管理。

SM-Storage Manager Domain:负责管理CICS的内存(DSA&EDSA)。

ST-Statistics Manager Domain:负责将CICS的系统资源信息写到SMF

TI-Timer Domain:为其他域提供计时服务。

TR-Trace Domain:负责记录CICS在运行过程的所有事件。

XM-Transaction Manager Domain:提供交易的相关服务,如建立和终止任务、查询和清除任务、管理交易的定义和分类。

XS-Security Manager Domain:与外部安全系统相连接,提供CICS相关安全服务。

还有其他的一些Domain,如Business Application Manager DomainUser DomainEvent Manager DomainLog Manager DomainTemporary Storage Domain等,在此不再一一列举。

当我们跟踪一个交易的时候,可能会显示以上域的缩写,这表明当前交易的处理正在由哪个域进行。

当我们查看CICS中的系统消息(Message)时,在DFH(这是CICS消息的前三位标识)后的两位字母,就是域的名称,这说明该消息是由这个域报出的。例如DFHSM0122I,就是由CICSSM域(内存管理)报出来的消息。

2.1.3  CICS管理功能

CICS的运转就像一个操作系统,它提供了很多管理功能,如图2.4所示。

终端管理:大部分的CICS应用都是通过柜员在终端输入数据调起的,CICS中的终端管理模块支持应用收发信息。

2.4  CICS管理功能

安全管理:CICS中的安全管理,实现了对程序和交易的安全控制。

任务管理:CICS提供了多用户、多线程的运行环境。

程序管理:一个CICS系统可以支持大量的应用程序,CICS程序管理就对这些应用程序的装载和访问进行控制和管理。

文件管理:一些应用程序不使用数据库,而是使用文件存储数据,CICS文件管理支持应用对文件的访问和控制。

列管理:一些应用需要将数据存储在队列(Queue)中以备后用,CICS支持两种队列。

恢复管理:在出现异常中断或交易异常中断时,CICS可以进行恢复(Recovery),以保证资源的完整性和一致性。

系统服务:CICS提供系统服务包括内存管理、Time管理、Trace管理和应用程序接口(API)。

对于所有管理功能,CICS都提供了简单易用的工具(Facility)。通过这些管理功能,CICS能轻松地完成以下工作:

1)支持多用户并发;

2)支持多用户对资源的共享,例如程序、文件等;

3)由用户发起的任务,CICS内部有一整套调度机制;

4)拒绝对应用和数据的未经授权的访问;

5)提供了一整套锁机制以确保多用户访问情况下的数据完整性;

6)有一整套恢复机制,可以确保在系统或程序异常中断情况下的文件和数据完整性。

后续我们将详细探讨CICS的这些管理功能。

 
 
  返回 下一页  
 
Copyright © 2010 TianMei Technology All rights reserved. To comment on this site
  辽B-2-4-20100065