中美两国企业,实施SOA(IT服务架构)之路缘何不同?最大的区别也许在服务方面!
进入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中间件平台,即一个以构件为核心的生态系统,包括了构件运行环境、开发环境、应用管理环境、基础性的公共构件库以及面向构件的方法学和经验论,有了这样的平台,很多用户就容易采纳构件技术,并容易取得成效。