尽管2012年的技术关键词还继续锁定在“云计算”、“虚拟化”、“大数据”,但回归到企业IT架构问题上来看,我们不难发现,这些层出不穷的新技术带给企业的,不仅有提升,还带来了一些困扰:“正因为有了这些变化和挑战,IT建设稍微有一些改变,就会有带来一点失控的感觉。”普元中间件事业部副总经理、产品研发部总经理王克强指出。
失控的原因其实并不难找,尤其是大型企业,其IT系统建设中经常出现大量项目同时建设,技术重复制造的现象。“这是因为IT建设无法采取有序的建设方式。在有序的建设方式方面,软件工业本身不会和传统的制造领域有太大的差距。”王克强指出比如造房子的时候,不管最终成型是什么样子,最关键的是如何搭架构。而互联网更强调平台的概念。那么对于企业计算来说,我们应该用什么样的方法来建设平台?
从最早提出来用软件构件的方式,到倡导SOA架构,再到如今新的云平台时代,普元一直坚信,企业的架构应该基于平台化的思想,“尤其是通过这几年的发展,我们比较有幸在国内基础软件、顶级企业客户当中获得好的实践经验,可以从银行平台化的实践来给其他行业一些借鉴。”王克强表示。
据王克强介绍,由于银行业务现状非常强调各种产品(例如国内业务或国际业务和衍生业务领域的产品),所以就会以产品为基础,着眼于从渠道接入、交互控制、产品核心支撑体系、决策支撑这四个体系层次来建设整个企业应用软件的体系。由于银行业务多样性,其IT架构与建设经验完全可以让其他行业借鉴。
领先银行的IT建设经之一:以平台为基础,自主把控IT架构
国内银行通过近25年的自主研发磨合经验,首先在IT组织结构上非常强调建立所谓“一部三中心”,即科技部(相当于技术规划管理部门),开发中心(用于纯粹开发软件),运维中心以及数据中心,“这‘一部三中心’是四个平行的部门,在内部会形成一个很好的平衡和互动模式,对于企业发展会有很大帮助。”王克强介绍道,国内大型国有商业基本都采用类似的架构建立IT部门,“建立总分两级的部署:总行来关注全行统一的业务产品,建立起很好的服务接口的平台,在分行里面进行部署和发布,IT系统实现了统一的归口和管理,业务架构还是按照渠道、业务操作、产品、应用、决策体系分层方式建设,这是所有银行都采用的类似架构。”
于是,王克强总结出银行业的IT架构有以下几个特点:首先是统一规划,自主把握建设。如何进行IT管控和企业业务内控,对于内部业务自主能力要求很强。这就要做到架构自主,交付则可外包,这样的情况下,银行可以把握住核心架构、核心业务,然后交付由不同的外包公司提供。“在这里,很重要的技术架构概念就是小核心大外围。银行里面最核心的内容是钱,关键是客户和帐户。这个技术架构对于银行来说有一个很重要的概念,有了核心账务系统,会解决银行基本账务处理,而且具体的业务由大外围系统做的,例如交水电费,买笔基金或者股票,而所有的核心账务在核心系统处理的,这样的话就很好解决了系统之间边界控制以及解耦的问题。”
其次,在建设过程当中非常强调基础设施的平台化。对于银行或者像电信运营商这样有个性化需求时,基础设施显得尤为重要。 “比如统一数据交换平台,并不是简单的引入ESB之类的标准产品,而是根据银行IT系统之间数据交换的特点,例如有文件传输、数据库映射、数据转换要等特点在标准化产品上建立适应本行特点软件封装,这样对内部所有的系统之间的数据交换定义统一标准,这样行内所有的数据交换都基于一个平台来实施,就很容易实现了系统之间的数据交换。”王克强表示。
领先银行的IT建设经之二:以平台为基础,支撑全业务系统
普元公司非常有幸主持了国内某大行在技术基础平台领域的整体规划,该行是国内少有自主IT建设的银行,一共有200多个总行应用和上千个分行应用,运维中心是承载运维,数据中心承担测试,自有开发团队有几千人。“他们对产品发布,有一个很重要的概念,每年有固定上线时间,银行非常强调做接口规约的问题,让几百个系统同时在某一个时间和时刻同时上线,可见其内部IT管理的能力和水平达到一个相当高的水平,这是该行整体现状。”王克强介绍道,而该行在做技术架构时,非常强调一点是技术平台化的问题。“比如软件资源管理平台,对银行来说,核心系统有上万张数据库表,开放平台有近十万张表,表结构和字段编码由软件资源管理平台规约的。上面提到的上千个系统的几万接口与接口调用必须在这里面注册,在系统里面有几万个接口在这里面定义,通过系统加人工方式进行审核。又比如有一个运维系统上线,所有版本交互的事情不是由每个项目组自己决定的,而是由运维中心统一固定时间点,自动发布到同一个平台里面,他们可以把每一个基础的做产品的能力变成团队化和体系化的支撑,这是很重要的内容。”
而普元在该行中做的很重要的工作,是在java领域里做了平台技术架构咨询,该行共有70%的应用都是基于JAVA应用实现的,每年都有近百万个功能点的上线,普元为他们做了很重要的规划,建立了收敛技术路线、支撑业务抽象的哑铃型的技术架构模型。
“试想一下,上千人的团队都要做应用开发,挑战非常巨大”王克强说道,“一方面要对技术使用形成统一的规约,另一方面要通过业务平台支撑实现业务应用系统的实现。该行本身是有平台的,普元帮助他们将现有的平台从三个业务系统支撑延展到全业务系统的支撑,定义了业务架构,实现了技术升级,并从业务、技术过、程、组织四个维度提供咨询与技术支撑,希望帮助他们建立起统一的软件管理过程、软件全生命周期融合能力,这是整个平台提升的重点,而原先的平台只能为其提供简单开发和基于工具的简单运维能力”。
普元的目标是希望该行在平台改建后——软件应用系统的开发从需求的设计、功能设计,以及和软件计算管理体系形成融合。“这是在平台里面很重要的概念,最终实现了核心的平台架构,建立了业务模式的规范、技术表现、开发规范以及相关集成的规范,把所有的规范都固化到现有工具平台里面,使得每个人在做软件的时候,天然拥有了所有的平台能力和集成的能力和规范的要求,”王克强进一步介绍道,“通过这种能力实现业务领域的应用平台开发,最终将大量软件资产回到软件资源库中,这样形成整个闭环的管理,最终为企业应用建立很好的企业的架构体系,这也是当时所做的技术蓝图的内容。”
领先银行的IT建设经之三:以平台为基础,系统建设靠数据说话
当以平台为基础实现对应用系统的建设时,完全可做到以数据说话。无论做构件、接口,都要拿出准确的数据,为此,普元建立了重要的评估模型,希望从组织目标的角度,映射平台本身的价值,建立起平台自用度模型,实现整个体系的支撑,使得软件的体系变成持续可以改进的能力,也就是可优化的能力。
有了这个能力之后,普元对于软件平台做了重新的理解和定义。大家以前看到的平台都是一堆离散的东西、代码,而普元则会认为平台本质是从标准规范建立,将规范引入到技术平台,将业务的模型抽象到业务平台体系当中,在平台内部默认建立了复用体系。“我们会发现在做任何一个软件应用时,都很少自己完全独立研发,我们在平台中拥有了软件复用和被复用的能力,编写的软件很容易复用别人或者被别人复用,这样就很容易实现应用开发与软件资源管理进行协同互动。当以软件复用度能力对IT资产进行持续改进时,这才真正实现了软件平台本质所提供的核心价值。”王克强特别强调。
普元软件平台方法论
在平台领域,普元有一套方法和方式在支撑:首先就是如何做好平台,在互联网强调敏捷的软件过程中,用好平台会建立起很好的平台方法论,比如在平台里面从一个点到多个点实施的演进路线如何做,普元都建立起相应的方法论的体系。
其次在具体实施过程中,针对企业现有的软件架构模型,普元会引入一些很好的过程思路,强调希望整个软件能够变成一个小规模的团队协作的方式,整合软件交互,与用户应用交互,同时内部建立起很好的持续集成的自动化测试体系,在上述银行的平台中就内置了自动化持续集成的能力,软件编好之后会自动打包部署到测试环境当中,普元希望能通过这种迭代的方法和方式实现软件交付的能力。
第三,软件架构需要建立技术平台、业务平台的层次化架构。IBM提出IPD方法论强调,应用软件产品是基于层次化平台实施的,这样的好处是,技术平台解决技术积累,业务平台是建立领域抽象,以平台为基础,各个层次能够同时发展与积累,当面向最终应用交付时,平台是稳定的,可通过外面扩展的模式,应用系统的更新与扩建,真正保证可以同步,实现软件实施和产品交付很好的平衡。
最后,有了平台技术架构,最终还是要有一个整体IT管理的体系。“普元平台资深顾问会反复强调,如何在内部形成闭环?”王克强表示,“IT管理应该形成闭环,形成可以持续演进和改革的闭环能力,而平台可以帮助您。”