中国企业的优势
在IT领域,作为孪生兄弟的硬件和软件,经过了几十年以后,两者的差距却越来越大了。这些年来,硬件的发展始终遵循着“摩尔定律”,每一年半性能翻一番,而支撑这种指数级增长的是硬件的自动设计技术,即EDA技术。依托EDA工具,硬件的设计已经达到了高度的自动化,例如一个开发组可以在几个月的时间里设计出包含百万晶体管甚至千万晶体管的集成电路芯片。
相比之下,软件的发展并没有类似的“摩尔定律”,软件落后的“手工”生产方式使软件的发展大大落后于硬件,比如软件规模似乎只能以很慢的速度增长,从Windows 3.1发展到Windows 2000,在9年的时间里源代码行数只增长了9倍左右。
图灵奖获得者、计算机科学家布鲁克斯曾在其著名文章《没有银弹》一文中提出一个论断:“没有一种单纯的技术或管理上的进步,能够独立承担在10年内大幅度提高软件的生产率、可靠性和简洁性。”他的这个论断是要强调,提高软件生产率是多么困难!
首先,提高软件生产率是软件厂商的迫切要求。今天,几乎所有的软件公司都不能摆脱软件计划延迟、开发预算超支、版本不能及时推出的困扰;至于软件缺陷更是无法避免,人们不得不一次次地发布补丁,而又一次次地发现新的缺陷。
软件的构件概念提出了多年,却很难实现产业化,这至少有两方面的原因:一方面原因是,将软件构件技术产业化需要有一个高效、实用的构件平台。正如普元公司的经验所表明,它们开发了EOS中间件平台,即一个以构件为核心的生态系统,包括了构件运行环境、开发环境、应用管理环境、基础性的公共构件库以及面向构件的方法学和经验论,有了这样的平台,很多用户就容易采纳构件技术,并容易取得成效。
另一方面原因是缺乏标准。从软件本身来看,一个成熟的软件中有60%-70%的功能是可以被复用的,但现实情况是,当我们淘汰一个软件的时候,往往是把它完全抛弃掉,然后再重新设计一个拥有诸多类似功能和少量新鲜功能的软件。令人高兴的是,在这方面中国有后发优势。
发达国家的银行、通信等行业的软件系统基本上在1990年代初就已完成,如今要用新的构件技术将以往的系统推翻重来是相当困难,因此对构件技术的市场需求不大。而中国的情况是,大部分企业的信息化还处于基础建设阶段,很多软件系统都是空白,最适合采用新的构件技术,因此对构件技术有巨大的市场需求。这也正是近年来构件技术在外国止步不前,而在中国却获得广阔发展空间的重要原因。同时,在中国发展构件技术的另一个好处是,中国企业数量庞大,情况也复杂多变,这样,我们在设计构件的时候,能够有足够多的样本,构成更完善的构件库,使构件方法的软件生产达到更高的效率。这样一来,企业的信息系统将能随需应变。
中国的特殊国情是构件技术在中国得以迅速发展的重要原因,这也是中国企业参与制订国际软件标准的契机。现在,普元公司已成为SOA标准有关国际组织的核心成员,正在为制订服务构件架构和服务数据对象的标准作出积极的贡献。随着中国软件企业自主创新能力的增强,它们一定会在国际标准组织中发挥更大的作用。
未来发生3个变化
形象地说,SOA就是将现有的一些软件功能模块打包成独立的程序包,命名为“服务”模块。这些服务模块(组件)在整个软件系统的角色相当于在“乐高”玩具中所用到的小砖块。对于这些服务模块,需要对其接口进行良好定义,使得其他的应用系统可以使用“拿来主义”,方便地使用这些服务模块。
业内专家认为,随着中国企业参与到SOA国际标准的发布,预示着软件业将发生大的变化。首先,商用软件之间将据此实现互联互通。10年前,电脑IP标准的制定,让电脑之间实现“通话”,确立了企业计算的硬件环境。今天发布的SOA标准,将实现全球企业软件互联互通,进而确立企业计算的软环境。企业软件实现互联互通后,就能帮助用户更方便快捷地满足不断变化的各种应用需求,从而实现灵动的“实时企业”。此前,由于企业商用软件彼此割裂,在解决企业IT需求的同时,也形成了大量的“信息孤岛”,不仅管理、维护成本居高不下,也很难对客户的需求作出即时响应。
其次,编写源代码的软件开发方式将会被模块式的软件构件搭建所取代,软件的开发效率将得到巨大的解放。长久以来,编写源代码的软件开发方式被西方发达国家所确立和主导,始终没有实质变化,编程人员用各种计算机语言来编写数百万乃至数千万行的源代码,耗时巨大,很难修改,而中国又是一个快速发展的国家,一般一套IT软件系统2、3年后就必须推翻重来。
因而,面对SOA标准的发布,特别是中国SOA路线图表明,用成熟的功能构件代替编写源代码,将极大地提升软件开发效率。目前普元软件拥有800多个构件,这是世界上任何一家其他厂商所没有的。这些构件可以更清晰地实现各种功能,更实时地发现并解决问题,降低了维护和管理成本。
而且,在软件构件这个层次上,基于中国和以美国为代表的西方发达国家的企业发展阶段、业务特点、IT背景的巨大差异,只有中国软件企业才能对中国的软件用户做出非常好的的解决方案。