进入2007年后,SOA话题慢慢从“为什么要上SOA”转变到“如何上SOA”,但企业在适应业务需求的不断变更、对原有系统不断整合或扩展、控制成本、适应技术的更新换代,以及管理众多软件系统和开发商等在当前IT应用系统建设中却面临着很大挑战。
能否帮助企业克服这些困难,使企业的IT架构更为灵活,从容地应对市场环境的不断变化?在这些挑战面前,SOA在中国的应用发展路在何方?
中美企业差异巨大
现在,中国实施SOA的关键任务与美国市场差异很大。
据了解,中国IT应用成熟的企业已经建设了大量的生产型系统,目前正在尝试着整合;而大量的服务性系统仍有待新建。调查发现,中国企业更多地在进行系统新建或改造优化。57.5%接受调查的中国企业建设重心在系统新建和系统改造、升级上,重心在系统整合的企业只占42.5%。对已有系统的改造优化主要是系统升级、新建功能模块或新开发周边系统并集成到已有系统。在金融、电信等行业,大客户已经建设了近90%的生产性系统,但与国外同类企业不同的是,它们仍然缺乏大量的服务性系统;超过70%的服务不存在或需要重新构造,比如CRM等才刚刚开始。因此,大量的服务需要全新构造才是中国SOA的主要任务,这一点和美国是完全不同。
与中国企业大量新建或改造升级软件系统建设相对照,在成熟的美国企业软件市场上,美国企业的IT建设更多集中于对原有系统改造、升级或整合,新建软件系统比例相对很小。美国实现SOA架构的常见场景是将已有系统中提取和包装成标准的服务,再将不同系统中的分散数据整合包装成为数据服务,最后通过业务流程管理对服务进行整合。
美国企业市场能对原有系统进行有效分割包装,主要得力于其软件系统中大量部署了标准化、模块化程度都很高的套装应用软件。美国企业经历多年的企业应用集成实践,也为切割的标准化打下了一定的基础。
业界专家认为,在以新建为主的软件系统建设背景下,中国企业实现SOA架构时更应关注建立一个标准的平台,并在其上构造企业所需要的所有标准服务。由于大部分中国企业的现有软件建设技术和业务制订均不规范,导致业务流程难以有效提取;同时,不同系统的不同标准的数据源也难以整合;最后,在企业陆续新建的系统中由于缺乏统一的技术架构,最终产生了更多的信息孤岛。在实现中国企业SOA架构时,许多现有系统不得不推倒重来,或是将整个系统包装成一个服务;而大量的新建系统更适合直接构建粒度更小、组合更容易、架构更灵活的标准服务。
IDC分析师认为,SOA服务可以用面向构件技术来建造,同时这种服务本身的管理和组装也是一个面向构件的过程。面向构件技术是基于构件的软件开发方法、技术和标准。IDC在调查中发现,基于这种技术进行定制开发逐渐成为中国企业的一个选择。参与调查的中国企业在超过70%的新建系统项目中采用了定制开发方式,而其中有50%基于面向构件开发平台。在对中国企业对不同软件系统开发模式的满意度调查中,企业对使用基于面向构件开发平台进行定制开发满意度略高于基于手工编写代码或基于套装软件开发等两种方式。
中国企业的优势
在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背景的巨大差异,只有中国软件企业才能对中国的软件用户做出最佳的解决方案。
网友评论