普元在2004中国信息技术年会做主题演讲 (赛迪网)


 2004-04-20 00:00:00       758


 
演讲主题:打造变革中的企业应用系统

大家下午好,今天非常高兴有机会参加这样的活动。今天上午卢博士把我们每个企业的人摆成一个产业链坐在一起,他自己坐在产业链的最前端,这是非常有意思的事。今天下午第一个演讲者李颖女士也讲到非常有意识的话题。从中我感觉到媒体对IT的带动作用是非常强的,她讲到的观点我非常赞同,就是从IT到BT,也就是说现在大家在IT行业对技术很关注,技术都是为业务服务的。但业务的需求是什么样的?我们做计算机已经很多年了,从我个人来讲已有二十多年的时间,但是其实IT整个软件行业是非常年轻的行业。在七十年代可以说是一个计算机科学的年代,在计算机科学年代大家非常关心的是这个问题有没有一个很好的算法,这个问题是NP问题还是NPCOMPLAY的问题。到了八十年代计算机的普及,大家的关注点就从IT软件科学更转到软件技术问题,我们有什么样的编程语言,有什么样的软件结构。我觉得软件技术问题的高潮可以说是在1999年,IBM的深蓝电脑打败了国际象棋的国际冠军,这是计算技术非常顶峰的时代。但随着IT技术的发展,现在最新的需求是我们软件系统如何快速出现在市场满足业务需求。就是我们最新的,大家在计算机行业,软件行业最要关注的问题不是科学也不是技术而是工程的问题。就是从软件工程的角度,怎么样才能够快速地把一个需求变成实实在在的应用?从这方面讲,我们IT产品虽然发展了三、四十年的时间,总的来讲我们现在的技术包括IBM、甲骨文、思科提供的还是技术层面的东西,就是怎么有更好的语言,怎么样的结构保持网络好的计算。但是当我们做一个应用系统的时候,不管是中国的电信还是招商银行或是电子政务,我们肯定是要请很多的工程师给他们编写传播。其实我觉得这还是一个很古老的方法,写软件的方法一定要面临一个革命性的变化。就像我们小时候,过年的时候家里不会到店里买新衣服,而是自己买布请裁缝做新衣,或者把树砍了请木匠打造家具。而现在我们是直接买衣服或者买家具。再回到IT产业,现在很多公司的软件工程师特别是应用软件工程师还是像裁缝、木匠,为了一个个需求,从一行行的代码编写以满足具体的需求。这个情况在中国特别普遍,因为中国不像美国那样已到了稳定发展阶段。在中国IT行业时刻都在进行着比较剧烈的变化,因为我们整个营销模型、生产模型、政府流程跟规则都在快速变化,这就使得大家经过手工操作的东西是越来越困难。像国外有IBM这样的工具把以前的系统整合起来。但当中国的IT企业或中国IT需求的公司要做一个系统的时候,它没有一个系统可以去集成,还是需要从零把这样一个系统做起来,这样使得我们现在做这样一个系统是非常困难的。所以我们实际上应该对软件做一些重新的思考。就是说我们的软件是否需要大家手工编写几百万几千万行的代码。我在一个网站上看到一句话,如果我们工程师都回家了以后,我们这个企业值多少钱?因为我们现在很多IT企业的资源都是在代码级,其重用性非常差。可能同样的功能不是技术上做不出,而是几十遍几百遍不断地做,一旦员工流失,我们的价值就没有了。所以我们应该有一个新观点里看软件。软件不应该是由代码组成的,因为代码是IT技术的一部分。软件是我们企业中业务的一部分。也就是说作为软件我们有高价面向业务的分工。所以在我们新视角里软件由很多构件组成,每个构件都会满足企业的业务要求的一部分。就像以前的传统行业一样,虽然计算机、IT行业经过几十年快速发展,但说到软件工程方面软件还是非常年轻的行业。在传统行业里照相机肯定有很多构件组成,也不可能有一个照相机满足所有光学条件,我们用户可以按光学条件挑一个镜头,主机或者闪光灯的设备。还有我们的冰箱设备,比如海尔推出2004年的冰箱,我们会发现2004年的冰箱与2003年的冰箱95%以上都是一样的,我们可以通过部件替换打造一个新产品。而不是像我们现在所有软件公司那样,如果用户的需求有简短的变化我们就要把系统打断全部重来。

本来我们做一个软件公司都是希望做一个产品卖给我们的最中用户。但当我们花费五十人,花费一年半时间为某一个运营商打造一个软件的时候,发现其需求又发生了很大的变化,这个时候如果我们修改代码其成本是非常高的。所以以前传统的分部计算方面需要有一个面向构建的应用技术平台。以前的中间件包括J2EE以及我们在上面打造的TotalEFE这样的东西,实际上我们是通过计算机进行表达,再通过计算设备进行不同的分步式的计算。在面向平台的时候我们的结构又面向新的单元。以前我们最早是机器语言,后来到汇编语言,再有高级语言。但是在我们面向构件的平台里,我们的应用是用构件的语言来描述的。即一个业务的需求是通过构件之间的关系进行表达。我们的构件平台会把这样的表达回归到我们面向计算机的语言去实现。所以在面向构件的语音中就不会看到像这样的一些代码。我们很多人长时间地写代码,但已忘记代码多么难以维护。有一个公司需要做软件版权注册的时候,以前我们写了一百万行代码感觉很骄傲。但是真正印出来需要管理的时候发现这是一个不可实现的任务。所以在这样的环境里,我们需要把一个软件通过更加面向人性化的,面向业务的语言来进行描述。也就是说我们可以像大家看到的像一个图一样地描述我们企业的业务。当我们通过人性化的图形界面描述我们的业务时,我们的平台就可以把这样的业务图形在不同的技术层面运行。大家可能看过以前的图形像UML这样的工具,UML是一个非常好的工具帮助我们来做软件设计的工作,但是软件的设计完成之后就需要请人把你的图形再从代码实现。在我们这里的话,这样的图形本身就是软件,在同样的环境里可以编译、调试,并部署在一个J2EE环境里运行的环境。大家有可能看到,我们有BPML,或者类似的图形。我们确实在市场上看到有些方面有了一些更加图形化的表达。但是我们这里是更加彻底的一个表达。不光是人与人之间的或者业务之间的流程是通过这样流程的方法表达的。整个软件的所有逻辑都是有这样的图形来表达的。比如像有的厂商工具你可以通过图形产生一些代码的框架,如果你是J2EE的工程师,你开发的效率会更高,但是你还是需要对J2EE做相当的了解。百分之六、七十的工作还是通过工程来实现的。像工作流里,每个节点还是需要通过编程的方法实现逻辑。在我们全面的完整的环境中从业务的逻辑,工作的流程以及到所有的细节,都是通过我们这样的系统来实现的。所以在我们很多实现的案例中95%以上的工作都可以在这样的环境中实现。所以我觉得这点我们确实是特别值得高兴我们在这里跟那么多人交流。就是当我们眼光发生改变的时候,这个软件并不是一定要通过几百万行代码组成的,而是通过我们预先已定制好的构件组装的时候,我们发现就可以真正实现一个动态的软件。或者随需应变的系统。当我们的流程或者一些业务报表的需求发生变化的时候,我们很快可以通过构件重组来完成。

以前在这方面有很多成功的案例,比如像大家常用的Powerpoint,如果没有Powerpoint,我们现在讲这些东西就需要一个技术人员,需要图形工程师帮我把PPT编出来。但是当一个软件中对图形已有构件的时候我就可以把PPT做出来。我们电信运营系统,一个银行的ERP系统或者电子政务公文的系统,这些系统如果已经将其需要的很多构件都预先定制在我们平台里的时候我们的业务人员就可以通过非常简单的图形化的界面实现随需应变的需求。对这样系统的升级维护也是非常方便的。因为我们现在做一个IT系统跟做一个桌子是很不一样的。当我们做一个物理的东西的时候卖给你就可以用了,而软件不是这样。最近我们跟电子政务一个资深专家交流的时候,他说电子政务整个网络环境可以在半年里就准备好。只要投钱就能够做一个政府里三个不同的网络。但是软件这块就没办法。特别是中国电子政务的环境中,现在谁也讲不清楚一个社保系统或者其他信贷系统里用户的需求到底是怎样的。所以软件安装在一个用户里的时候其生命才刚刚开始。所以做一个软件,我们再也不能将其写成一百万行的代码,我们一定要把一个应用软件写成由很多构件组成的。这样当我们的系统需要升级维护的时候就可以面向构件的语言来一个快速的图形化的描述。对于软件企业或者银行、电信公司,我们的知识积累是非常重要的。现在我们有些项目派10个人去施工,这个项目施工完成后,唯一的好处是这些人非常熟了,但是换一个系统的时候我们还需要再派同样的10个人编写。如果我们用构件的模式可以从小的构件组装成更大的构件。我们做IT企业,不是再派10个人,而是派1个人和诸多的构件过去。在中国IT变化如此迅速的情况下,中国的环境比美国更需要构件。

目前我们的系统在中国电信、中国移动、工商银行、华泰证券等等都得到了很好的实施。目前我们也有几十家的合作伙伴,包括在美国、香港上市的企业也包括在中国比较新兴的企业。谢谢

相关阅读: