Primeton EOS Platform 典型案例

中国工商银行新一代CTP平台

中国工商银行简介

中国工商银行(以下简称“工商银行”)成立于1984年,是中国五大银行之首,世界五百强企业之一,拥有中国最大的客户群,是中国最大的商业银行。中国工商银行是中国最大的国有独资商业银行,基本任务是依据国家的法律和法规,通过国内外开展融资活动筹集社会资金,加强信贷资金管理,支持企业生产和技术改造,为我国经济建设服务。

背景与问题

工商银行花20-30年时间走完发达国家银行业100年的历程,其前进的困难可想而知,这就要求银行的软件必须快速适应变化。为适应这种变化同时又必须是可控,工行推出了自己的JavaEE应用开发基础技术平台CTP。到目前为止,基于CTP平台上所开发的各类应用已经有数十个,并已经成为工行JavaEE应用的统一的基础技术平台,为工行JavaEE应用的快速开发和安全稳定运行,发挥了重要作用。

随着时间的推移,CTP平台的应用已超过五年,五年多的发展,IT业开发技术发生了很大的变化,类似的技术基础平台和相关的开发模式又面临新的挑战。面对这种挑战,就需要对CTP平台进行升级改造,达到既保持CTP平台的技术延续性和版本连续性,又能够让CTP平台融入技术和架构方面的新元素。

现有CTP平台的核心架构是参考IBM WSBCC建立的,主要是针对交易类业务的框架,在新一代IT系统建设中要求平台的适用度更广泛,除了已有交易类业务外会有更多中间业务、信贷类、管理信息类应用的要求,为了适应新的应用类型,必须从核心架构入手进行改进,目前急需解决的问题是:

架构的开放性和标准化

目前架构更适合交易类业务,只能支持固定接口的业务逻辑调用,也缺少对业务服务接口的定义,随着业务和技术的发展,做为更多业务的通用技术平台需要对更多实现方式的支持,需要在应用间提供更加标准化的模式。只有在开放性和标准化的基础上,才能支撑未来的应用平台,也容易做到平台的复用和推广。

编程模型的改进

目前绝大多数逻辑都放在存储过程中(即使是简单的增删插改),存储过程中的逻辑很难复用。这种编程模型在交易类业务中比较适用,但不适用于管理信息类应用。

分布式与应用间集成能力

目前还缺少平台级的集成功能,会影响到应用的分布式部署。

使用产品与方案

新一代基础技术平台需要提供应用开发平台所共有的基础技术能力,以及核心技术开发工具,同时在新一代基础技术平台中,还要重点解决桌面集成,CTP与新终端平台融合,为应用平台提供平台化支撑等关键问题。

新一代Java应用基础技术平台的组成以及基础技术平台与其它平台的关系如下图:

新一代Java应用基础技术平台包括运行环境、IDE开发工具、运维管理工具:

IDE开发工具

为开发人员提供一体化的应用设计、开发、调试环境,包括应用模块分解,接口设计,数据设计,复用性设计,B/S应用开发、桌面应用开发、渠道接入开发啊、页面流开发,工作流开发,OPG开发,事件开发,平台扩展能力(即对应用平台的平台化支撑)等。IDE要能够脱离RAD独立运行,并且开发期可以基于轻量级的应用服务器进行调试(如Tomact或Jetty)。

运行环境

是为Java应用提供运行时的支撑,如构件容器、UI框架、SEDA架构、信息推送、日志服务、运行平台扩展点等基础能力。

运维管理

包括管理控制台,诊断与预测分析工具以及为应用监控系统上送监控数据。管理控制台为运维人员提供应用的部署以及应用参数配置。诊断与预测分析工具为运维人员提供全路径的故障诊断工具,以及对应用进行日常的容量预测分析,实现对应用故障的提前预防。

所有的应用开发平台都可以基于基础技术平台进行扩展开发。基础技术平台还可以与资产库之间实现资产同步,将资产库中的资产同步到IDE中,或者将IDE中的资产提交给资产库进行复用。对于应用监控系统,基础技术平台可以为其上送监控数据,以及接受应用监控系统下达的控制指令。

实施效果

核心技术架构从单一B/S应用的技术架构演进到支撑应用群组的技术架构

提高了性能与可管理性,提高横向伸缩能力,在应用内部支持分布式部署的方案,并将应用中的业务服务化,支持更容易的基于现有业务组装成新的业务。

提高技术架构的开放性,适应更多类型的业务系统

架构的开放性可以让平台能够更快适应新的业务场景,吸收已经积累的经验。在数据定义、服务定义、逻辑调用方面更加开放,支持多种实现服务或逻辑的方式,支持在接口定义、服务调用、实现方式等方面的扩展。

建设构件规范,为软件的模块化和复用提供基础

建立构件规范的过程,是企业软件标准化的过程,技术架构本身开放的同时,必须建立一定约束,这个约束就是构件规范。基于构件规范,才能够建立未来企业范围内更大粒度的复用。

构件规范包括构件的规格、逻辑模型、物理模型、数据定义、接口格式等等内容。基于构件的规范,能够更容易实现软件的模块化,也为构件的复用提供了基础,同时构件规范也需要考虑系统间互联互通采用的技术标准。构件规范符合业界已有的SCA、SDO、OSGi等标准。

提供集成化的开发环境,保证架构、规范的落实,简化开发过程,提高开发效率

-与已有工具、其他工具等整合。

-增加开发环境常用特性,包括重构、搜索等功能。

-提供更多的向导以提高开发的效率,降低学习成本。

兼容性

兼容原有的CTP版本。


回到顶部