核心系统项目文档 总体设计
§6.1.3 核心构件库的组成
核心构件库由两部分组成:子交易、API。
其中每个子交易由四部分组成,子交易可大致分为五类:帐务类、事物类、查询类、数据准备、组合类。
API可大致分为三类:帐务类、事物类、查询类。
§6.1.4 构件形成及使用原则
? 每个业务系统包含的内容,由各自提供的核心子交易、API及相应的独立对外展现交易
组成;
? 每个业务系统都有其独立的数据库体系,相互之间拒绝数据库的直接访问,确保数据文
件的隔离。对于联机交易,如需使用其他系统的数据,通过联动子交易或调用对应系统提供的API实现。对于后台批量交易,少量数据交易采用API调用方式,大量数据处理则采用对应系统提供的接口文件方式由相应的系统进行处理,在7X24模式下,大量数据处理也可以采用API方式;
? 核心业务系统功能由各个业务系统提供的核心构件资源库中相应的构件(子交易、API、
接口数据文件)进行组装定制而成,任何系统提供的构件中都只包括对其自身系统功能的处理和数据库文件的操作,核心构件的划分,按照各业务系统提供的具体服务类别划分,具体的划分不在此处详细描述;
? 根据具体业务特点,各系统实现帐务一体化,客户类别、币种类别、帐务类别、做为具
体业务系统的属性出现,从数据结构底层实现一体化,只区分不同服务功能,对于同一种服务功能以单一交易处理,对于前台,交易组装时对部分交易要考虑可操作性,以引领式模式实现。
Page 21 of 118
核心系统项目文档 总体设计
§6.1.5
交易驱动设计结构
。 。 。 多条存储 原交易空间 通讯传输 报文拆组 交换处理 交易驱动 。 。 。 共享空间 联动入口 联动入口 联动入口 原交易出交易输出空间|多格式存储 。 。 。 子交易空子交易 子交易 子交易 子交易输出 联动出口 联动出口 联动出口 图中兰色单线箭头方向表示信息的流转方向
Page 22 of 118
核心系统项目文档 总体设计
§6.1.6 交易驱动设计要求
1、 做到原交易空间、子交易空间、共享空间信息的独立性;
2、 交易输出空间为整个原交易共享,信息可能为多格式,考虑其中存储访问的条理性; 3、 各个级别层次的交易模块都由交易驱动主控统一驱动;
4、 如果某个子交易本身为组交易,基于组交易本身既是独立的原交易,需考虑联动过程中
对原始原交易空间和原始共享空间数据的保存和恢复;
5、 交易联动组装实现主要是通过联动入口和联动出口的编制完成的,对于交易入口,一般
可通过定义启动条件和参数转换规则的定制方式来实现,不需要编写入口程序,如有特殊情况,则也可以通过编写新的子交易,通过联动出入口或子交易输出子交易输出空间实现,考虑未知情况,在平台中保留通过入口函数启动子交易的控制; 6、 可考虑在平台中支持公共启动交易的参数化定制;
7、 在交易输出空间信息发送前台前,进行平台统一的信息检查和整理处理,如统一授权产
生、事前复核、交易平衡性、信息的优先级处理等。
Page 23 of 118
核心系统项目文档 总体设计
§6.1.7 交易驱动实现方法
根据具体的业务功能需要,选择性地将一系列的子交易和API组织起来,通过定义组装的方式联动在一起,构成一个原交易。
下图以柜台归还贷款为例来说明:
前台柜台归还贷款交易贷款信息查询返回还款信息供确认,输入还款方式发起还款交易柜员交易:描述前台控制流程及输入/输出要素,由平台驱动描述控制流程由平台驱动规则驱动后台台贷款信息查询还款账户查询贷款归还存款支取现金记收表内记借客户支票销号资金清算通过定义包装为一个原交易 每个子交易我们称为PU,每个原交易称为MU,驱动规则称为RuleSet,驱动主控称为TPloader。
§6.1.7.1
数据关联
对每一交易调用过程,WU、PU、RuleSet之间共享一个全局的数据空间(DataPool)。
Page 24 of 118
核心系统项目文档 总体设计
DataPool的形式
存储方式
DataPool使用全局内存变量的方式进行数据的存储,在一个交易执行过程中不会释放,其大小可随时增加。
数据结构
DataPool采用HashMap(散列表)的存储方式和数据提取算法。
数据区域
DataPool划分为公共区域(PubArea)和共享区域(ShareArea)两大块,其中公共区域存放系统流水号、系统日期、交易号、输入报文等全局信息,共享区域存放个WU、PU之间需要交换的中间数据或输出数据。
DataPool的生命周期
创建
DataPool由TPLoader创建,并进行初始化, TPLoader应提供相关的操作函数进行DataPool的访问。
使用
在TPLoader执行一个脚本,即完成一个交易的过程中,除了各个功
Page 25 of 118