企业软件平台的ABC模式


 2014-11-25 02:15:02       748

摘要文字:古语有云,工欲善其事,必先利其器。对于企业CIO而言,失控的信息化境地并非自己所愿,而要走出这样失控的境地,平台化是一个不可抗拒的趋势。而在朝着平台化方向发展的同时,如何制定出一幅适合自身的平台路线图,从而打造一个开放、有价值、灵活应用的平台,应该成为CIO们在新的一年里考虑的问题。

企业软件平台的ABC模式/ 杨文明

作者简介:杨文明,普元产品经理,拥有五年金融、电信和制造等多个行业的应用开发平台和业务流程管理平台咨询及实施经验,在建设银行软件统一平台、国家开发银行统一软件环境等多个大型项目中承担咨询规划与项目管理职责,目前主要负责应用开发平台产品规划与设计

联系作者:yangwm@primeton.com

 

因搬家需要,最近清理了一下书箱,头痛的事便来了,满满的六大箱,不知如何入手。最近几年,无论是在闲暇上网还是机场等飞机看到好书总是想买一本。日积月累,书是越来越多,但是查找起来却越来越麻烦,特别是想看某本书的时候,只能挨个箱子去找,运气好的至少也要找完一个箱子,运气不好只好六个箱子都找一遍,每次都是筋疲力尽。这次下定决心要变一变了,将来不打算看的卖掉,留下来的小说类的归小说,技术的归技术,管理的归管理,放在不同的箱子里,清理下来还是有4大箱,于是又到网上订了个可拆卸的书架,把这些书按类别放起来。忙碌了一整天,看着满满的一架书,成就感油然而生。写到这,相信大家也就明白了,书架就像是平台,书是组件。(插入下图,或找其他类似内容图片)

 

真的需要平台化吗?

如今各行各业都在大力提倡平台化的理念,平台化是有效整合资源、知识积累和应用的最佳手段。因为平台化意味着对前人经验和知识的沉淀,代表着对过去经验一点一点的、持续不断的、精益求精的过程。苹果iPod、iPod Touch、iPhone以及iPad就存在了很大的连续性,苹果的iPad不是对传统笔记本电脑的改进,而是去掉通话功能、屏幕大一号的iPhone手机。于是国内有人说与其望洋兴叹缺少乔布斯这种天才,不如多琢磨琢磨苹果的这种能够持续改进、不断复制过往成功经验的平台化能力。

其实说起平台化,苹果还算是后来者,无论在传统行业还是现在的软件行业,俯拾皆是。

上海通用的别克、雪佛兰、凯迪拉克三大品牌旗下,均有不少车型出自同一平台,以平台为基础实现零件、工艺流程、界面和配置结构的共享,平台战略的实施,使得上海通用公司整合了产品系列,大大降低了成本,同时提高了产品的竞争力,加快了新产品推出的速度,使上海通用取得了巨大的成功。

2002年,万科提出“模块化必须要有基础”的观点,而这个基础万科最后认定就是“标准化”。当一件事情分成若干模块块去做的时候,前提就是要有一个共同遵循的技术标准。后来万科又提出提出“像造汽车一样造房子”,这些都是万科专业化、标准化和模块化的思维脉络。而专业化、标准化与模块化就是平台化的最核心的思想。

从1998年Google创立伊始,互联网的平台化就已经开始了。并且随着Google的发展壮大,以其搜索引擎为核心的平台战略就逐渐发展壮大起来,地图、字典、视频和邮件等延伸产品逐渐对其平台战略进行丰富,在其平台上建立付费广告等收费模式也是顺理成章的事了。日前百度与腾讯发布了第二季度财报,两家公司的掌门人对各自的业绩都非常满意,并且都归功于其平台化战略。特别是腾讯,以qq为核心的平台战略在国内攻城略地,大有国内互联网公司谈企鹅而色变的势头,这都是平台化力量的具体体现。

所以,平台化是专业化分工,资源有效整合和标准化模块高效复用的具体体现。各取所长,让专业的人做专业的事,为了共同的目标让不同专业的人在一个平台上共同协作,是高效实现各行各业企业目标的最理想模式。因此衡量一个行业成熟的标志就是看其是否已经平台化、标准化和组件化。

企业行业需要平台化吗?

软件行业发展这么多年,可以说已经非常成熟,因为在这个行业已经出现了非常多优秀的基础平台,像微软操作系统,Oracle数据库,Tuxdeo中间件,WebSphere应用服务器等。但是海比研究《CIO失控与可控》的研究报告里却发现,在企业软件领域,CIO们大多依然面临着软件项目失控的局面,当然这不能成为企业软件领域还不够成熟的证据。毕竟在相同的时代背景下,还是有很多的企业已经找到了自己的办法。这个办法就是前面所说的企业软件平台化。

企业软件平台化早已有之,只不过有的很明显,有的隐含在其他产品之内而已。比如在大型商业银行,由于其系统大部分以自建为主,很早就开始了平台化建设之路,建行的SUP1.0从2005年就已开始使用,工商银行的CTP平台甚至更早,都为自己的信息化建设带来了巨大的价值。另外,例如在国内制造行业通常是以购买SAP、Oracle、用友和金蝶等厂商的商业化ERP产品,这些商业产品其实也早就开始将自己的产品架构在平台之上了,例如:SAP的NetWeaver,用友的UAP等。尽管在做企业软件时,平台化已经得到了IT部门的广泛认同,但是,平台化之路走的并不是一帆风顺,因为不同的单位对平台化认识不同,对平台的具体要求也不一致。

需要什么样的软件平台?

接下来的问题是各行各业的企业软件项目建设过程中,我们需要什么样的平台?这些平台应该具备哪些特征?

_ueditor_page_break_tag_

按照平台类型来说可以分为两大类:

一是技术基础平台,针对这类平台,我们要考虑整体技术架构,前端页面技术,后端逻辑处理技术,开发工具,运行引擎,应用监控治理等技术要素。架构图如下所示:

上述这些要素的选择有三个依据:

1、 充分了解现有业务系统的特点,例如:金融行业的CRM属于管理类系统,页面技术可以选择Web模式即可。但金融行业的柜面系统前端页面技术Web模式就适合,要选择富客户端技术,例如:Eclipse RCP等。

2、 充分考虑企业现有IT资产的复用,大多企业的信息化建设已经开展了很多年,在多年的软件建设过程中会有大量IT资产散落在各个系统中,能够将上述IT资产进行有效的复用会对平台化的建设起到事半功倍的效果,因此平台技术要素的选择需要充分考虑到这些IT遗留资产。

3、 充分考虑现有技术人员的使用习惯,如果企业有自己的技术人员,并且已经开始尝试基于平台化的思路进行开发,那么平台技术的选择还要充分考虑到这些习惯,否则,平台推广和平台实施会有较多的阻力和障碍。

技术基础平台的最大特征是通用性,一般来说一个好的平台应该可以支持企业内部大多数的系统建设。平台数量越少,建设、维护和升级平台的工作也就越少,成本越低。

当然技术基础平台的建设绝不简单的是对各种前后端技术的拼凑,而是要需要以一个大的统一技术架构为指导,根据企业现状灵活选择各层技术模块。这类技术架构可以是以普元EOS产品为代表的商业化架构,也可以是以Spring为代表的开源架构。建行、中信银行、国开行、中电普华、华为等大型企事业单位就是基于普元产品,量身定制了适合自己的产品。而在中航信,普元就以Spring技术架构为指导,融合了Jquery、Eclipse、maven组件仓库等技术,为客户量身定制了TJF平台。

除了技术平台,另一类是业务领域基础平台,业务领域基础平台是建立在技术基础平台之上的,一般是解决特定业务领域软件系统的快速开发和灵活变更的问题。这类平台一般基于模型驱动方式实现,通过数据建模、表单建模、字段建模、流程建模、规则建模,实现业务领域模型驱动式开发,架构图如下所示:

在云计算领域异军突起的salesforce公司的force.com平台便是这类业务领域基础平台的最好代表。可以说业务领域基础平台是面向具体业务领域的更高层次的平台,是对具体业务领域业务模型的更高层次抽象。当然这不是说业务领域平台比技术平台好,而是看企业对建设平台的关注点在哪儿。比如企业自身有强大的开发团队和较为丰富的应用系统建设经验,需要自下向上全面掌握企业应用平台,此时就需要对技术平台有全方位的把握,进而向业务平台延伸,比如金融企业。而有的企业更关注业务系统的建设与创新,那么就只需要购买通用的技术平台,将全部精力放在如何规划和建设业务领域平台上即可,这样会更符合企业自身业务软件系统的需要。例如:在上证登、深证登、厦门银行和东方园林等企业,使用了普元产品作为技术平台,在其上重点发展其自身的业务领域基础平台,大大提升了系统建设和维护效率,缩短了系统上线和需求变更时间。

综上,平台化是多年来各行各业专业化分工、有效整合资源和资产复用的主要手段,实践亦证明这种方式可以实现大幅度生产效率和降低成本。如何结合企业自身实际情况,整体把握、有计划、分步骤的打造属于自己企业软件平台,全面掌控未来信息化建设节奏应该是未来的企业IT部门领导者们关注的重点。

相关阅读: