普元演讲主题:软件的涅磐:谈企业和政府大型应用软件


 2004-07-09 00:00:00       749

来源:赛迪网

     非常高兴今天有机会代表普元跟大家做一个交流,我们本来的题目是有关企业跟政府大型应用软件的情况,实际上中国的软件,特别是大型应用软件在联想、方正、用友等企业做了20多年,在2003年根据赛迪的研究报告已经有400多亿的市场,这已经是非常非常可喜的了,这个市场还在不断地发展。今天主要是想从我个人以及企业,从做大型应用来讲一些体会。

     大家今天早上也听到了包括BEA、用友等很多比较知名的企业对他们的情况做了很多介绍,普元非常高兴来到这里来做一个介绍,普元有两个比较独特的特点,第一个就是我们非常专注,从软件发展的趋势大家也讲到在做一个大型企业的应用、大型政府应用来讲,大家越来越多地看到需要在应用软件上有一个应用软件平台来支撑。普元在2001年到现在三年多的时间非常专注地来做这件事,这在业界是比较少的。

     大家看到的是国外大的厂商,作为自己的企业在这样一个非常重要的,对中国也好,对中国信息产业发展也好非常重要的技术软件平台里普元在做着比较多的工作。但是我们也并不是说单纯地跟着国外的公司在做应用软件的平台,我们这个软件平台在面向构件上走的是非常前面的。

     其实我们面向构件在2001年提出一些想法在现在看来跟SOA是非常吻合的,而且很多方面是更彻底解决了软件结构的产品问题。我更多是从一个技术人员的角度来看我们大型应用的发展,今天在座的可能很多是商业人员、企业管理人员,但是我作为一个技术人员从事大型企业的应用,包括从事像电信、金融、医疗、电子政务等等,经过这么多的应用之后我就想起一句话,在80年代时有一句话“路为什么越走越窄”,作为20多年从事大型应用软件开发来讲也有很深刻的体会,大型应用软件越做越多,但是作为一个企业来讲越做越艰难就像刚开始时徐社长也讲到过,很多做应用软件的企业都是非常辛苦的,一年辛苦到头白辛苦,也盈利非常长。包括今天上午有的企业在讲自己企业核心产品时也讲到像中基础性的东西是国外做的多,作为行业应用有些中国特色在里面,所以我们作为中国公司做这样一个产品。

     但是如果仔细分析大型应用中国特性的话,中国大型应用的特点是令人窒息的一种感觉。就像我们往往做一个应用产品,从我们的价值来讲价格本身就压的非常低,像国外一套软件的成本是按照公式来计算的,但是在中国这个环境里软件的价值是有固定的数额,软件的钱给你是固定的,但是需求可不是固定的。而且随着企业的变化,中国的环境不断变化,在很多企业的变化过程中对软件一次又一次地改变,本来我们觉得做大型应用软件有三四百万就可以了,但是当我们把软件做好之后组织结构发生变化、流程也发生变化,同时新的电信资费政策又下来了,这时所有的应有软件又必须重新改写一次。

     虽然软件不断修改、不断地做几百万行的代码,但是我们的价格非常固定,成本是不断扩展的。特别是在互联网这个时代,使得这种情况愈演愈烈。2001年互联网的发展使得很多企业都发生变化,这样我们必须对软件重新思考。作为一个大型的应用软件的话怎么样能够打造出又能满足用户需求,企业又能够有利可图的环境呢?普元的思考就是面向构件的市场。在以前我们在国际上推广了很多纯技术的东西,比如最早的CORBA技术,后来又有像Tusedo的产品,又推出了J2EE的产品,或者是最新的SOA的技术,实际上这些技术是不是能根本解决现在软件的问题呢?其实是不一定的。

     一个用户来讲最关心的并不是采用什么样的技术,从某种意义上讲随着技术的不断推出、不断变化,技术的变化和发展很多方面已经成为了大型应用软件厂商的一个风险。所以我们提出来面向构件的应用软件。现在我们思考问题的方法需要发生改变,我们不是从技术上考虑怎么样实现上面的业务模式,而是首先考虑这个业务逻辑本身怎么样能够有比较好的、模块化的描述,我们要有一种方法把业务通过构件化的方法来进行描述。至于这个描述到底是在SOA的技术上还是J2EE技术,还是.NET的技术,对我们来说是透明的。在大型应用软件中我们关心的是业务目标被完成,它应该自动地在各种技术里得到体现。

     以前我们对于一个软件的理解,从最早的面向机器的语言,到面向汇编的语言,到有高级的计算语言变成了面向构件的语言,所有的逻辑不应该是通过手中一行行的代码编写出来的,而是有更好的面向构件的描述。想像一下比如要做一个金融大型应用软件,这时我们不是从零来写这个软件,而是从一个企业已经积累的构件库里把我们对金融的理解,再经过企业要求重新整合,就能够完成最终的应用。大家肯定体会很深,现在很多软件公司里非常痛苦的是要把项目拿下来,但是往往这个项目拿下来以后是一个更加痛苦的过程。

     因为到项目以后给钱又比较好,所以我们必须派二十、三十个工程师,这些工程师到现场按照用户的需求从零开始一行一行把编码写出来,不管你以前做了一个BSS系统还是CRM系统,你客户的要求跟你阐述的需求不一致,而且非常不一致,你必须重新编排编码来实现。但是如果面向构件的这个问题就能够比较好地解决。作为行业应用的厂商来讲,我的产品就是我在构件库里积累的这些行业的构件。比如说我做过中国电信的,这方面的构件库就有记录了。客户需求的变化可以通过我们已有的知识能够快速做出来,这样最终用户能够得到的应用是量身定制的,而且是随需应变的。变化发生的时候软件也跟着同时发生变化。

     对于一个IT的公司来讲,我已经越来越多地积累了构件库,当软件的构件库积累到一定程度时实施项目的成本就会下降。这样的做法和中国特色也是非常吻合的。我们如果想一下整个企业应用发展的目标就会发现,中国跟美国的情况是非常不一样的,这也是为什么国外的软件拿到国内来是不行的。很多大型行业部门面临的选择是用中国的,很不可靠的,代码堆积出来的应用,一个是用国外一个成熟的产品,但是实际上国外成熟的产品在国内不一定非常合适。

     在美国这样一个环境里,在IT开始萌发时管理已经非常成熟了,AT&T公司知道怎么样管理,IT来了,你的IT就把已经有的知识固化在软件产品里,这就是美国很多成形套装产品的主要依据。但是在中国这个情况完全不一样,中国IT技术发展是远远高于企业管理的能力,也就是说我们现在跟美国、日本、欧洲的技术都是非常接近的,用的都是全球最新的技术,国内很多企业为什么它的需求不断变化呢?就是因为企业本身管理模型发生变化,国家很多需求也在发生变化。在中国确实不可能有一个成形的、定型的大型行业用户,在中国大型行业用户、大型政府用户唯一的就是构件,通过构件把比较成熟的,但是相对应用产品模块又比较小的支持吸引过来,再按照需求量身定制,同时按照企业、按照政府管理上、经营上、政策方面的变化来进行随需应变的重新组合。这样我们会发现要解决中国的大型政府跟企业应有软件就必须有一个面向构件的应有软件平台,就是在标准的J2EE平台上有这样一个平台来帮助描述应用软件,描述大型应用软件量身定制和随需应变的需求。这样又可以帮助几个方面。

     包括从用户逻辑方面的构件,还有业务流程,还有服务的构件,对象的构件,数据的构件,大家很多人关心SOA技术,SOA主要是指服务层次的构件,我们把很多企业的功能以服务的形式表达出来进行组装,这就是SOA的技术,还有是用户界面的构件也可以通过用户界面构件来组装,我们也还会有在线流程的组装,还有对象的构件,它比服务构件层次更深刻一点。在国外有很多成熟的企业运用要进行整合,每个应用本身是服务的形式已经是非常固定了,但是在中国本身服务也是没法孵化的,在中国不能把人事当成一个服务进行整合,人事管理还需要有很多更小的函数构件组成的,来进行各种各样不同人事管理的服务。

     在这样一个面向构件的领域里我们会发现,我们的应用软件不再是几百万行、几十万行的代码,作为一个大型的应用软件厂商来讲,比较悲惨的不光是徐社长讲的,我们现在的盈利能力是接近零,如果作为一个软件公司你现在的盈利能力是零,但是你如果能够不断地积累,明年就增强了。更悲哀的是今天能够盈利,但是如果没有重大的改变,明天、后天、再过三年五年还是没有盈利能力的,因为很多员工辛辛苦苦的劳动成果都在代码里,代码有几十万、几百万行,甚至是上千万行,几千万行的代码,一旦人才流失就变成像垃圾一样了,必须把这些东西构件在构件库里,作为IT企业来说不再是看到很多代码,而是看到我们在一个行业里拼打时一开始可能积累比较小,开始盈利比较小,但是一旦积累到一定程度,对电信、政府、对金融独特的理解放在自己的构件库时,当用户发生变化、需求发生变化时就通过构件库来达成很多需求变化。

     这样就有一个概念,动态软件。上次我们跟电子政务专家交流也是这样的,软件并不是说像桌子一样制好了放在这里就完了,软件安装时是软件生命的开始,一旦安装之后才会有更新的、更有意义的需求被发掘出来,这样你的软件必须是动态的、变化的东西。软件还必须是流程化的,流程的变化是企业管理最重要的,像我们说的流程重组,并不是说把现在的流程组成某个样子就结束了,而是必须不断地进行重组。我们这样的系统也不是单纯的一些概念,在2001年到现在三年多的努力,已经在中国的电信、移动、证券、电子政务等很多方面得到应用,用这样一个系统开发成本可以节省50%以上,维护成本可以节省70%,而且这样的提高并不是停止的,而是一个不断持续的过程就像麦肯锡的专家得出一个非常重要的结论,不断采用构件技术是未来软件生产力提高的主要来源,我们普元就给大家提供一个面向构件开发的平台的思路,谢谢大家。

相关阅读: