银行中间业务平台分析及实现
中间业务平台既是各种银行中间业务产品的开发平台,也是中间业务产品的运行和管理平台,一个好的中间业务平台对于后面的中间业务产品具有十分重要的作用。
在社会经济不断发展的今天,现代商业银行的经营理念已转变为以客户为中心。各金融机构也推出了各种面向客户的金融产品。中间业务产品由于不占用银行自有资金,利润空间大,更是特别受各商业银行的重视。支付结算、各种代收代付、银行卡业务等中间业务产品纷纷推向市场。
中间业务平台的概念
图1是某银行的IT系统框架图,这个模型分为以下五层:
● 渠道层:客户或合作伙伴通过各种渠道访问银行的业务系统。
● 渠道支持层:将各类渠道前置系统纳入到统一的渠道支持框架管理。
● 产品和服务库:银行后台系统提供相应的产品和服务,可分为核心业务系统产品和中间业务系统产品。
● 业务支持和服务层:为客户服务和产品创新提供支持和服务的系统,如客户信息系统、企业数据仓库等。
● 第三方合作伙伴: 开展中间业务,提供业务服务,包括人行、外联单位等。
中间业务平台重点关注产品层和渠道支持层,处于银行核心系统与周边渠道及第三方系统之间,主要实现银行中间业务各业务流程,是一个兼顾传统业务的多渠道服务的计算机技术平台,也是一个或多个系统间交易的组织者。中间业务平台在技术上具有如下特点:
1. 系统结构复杂。中间业务涉及面广,业务各具特色,涉及到银行核心本外币、活期、卡等多个内部系统和各种外联单位系统。
2. 系统接口复杂多变。涉及传统柜台、ATM/POS、电话银行、网上银行等各种渠道和外联单位的多种服务系统,各外联单位系统接口、银行核心账务系统接口、各种渠道接口也各具特色,没有统一报文规范。
3. 通信协议或者通信中间件多样化。在与银行核心账务系统或外联单位通信时,会使用各种通信协议或者通信中间件。
4. 安全控制要求复杂。通信双方有的是最简单的明文,有的是MD5校验,有的是RSA密钥匹配,有的用加密机处理。
5. 交易流程复杂。受外部系统影响和各种业务要求不一致,一个中间业务交易一般都涉及到银行核心交易和外联单位系统交易。
6. 运行效率要求。由于中间业务平台连接了多个渠道,业务量大,要求中间业务平台具有很高的运行效率和并发处理能力。
7. 交易完整性要求高。由于中间业务交易一般会包括银行内部系统交易和外联单位交易,这意味着中间业务交易是跨主机、跨数据库的操作,纯粹的数据库或者中间件基本不能保证交易完整性。
中间业务平台实现
通常,我们将最初提交交易到中间业务平台的系统称为渠道,而接收中间业务平台的请求并提供实际交易的系统称为服务器。中间业务平台的设计就是为了简化服务器端和渠道端系统的开发和维护,降低网络通信负担,使系统扩展性更强,并减少重复开发。对中间业务平台的要求是具有良好的适应性和扩展性,系统性能高效、稳定,维护开发方便。
一个中间业务平台可以分成应用交换平台(以下简称AXP)和应用数据服务平台(以下简称ADP)两大部分。应用交换平台AXP实现渠道通信接入、报文转换和交易流程的调度组织,并保证交易的完整性;应用数据服务平台ADP作为本地服务的具体提供者,实现统一签约、统一金融明细等服务;业务监控和管理用来管理和掌握整个平台运行状况的功能组件。与AXP和ADP相对应,中间业务平台为了维护和二次开发,建立了一套集成的开发环境。
1.应用交换平台AXP
应用交换平台是渠道和服务的桥梁。它对渠道提交的数据进行判断和重新组织,根据业务配置将重新组织后的数据提交到服务器,接收服务器响应,根据渠道端需要组织数据返回渠道。
统一数据对象 中间业务涉及到各种外联系统和渠道。报文是中间业务平台和渠道、服务器之间传递信息的载体。但是渠道与服务器之间的报文类型往往不一致,服务器和服务器之间的报文类型也不一致,因此需要实现各种报文之间的相互转换。
AXP为简化外联系统和渠道接口处理,采用统一数据对象作为各系统之间数据表示的标准格式。因此每种外联系统接口只需要实现和统一数据对象之间的转换就可以实现和其他任意外联数据接口之间的转换,从而保证了不管外联系统结构有多少种,都只需实现一种转换方式即可。
适配器 适配器是为适应各种渠道、外联系统交易而抽象的一个标准接口。形象地说,中间业务核心如同集线器,适配器就是连接其上的网络设备(接口统一、功能多样)。共有两类适配器,一种是提供服务的适配器,这种适配器一般连接主机服务器,也可视为一个服务的提供。另一种是接受渠道请求服务的适配器,这种适配器对中间业务平台来说是一个交易流程的开始和结束,是服务的结果。
适配器屏蔽了外围系统和各种渠道的不同通信方式、报文格式和安全管理,为中间业务平台个组件提供了惟一识别的统一数据对象。
调度引擎 调度引擎的作用是根据配置信息调度合适的适配器。包含三个方面的功能:
1. 路由决策:决定下一步执行什么;
2. 数据组织:为已经准备执行的适配器准备正确的数据;
3. 调用适配器:完成和外联系统的交易功能。
在中间业务处理过程中,如果整个交易流程的某个适配器失败(通信失败或者交易失败),系统将根据配置信息调用相应的处理流程以保证交易完整性。应用交换平台检测到某个适配器发生失败时,将首先设置当前适配器的处理方式。此后应用交换平台将遍历已经调用的交易,如果交易的错误处理属性设置为冲正,则和正常交易一样组织冲正的需要数据。此后,应用交换平台将判断冲正类型:如果是异步冲正,应用交换平台将组织好的数据以统一数据对象方式保存到嵌入式数据库中; 如果是同步冲正,则马上调用同步冲正适配器进行冲正。当同步冲正失败时,应用交换平台将它转换为异步冲正方式以保证该交易能冲正成功。以上所做的操作由交易调度引擎自动根据配置信息执行。
为保证交易完整性,应用交换平台提供一个异步冲正守护进程。该进程检测是否有符合条件的待冲正数据,如果有满足待冲正的数据,异步冲正守护进程也将调用冲正适配器进行冲正。
2. 应用数据服务平台ADP
在整个中间业务的实现过程中,除了外联单位提供的服务,就银行本身而言,也需要一套客户管理、产品管理、金融明细、待销账数据服务、统计报表服务等。在功能上同外联单位提供的类似,都是某种服务的提供。这些业务在应用数据交换平台实现,作为中间业务平台的一个特殊服务模块,通过AXP的专门适配器,作为业务组件,以统一的标准接口,完成本地的业务处理功能。
AXP与ADP的关系和中间业务平台与外联服务系统的关系一样,AXP请求服务,ADP提供服务,也可以将ADP视为特殊的外联单位服务系统。AXP与ADP的通信采用的是TCP/IP的Socket方式,可能在一定程度上影响了性能。但两者共同使用统一数据对象,以约定的报文格式通信,在效率上反而有所提高。使用Socket方式的另一个好处是,它可以实现数据的分布处理。ADP只是服务的提供者,它不关心服务被谁调用,AXP承担了服务的调度组织任务。
在技术上,应用服务平台和应用交换平台有很多相同之处,如通信管理、统一数据对象表示等。但因为ADP的可控制性,只使用了一个适配器,它只要能识别AXP的报文格式就够了。ADP提供一个组件运行环境,该环境完成组件调度、通信管理、组件使用的内存管理等工作。ADP的组件运行环境提供尽可能多的资源管理功能,目的也是为了降低中间业务开发的难度,尽可能少地管理系统资源。
开发维护
中间业务平台提供了一个高效的开发维护环境:AXP应用服务配置系统和ADP应用组件开发平台。
1. AXP应用服务配置系统
AXP应用服务配置系统负责AXP整个系统的流程管理,通过数据字典、节点、服务流程配置等可视化动作,定义了AXP的适配器通信方式、报文转换方式、服务调度的策略等。
配置的一般步骤如下:
1. 配置数据字典编号,定义一个新的数据字典。
2. 定义这个数据字典的字段。
3. 定义渠道节点,并且指定渠道节点的数据字典编号等参数信息。
4. 定义主机节点,并且指定主机节点的数据字典编号等参数信息。
5. 增加渠道所能够提供的服务。
6. 增加主机所能够提供的子服务。
7. 配置渠道服务的报文。
8. 配置主机子服务的报文。
9. 配置渠道服务流程图。
2. ADP应用组件开发平台
中间业务平台中组件的功能是根据输入数据执行特定的业务操作并返回处理结果。由于业务复杂多样,因此采用统一数据对象作为数据存储容器。但是统一数据对象对于程序员来说需要经过一次数据访问的过程才能得到需要的值。组件开发最基本的功能就是简化数据访问,以方便开发人员编程。应用开发平台通过配置接口自动生成每个组件的数据访问部分,在自动生成代码的基础上,开发人员可以直接操作每个接口对应的变量进行业务处理。
组件开发平台提供一个基于Windows的集成开发环境,可在集成开发环境中自动生成绝大部分的代码,可保存程序到Unix开发机,和从Unix开发机读文件等操作。
关键技术
中间业务平台的实现涉及如下关键技术:
1. 进程管理
应用交换平台采用多线程处理技术,使得一个进程可同时接入多个交易请求。应用交换平台通过这种方式在处理任何一个交易时都能有很高的处理性能,同时能保证尽可能多地处理交易请求。
中间业务平台为保证系统的高可用性,管理进程会检测所管理的子进程的信号。如果有子进程因为调用外部函数库或者系统管理员误操作而不正常终止,应用交换平台管理进程将自动重新派生新的子进程,从而保证在任何时候系统都能处理业务。
2. 交易历史数据管理
一个中间业务服务流程中会调用很多主机提供的交易,字段重组会访问前面已经调用的主机交易字段。系统采用动态内存方式保存主机交易数据,每个主机交易都对应一块动态内存,服务控制信息块维持两个指针:主机交易历史首指针和尾指针。
当后续子服务需要访问已经调用过的主机子服务信息时,可直接从头指针开始遍历得到需要的字段。当其中某个子服务发生失败需要同步冲正时,调用过的子服务历史数据都保存在内存中,可以马上组织冲正需要的数据。
3. 数据库表管理
中间业务使用很多表,在C/C++中用嵌入式SQL操作数据库表的方式为每张表定义一个结构,结构的字段定义和顺序与表中字段的定义和顺序对应。中间业务开发平台以数据库表管理为中心,以数据库表定义为基础综合实现数据库表的管理。
在数据库表定义工具中定义数据库表每个字段类型、长度、字段名字、意义等基本信息,数据库表管理工具将利用这些信息生成创建物理库表的SQL语句;生成C/C++语言对应的数据库表操作结构,使用字段意义作为结构字段注释信息; 生成插入数据库表操作时的日志语句。在完成某个业务开发后,数据库表管理工具将根据数据库表定义自动生成数据库文档。
使用这个工具避免了数据库表和数据库文档的不一致性,降低了数据库维护的工作量。
4. 用户管理
在大规模项目中为了保证开发人员之间的操作无冲突,中间业务平台提供了有效的用户授权和冲突管理。用户管理采用“两类三级”管理方式。两类是指将用户管理分为授权管理和冲突管理两类; 三级是指将被管理的资源分为三级:交易、分类、节点/报文。为使用简单,系统也提供用户分组功能,其管理功能和操作模式与单个用户基本相同。
用户授权管理是为用户分配可管理的资源,每个用户授权都可授权到三级资源中的任何一级。当给用户授权到节点时,用户对节点下的所有分类和交易都有权限; 当给用户授权到分类时,用户对分类下的所有交易有权限。
为解决用户操作冲突,当某一个用户对一个资源进形修改时,系统会保证资源对其他用户只读。只有该用户退出修改状态后,其他用户才能对该资源做修改操作。每个用户进入修改状态时,都从数据库或者Unix开发服务器上重新读取信息,从而保证此次修改操作的数据是最新的。
5. 程序自动生成
本地新开发的程序一般过程是:从交易接口读取字段值、业务逻辑、将结果字段赋值到数据接口。中间业务平台开发集成环境从配置信息中取各接口配置信息,然后根据配置信息自动生成一段程序,自动生成的程序包括四个方面: 生成所有与接口相关的变量,检查接口包含的字段是否符合要求,从接口取输入字段值保存到C变量,将本地C变量值增加到输出接口。这些工作尽管也可以由开发人员人工完成,但显然自动生成代码比与人工输入效率好高得多。(作者单位:建设银行宁波市分行信息技术部)
来源:CCW
- 1持续改善IT服务流程
- 2麦肯锡7S模型与HRM
- 3APS算法之六禁忌搜索TS(上)
- 4网络技术:源特定组播网络技术
- 5从最基本的方面掌握业务流程的实质
- 6供应链中的“孙子兵法”
- 7下一代网络分组话音接入的实现
- 8IT揭开管理伤疤:波司登集团ERP实施经验
- 9互联网投资“从基于威胁到基于风险控制”的安全理念
- 10IT变革管理和项目管理方法论
- 11看上海贝尔阿尔卡特生命周期管理
- 122005年网络与交换技术标准重点圈定
- 13制造业按需生产中的精益敏捷哲学
- 14企业CIO在OA方面只能有三种选择
- 15APS算法分析之五基因算法
- 16行业信息化:车业精益变革
- 17网管系统主流技术及其应用
- 18中国民企的“十四个病症”
- 19商业智能行业化从哪里开始?
- 20微小企业融资五招破题
- 21企业服务器互通的价值
- 22学习型组织的五项修炼
- 23谈削减供应链成本的三种方式
- 24比尔·盖茨:视信息技术为一种战略资源
- 25小公司用好IT一样发家
- 26移动数据通信技术基础概述
- 27IT项目需要周全的交流计划
- 28大中型企业如何搭建NCPI平台
- 29供应链管理的最优模式?
- 30MSDP扩展多播范围
成都公司:成都市成华区建设南路160号1层9号
重庆公司:重庆市江北区红旗河沟华创商务大厦18楼