核心系统项目文档 总体设计
能单元的自有变量外,所有的需要传递的数据都通过DataPool进行存储。DataPool根据名字匹配的相关规则和算法提供数据的调入、调出。DataPool的大小是变化的。
释放
DataPool由TPLoader进行释放。
DataPool与其他模块的关联
DataPool是整个交易过程的数据调度中心。任何需要交换或存储的数据都通
过DataPool进行,各个模块通过DataPool的接口进行数据处理。
Page 26 of 118
核心系统项目文档 总体设计
Name Value DataType Name Value DataType ……… Name Value DataType 交易主控 条件规则 一.1.1.1.1.1.1.1.1 R一.1.1.1.1.1.1.2 M流程单元 DataPool 工作单元 一.1.1.1.2.1.1.2 W一.1.1.1.2.1.1.1 W§6.1.7.2
交易调度、组装过程
交易调度的实现由TPLoader根据交易联动表的配置,根据RuleSet的相关条件与逻辑,并结合交易环境的具体形式,调用PU与WU,以实现完整的交易流程实现业务。TPLoader的对条件逻辑的判断、对PU的调用、对WU的调用,通过Assemble层提供的接口实现组装过程。在整个调度过程中的数据存储和共享通过DataPool及其相关的接口完成。
TPLoader的调度过程
启动TPLoader
TPLoader作为一个PG(在CICS环境下),当CICS接收到请求报文后,根据ServiceName启动TPLoader。当TPLoader与不同的PU、WU绑定时,对应与不同的Service。
TPLoader载入交易配置
Page 27 of 118
核心系统项目文档 总体设计
TPLoader将对应的配置载入,并进行自身的初始化处理。
根据交易配置表中的内容进行预处理
根据交易配置表中内容,进行相关的交易预处理如检查、报文解析、获取流水号、获取系统日期等。
进行交易处理
根据交易联动表的内容和逻辑判断条件调用PU或WU进行交易处理。
进行异常处理
若功能处理异常或其他不确定情况,进行特定的异常处理。
根据交易联动表中的内容进行结束处理
根据交易配置的内容,进行相关的交易结束处理如打包、提交事务等。
结束TPLoader
流程结束,并释放资源。
交易联动表的作用方式
系统通过交易联动表的配置作为执行交易过程的定义。在交易联动表中体现交易过程中的功能和执行条件规则。在集成基本的PU和WU及RuleSet功能的前提下,通过交易联动表组装交易。
Page 28 of 118
核心系统项目文档 总体设计
交易联动表与其他模块的关联 条件规则 RuleSet 交易主控 交易代码 **** 工作单元 **** 执行条件 **** 联动属性 **** 一.1.1.1.2.1.1.2.1 T Load MU 数据池 DataPool
工作单元 WU 交易联动表
数据的分类和交换方式
TPLoader的私有数据
TPLoader的私有数据包括,当前调用的MU 、PU、WU名称,Script中的变量等。这些变量以特殊的标记存放在DataPool中,一般有
Page 29 of 118
核心系统项目文档 总体设计
TPLoader进行使用或提供特殊接口为各模块使用。
交易的公用数据
在一个交易过程中一般不变的,各个模块、工作单元需要使用的公共数据,如流水号、系统日期、请求报文数据等。这些数据在整个交易过程中,供各模块和功能单元调用获取信息,一般不能改动。
共享数据
对于个工作单元、流程单元、条件规则功能模块需要互相交换、共享、存储的数据,通过DataPool进行。数据的名称转换、存储、提取、数据预处理等通过DataPool提供的接口和相关的配置数据库进行。
TPLoader的生成方式
TPLoader的主程序只有一个,将TPLoader与不同的交易流程和功能单元绑定在一起就可以实现多个可供调用的、实现完整交易功能的可执行体(TPLoader1、TPLoader2、……TPLoadern),通过不同的TPLoader通过调用不同的脚本实现不同的交易功能。
同时TPLoader的功能实现还需要TPCommon、DataPool、Assemble、RuleSet等模块的支撑功能,因此TPLoader的生成过程还需要绑定这些基本库。
由于使用函数指针的方法调用相关的工作单元,因此,对于每一个具体的TPLoader的生成过程,需要载入不同的头文件和获取函数指针的函数,以完成函数名称与函数指针的映射关系。
Page 30 of 118