规范和统一:中信银行统一平台建设启示录


 2014-11-21 02:15:01       758

作者:陈路凝

联系作者:chenln@primeton.com

规范和统一:中信银行统一平台建设启示录

摘要:随着流程银行、电商业务的日益兴盛,以及交叉销售建设的深入开展,如何更好适应“随需应变”的业务发展需求变得越来越重要。

作为全国性股份制商业银行,中信银行在信息化建设方面也一直走在同类银行前列,在发展过程中建立了相对完善的IT业务支撑链,包括从核心帐务类、渠道类、信贷类、数据类等全业务IT支撑和相应的管理能力,而且IT部门的建设也覆盖了包括从设计、开发、测试、运维、质量控制在内的全生命周期管理体系。

不过,随着流程银行、电商业务的日益兴盛,以及交叉销售建设的深入开展,如何更好适应“随需应变”的业务发展需求变得越来越重要,这也对金融IT建设提出更多挑战和要求。 

挑战一:如何固化和统一技术架构。

中信银行的IT规划提出了建立以“客户为中心”的应用架构和“以服务为导向”开放/松耦合的应用架构,并明确了应用系统架构设计原则。但IT部门在逐步落实IT规划提出的要求时,也发现了一些问题。其中最为显著的是银行内部对于架构目标和架构设计原则理解的不一致,评判应用系统架构的标准不统一,架构设计结果和实现方式千差万别,另外,项目建设质量还受到较大的人为因素影响。因此,如何选择好的架构并将好的架构固化和统一到可落地的平台和工具,是贯彻IT规划很重要的挑战。

挑战二:高效、高质量、易管控完成应用系统开发。

如何高效、高质量、用易管控的模式完成各类应用系统开发,也是中信银行IT部门很关心的问题。为此,我们调研了18个应用项目,发现中信银行的项目从立项,到实施完成,一般都要比预计时间(计划时间)晚20%左右;此外,中信银行针对项目管理和质量监测,虽然有很多明文规定。但因检查和管理手段比较单一,具体实施起来还是依赖于各项目组自身的自觉约束和管控,从而导致各应用项目开发进度不一,质量参差不齐。

另一方面我们还发现,中信银行的应用项目在其上线前三个月的时间段内,系统的可靠性普遍小于98%,故障定位和处理也较慢,事前防范系统生产风险的能力较弱。

挑战三:如何保证和提高系统的非功能需求

相对而言,业务部门对应用系统的主要关注点在于系统对业务需求的支撑能力,而对于系统的非功能需求则考虑较少。同时IT部门如何保证系统非功能需求,也缺少较好的手段。事实上,系统非功能性需求会严重影响系统使用效果和生命力,例如系统可扩展性要求。我们曾遇到这样场景:原有客户信息均分布在不同系统中,但是当ECIF系统在建时,我们就考虑将客户信息从不同系统中剥离出来,这其中就会存在很大风险和潜在工作量,毕竟当初大部分系统在建设时,各模块均采用紧耦合的方式,模块之间相互依赖性较高,常常是牵一发而动全身,导致变更的工作量难以评估。因此基于中信银行本身有限的IT资源,如何在众多应用系统建设中,均能保证系统非功能性需求满足,是一个很大的挑战。

挑战四:持续全行级软件资产复用能力

在统一平台建设前,中信银行一般均采用众多开发商自有框架和平台进行应用开发与运维,缺少基于全行范围内,跨应用、跨开发商软件资产复用体系和能力,从而导致各应用存在大量重复、低水平的开发工作,另外系统中还存在大量类似功能操作模式,与界面差距很大,代码质量参差不齐。

目前如何解决这些挑战,更好让IT服务既满足中信银行的业务发展需要,还能实现低成本、高质的量开发和管控,成为中信银行IT部门核心需要解决的问题。

_ueditor_page_break_tag_

选择平台之路

通过我们全面和深刻的市场调研工作,以及国内外先进银行的IT建设经验,中信银行的领导认识到,必须通过建设全行统一平台才能有效解决这些挑战;但是如何选择平台,如何建设平台,也存在多种建设模式,常见的建设模式包括:

(1)完全自主建设模式,但这种模式作为仅有200人左右的中信银行IT部门,是不现实的;而中信银行向来在IT项目建设上,也都采用合作开发商模式。

(2)完全外包或成型产品模式,这种模式好处是产品成型和稳定,同时投入和工期可控;但是缺点也很明确,很难适应中信银行总体IT架构规划,很难契合中信银行现用的IT能力和基础设施,容易药不对症。

(3)合作开发模式,这种模式好处是一方面,中信银行能充分吸收平台厂商产品的研发成果和经验,能有一套完整方法论来保证平台方向和质量,另一方面中信银行自身人员也参与其中,能提升平台契合度,使其符合中信IT技术架构的规范要求。但缺点就是项目周期和投入较大。

最后,中信银行领导在进行充分调研和POC基础上,选择了合作开发模式。

实施平台之路

中信银行在选择平台建设模式和厂商之后,在实施过程中,也充分遵守 “总体规划、分步实施、持续发展”的原则按照方法与规范、平台与工具、资产与知识、应用框架、项目推广五个维度全面推进和展开,(见下图所示):

其中,第一阶段平台基础阶段的主要任务包括

(1)需求调研和分析,包括项目试用及使用报告、源系统调研等工作。

(2)规范制定与落地工作,包括项目规范调研和行内规范收集与落地工作。

(3)第一版本研发与试运行工作,包括组件设计及开发、Studio/Server设计及开发、应用框架设计及开发、试点项目支持

第二阶段平台完善阶段的项目主要内容包括

(1) 二期需求分析和反馈,包括平台试运行分析报告、平台交易类项目需求分析

(2) 二期版本研发工作,包括:平台开发及优化、组件优化及组件库开发、应用框架开发及优化、监控部署平台搭建。

(3) 项目支持与推广工作,包括多项目并行支持和培训,支持与培训体系,WIKI建设。

第三阶段平台持续演进阶段的项目任务包括:

(1) 平台交易框架需求和研发工作,使之能支持跨全业务线的基础技术平台。

(2) 应用框架优化和扩展完善。

(3) 全面支持和推广工作。

_ueditor_page_break_tag_

中信平台简介

中信银行J2EE统一平台(简称:CBJUP),是中信银行支撑全业务线的基础技术平台,平台从狭义而言,包括六大部分

(上图)平台运行环境(RunTime),提供应用在运行期使用的基础服务和能力。包括构件运行环境,Kernel容器、日志事务等基础服务。

(上图)开发工具(Studio),提供包括应用模块开发支持、交易模块开发支持、数据模型开发、功能向导、团队开发、代码检查等一系列功能支持。

(上图)应用基础框架(abframe),包括应用基础功能合集,同时通过配置方式和扩展方式来满足各应用个性化的需求。

(上图)交易支撑框架(TAF),包括支持高并发交易类系统框架,包括提供服务接入、服务路由、服务接出、报文转换等功能。

(上图)管理监控平台(Governor),包括支持业务化监控和模块化部署能力支持。

(上图)基础技术组件(Tech Lib),包括各类后台类和页面类技术组件。

_ueditor_page_break_tag_

平台价值分析

中信银行统一平台建设至今,已进入全面推广期;目前已有超过40个应用(包括ECIF、CRM、IC卡交易系统等核心类应用)均采用该统一平台。均不完全统计,同一平台应用上线后,故障率从2.3下降到1.6左右,应用框架和技术组件应用复用率达到100%,通过复用减低开发成本约占应用总开发成本的11%。

从平台价值分析而言,大致可以归纳以下几点:

1) 固化并统一的SOA技术与应用架构

正如上文挑战所言,要通过人工管理的手段很难保证一个统一的,“好的”SOA技术架构,但是我们向中信银行提供了统一平台这个可落地的载体,可以很好地将符合中信IT规范要求的SOA技术架构固化并统一起来,保证将来任何应用项目和开发团队,以统一平台为载体,就能轻松实现技术架构统一和符合规范,并能很好满足系统很多非功能性需求,例如耦合性需求,系统开发轻松实现纵向解耦(技术分层)与横向解耦(模块依赖规范),同时没有带来额外工作量的增加。

中信银行统一平台概况而言,实现八个统一和固化:

u 统一应用的技术架构

u 统一应用的模块架构

u 统一应用的页面框架

u 统一应用的代码规范

u 统一应用的集成规范

u  统一应用的开发模式

u  统一应用的技术组件

u  统一应用的基础业务功能

u  统一应用的业务监控规范

2) 实现全行级基础业务组件与技术组件复用

在上线同一平台后,这种基于组件化的统一技术架构使得组件的跨各项目组复用成为可能;另一方面IT人员可以基于统一的开发工具方便地实现组件积累和复用。目前中信银行的各应用项目组,几乎所有技术组件和基础业务功能组件均采用统一平台提供的高质量组件为基础扩展实现。这种模式让应用项目组能更高效、更迅速地关注业务功能的实现,系统非功能性需求也能得到较好实现和满足。

3) 有利于构建高质量和易管控的J2EE应用与服务

通过统一开发工具,开发人员可以像搭积木一样,通过既有构件的重新装配来实现新的业务需求,从而大大简化开发工作,提高开发效率,保证软件的质量。另一方面通过向导和表单配置,屏蔽各种技术细节和复杂度,也能降低人员要求并提高效率。例如针对Spring根据依赖关系自动生成Spring配置文件,让开发人员不需要关注Spring本身技术细节。

通过Governor进行重新规划和设计,保证在项目运行维护期间,及时和准确将应用各模块、各层次所发生异常信息、风险信息发送给相关运维人员和项目经理,以更好防范生产风险与异常。同时定期自动生成运行分析报告,将各种运行数据以图形化、更加直观方式提供给运维人员,更好分析和了解项目运行情况和能力。

4) 提高应用项目随需应变的能力

(1) 通过统一平台实施项目,避免了各个项目的架构多样性和架构风险。也较好屏蔽了各应用厂商和项目组技术能力的差异性,保证中信银行完全掌控系统多期迭代式开发,而不依赖特定开发商或特定团队。

(2) 平台技术架构统一分层和模块松耦合能力,实现系统功能和组件的耦合度减低,保证了当业务需求发生变化时,开发人员可以快速和低风险根据需求的变化对系统业务功能进行调整。

(3) 基于SOA统一平台,实现业务服务的组件化和编排能力,同时保证未来所有通过此平台构建的应用都是以业务驱动的,而且创建的服务都具备统一的标准,从而保证了未来服务整合和服务随需应变的可能性。

平台建设注意事项

统一平台之路不是一蹴而就,一帆风顺的。所以我建议在实施过程中要重点关注以下几点:首先要有坚定的态度,平台建设是需要高层领导和管理层一旦做出决定之后不再轻易动摇,我们发现很多企业尤其在前期推广阶段,都会存在很多阻力,有的来自业务部门,有的来自长期合作伙伴。而且统一平台的规模效应和积累效应更为突出,短期内也许会带来额外成本和不适应,但千万不能因噎废食。其次要注意平衡,平台建设过程中,不管是企业还是厂商,都要注意在统一性和开放性之间找到平衡点,我们不提倡为统一而放弃开放性,也不提倡不要原则的开放性。最后要强调的是稳妥,平台实施过程,我们需要总体规划,逐步实施;实现迭代式开发、螺旋式前进的方式。

相关阅读: