中国SOA 从应用起步
2009-04-30泊原
泊 原
当SOA渐渐渗入到中国企业中时,很多人也注意到,与国外相比,SOA在中国有着不一样的实施路径,而实施路径恰恰是企业能否成功的关键。那么,什么样的路径能让SOA成功落地呢?
今年年初,一篇名为《SOA已死,服务长存》的博客在软件领域引起了激烈的争论,这篇由Burton集团副总裁兼研究总监Anne Thomas Manes撰写的博客称: “由于经济衰退产生的灾难性影响对SOA造成了致命的打击,从2009年1月1日起,SOA实际上已经死亡。”
计世资讯SOA分析师曹宇杰对此并不认同。他认为,这恰恰说明SOA已渐趋成熟,正在从“技术推广初期步入纵深发展阶段,2009年开始的未来3年是SOA生命发展周期的重要阶段”。
普元软件CEO沈惠中也表示,SOA不仅死不了,而且必须活下去。在某种程度上,SOA的服务构件化就像是软件和应用领域的“福特模式”——当服务被打包封装成一个个具有通用接口的模块时,软件的构建以至应用的实现就进入了一个大规模的高效阶段——这正如福特发明流水线之后,汽车产量剧增,价格剧降,而此后,汽车也跌落“人间”,开始了普及时代——“SOA也正在进入这样一个尖峰时刻。”
但新的问题是,对于中国企业而言,SOA到底应从哪里开始?
SOA成功不容易
据InfoQ最近的一项调查显示,SOA依然在大踏步前进着: 有49%的受访者表示,其所在的公司正在进行一个或多个SOA项目; 60%的受访者表示,当前或未来的SOA项目将成为企业级项目(21%)或者独立的项目(19%)。
虽然“SOA已死”的论断被证明不是事实,然而SOA在各行业的规模化应用的真正实现也并非易事,行业用户对于大规模部署SOA仍心存顾虑。
在SOA引导下的中间件和业务基础平台软件的应用中,用户的多重顾虑是当前最突出的矛盾,而用户在选择部署SOA之前,势必还会考虑以下几个方面的问题:
首先,除了金融、电信等对信息化要求极高且现有信息化水平很高的行业以外,相当数量的企业的业务需求和内部管理并未形成对符合SOA模式的IT基础架构的迫切需求,也就是说,企业的业务运营和生产并没有达到要向客户提供随需应变的服务的水平,因此他们无需着急构建灵活的、SOA模式的IT基础架构。
其次,SOA技术、产品和标准都处于发展阶段,尚不成熟,不同厂商的解决方案也存在差异,这会让用户产生更多的顾虑,尤其是对于安全性的担心。
此外,在欧美发达国家,信息化进程已经走过了50年左右的历程,企业的IT架构已经比较完备,能够支撑现有和未来的应用。激烈的商业竞争迫使他们更多关注已有的多应用、多系统间的整合,这使得企业架构的整合成为他们实施SOA的关键任务。
“然而,在中国,很多企业的已有系统非常庞大和复杂,因此改变整体架构并不是轻而易举的,做出部署SOA的决策需要多方面的努力、很大的决心,以及资金上的巨大投入。”沈惠中表示,欧美式的SOA模式并不适合大部分中国企业。
欧美模式
存“短板”
据业内分析人士表示,由于西方企业信息化程度使然,当IBM们为中国那些准备叩响SOA大门的企业们拉开大门时,他们往往情不自禁地抛出基于SOA的企业架构这个庞大的计划,试图从自上而下的角度对企业的IT系统进行切割与重构——这其中,ESB总线、BPM等现有成熟的产品就获得了市场。而计划实施SOA的中国企业们,将不得不面对5年甚至更长的SOA实施周期以及资金的无底洞。
“中国有着与欧美国家不同的SOA实施土壤,SOA在中国实施应有不一样的路径。”业内人士分析道。
对于有数十年发展历史的欧美企业而言,整合才是他们实施SOA的关键任务。而新兴市场的中国呈现的则是另一番景象: 大量的企业信息化都在新建,已建的往往也更容易推倒重来,还有很多系统往往是在一期、二期、三期的建设中,逐渐成熟稳定下来的。可以说,业务应用系统的新建与稳定才是中国企业当下的关键任务。“不同的阶段与环境,注定了SOA在东西方实施有不一样的切入点。”沈惠中表示。
据记者了解,到目前为止,将已经建立的大量系统改造成符合SOA模式的架构只有两种方式: 如果系统功能容易切分,可以采用对已有系统进行切割和封装的方法; 如果已有系统功能不容易切分,就只能把整个系统包装成一个服务提供,或者只能推倒重来,用新的方法构造服务。而当前,多数的应用系统在做切割的时候都面临着很大的困难,原有的系统和数据处理起来并不容易。
远离“大象”
选择“螃蟹”
为此,沈惠中认为,大多数中国企业的SOA并不需要从企业架构开始。这是因为,中国企业的IT系统遗产相对于欧美国家而言少,信息化的建设过程如同盖房子建院子一样,是一期期地盖,每一期都有不同的建设目标和相应的预算。而所谓实施SOA,就是把每个应用,比如OA的应用、HR的应用、CRM的应用等等,做成符合SOA标准的应用和服务,使得这些应用与服务都具备标准的“接口”。模块化、可复用、松耦合是这些应用和服务的核心特征——模块化意味着标准化,具备搭建、组合应用与服务的便利和低成本; 可复用意味着软件会越做越快,成本相对也会越来越低; 而松耦合意味着应用或服务是一只只“螃蟹”,何时吃、一次吃几只、先吃哪只,全由企业按照自身需求和资源能力调配,而不是一开始就考虑吞下一头“大象”。
沈惠中表示,欧美发达国家早期的IT系统,不论是否是SOA化的,也都是从应用开始的。直到近十几年来,随着IT应用成熟的需要,架构师的角色在企业的信息系统建设中越来越重要,架构师开始帮助整体设计企业的IT系统。在中国,目前除了一些银行开始注重企业级的架构外,大多数企业的信息系统都是从应用开始的。而当SOA的理念被接受时,更多的CIO们还是希望从应用开始,完成与SOA的第一次亲密接触。这既是中国企业冀望通过应用寻求快速成长的惯性使然,又是企业IT资产存量不多、增量扩展的现实需求。
在普元看来,如果在这个时候倡导SOA从企业级开始,而不是从应用级开始,这只“大象”的体量决定了只有更大的“大象们”才可能够承担起漫长的SOA实施期,并支付巨额的资金。以多数中国企业的体能而言,最好还是远离这些“大象”,而是选择一只只“螃蟹”,即从应用开始,首先解决应用内的服务构造、服务再造和服务稳定,然后通过统一的企业平台基础设施,借助SOA的架构技术和标准达到各种业务模块间和应用系统间的互联互通,从而最终实现SOA从应用级、部门级、企业级到生态极的渐进式发展路径。