Primeton EOS Platform 典型案例

中国建设银行JavaEE组件化平台咨询与实施

中国建设银行简介

中国建设银行(以下简称“建设银行”或“建行”)成立于1954年(甲午年)10月1日,是股份制商业银行,是国有五大商业银行之一。中国建设银行主要经营领域包括公司银行业务、个人银行业务和资金业务,中国内地设有分支机构14,121家(2012年),在香港,台湾,墨尔本等地设有分行,拥有建信基金、建信租赁、建信信托、建信人寿、中德住房储蓄银行、建行亚洲、建行伦敦、建行俄罗斯、建行迪拜、建银国际等多家子公司,为客户提供全面的金融服务。中国建设银行拥有广泛的客户基础,与多个大型企业集团及中国经济战略性行业的主导企业保持银行业务联系,营销网络覆盖全国的主要地区。

背景与问题

建设银行在JavaEE上的实施能力在大型银行中首屈一指,他们在业务应用系统建设过程中逐步认识到需要有一个统一的开发平台来收敛建设银行的应用架构,解决应用中的非功能性需求,因此,很早就建立了JavaEE的技术规范和标准,并为了固化这些技术规范,开发了SUP1.0的开发工具平台,期望这个平台能够建立一个开放、高效、安全、稳定、统一的JavaEE架构,为JavaEE项目的设计、开发、运维提供良好的平台,从而为建设银行业务的发展提供强有力的支撑。通过这个平台的确提高了开发效率、减少成本、降低了对开发人员的要求,满足快速变化的业务需求;降低了设计复杂度、提高设计有效性;增强系统的监控能力,提高运维的灵活性,降低运维成本。但是,SUP1.0在设计之初的定位决定了其存在的缺陷,随着平台应用的深入,也深深感受到平台的不足之处:

1.架构级

♦    审视架构的视角不够完整,缺少必要维度的规划。

♦    系统内部的耦合性高,结构复杂,维护成本高。

♦    没有统一的服务接口方案,不利于业务复用。

♦    架构中缺少跨业务、跨页面的数据管理,完全依赖 Web 容器提供,对有状态逻辑的处理不方便。

♦    没有统一的监控框架,以及管理监控的基础设施,也不利于系统的管理、优化。

♦    对已有的公共系统如EAI、UAAP等,没有进行进一步的包装,各项目组自行实施,成本大、不统一。

♦    技术支持组件不足,如缓存、资源管理、消息等。

2.组织级

♦    对技术平台的研发投入不够,技术规范覆盖范围和技术平台提供的功能有限。

♦    缺少专门的支持、推广团队,技术平台的推广、实施速度比较慢。

♦    缺少专门人员持续研发,平台缺少可持续发展能力。

♦    对平台的维护投入不足,版本更新不及时,影响项目中使用。

3.过程级

♦    缺乏从已有系统中抽象可复用单元的过程保障。

♦    普遍偏向技术组件的提炼,业务专业化组件和面向领域的组件提炼不足。

♦    软件开发过程中单元测试不足,不进行每日构建与集成,不利于规模较大项目的管理。

♦    软件的非功能规范难于落实和检查,虽然进行了代码走查,但是过多的java代码,走查比较困难。

正是SUP早期版本的这些不足,使得建设银行高层下定决心要研发新一代SUP平台,从而满足建设银行IT系统的建设需要。

使用产品与方案

建行JavaEE技术体系建设思路是通过技术标准来规范全行的业务应用系统的开发,这些规范对开发商起到了很好的约束作用,但无形中增加了应用系统开发的工作量。因此建行决定建设统一开发平台,将这些技术标准、规范固化到平台中,并提供相应的开发流程和模板、工具,技术人员在实现业务需求的时候,不需要太关注这些标准/规范和底层技术细节,最后在全行内推广该工具平台,对全行的JavaEE环境逐步进行收敛和统一。

建行JavaEE技术体系发展路线

阶段一:JavaEE技术架构规范

♦    自由开发:每个应用用各自的JavaEE技术架构,基本上处于自由开发阶段。

♦    组件基本无积累:每应用实施之后,留下来一对jar包,相关的文档,接口都不一致,基本无积累和沉淀。

阶段二:SUP1.0

♦    规范手动开发。

♦    规范流程。

♦    技术组件的简单积累。

♦    统一应用架构。

阶段三:普元咨询

普元是架构平台的专业厂商,在架构平台上具有一批人才,并且有很多的积累,因此,针对SUP1.0存在的不足,建行找到普元咨询,以期通过咨询更好的完成SUP2.0的发布。

阶段四:客户化改造需求

在厂商已有平台的基础上定制开发适合建行的新一代应用平台,建行获得知识产权,厂商提供知识转移的培训和后续服务,并帮助建行建立此领域满足发展的人力资源队伍,建行的精力放在业务组件的建设和积累上,这种策略可以在别人的基础上快速自主掌控核心技术,可以最大限度满足建行需求并保证平台质量和先进性。

阶段五:发布新一代SUP平台和推广

♦    随需应变的开发

♦    更加灵活的流程

♦    技术组件迅速积累

♦    业务组件持续积累

♦    建立企业级服务体系

实施效果

建设银行JavaEE组件化平台的能力,可从支持的应用系统的技术架构、开发、互联等多个角度来阐述,可总结如下:

1.支持应用的设计开发,减少工作量。

2.可复用的应用框架;基础应用框架包含了菜单组件包、安全组件包(本地和UAAP)等功能模块在不同应用项目中得到了最大的复用。

3.规范系统结构;为应用系统提供统一的组件化结构视图。

4.JavaEE应用互联;为JavaEE应用系统的互联提供方便,支持将现有的JavaEE系统的POJO、Spring Bean快速发布成服务。

5.工作流集成;实现了与普元工作流的业务接口集成,即通过接口封装实现了具体工作流产品无关性。

6.报表集成;实现了与建设银行的统一报表平台RIDE的集成,方便应用项目组使用RIDE报表功能。

7.兼容既有成果;兼容建设银行原有的SUP1开发平台和原有的JAVA开发规范。支持主流的基础环境。支持WebLogic、WebSphere多应用服务器、支持Oracle、infomix、DB2等数据库,支持Windows、Linux、HPUX、AIX等多操作系统。

截止到2010年9月份为止,基于SUP2.0平台开发的已上线业务应用系统超过20个,其中包括:押品系统、对公客户关系管理系统、管理会计系统、操作风险管理系统、营运管理系统、对公业务审批管理平台、贷后管理流程优化等系统。


回到顶部