计算机世界:双面SOA


 2008-06-16 00:00:00       753

双面SOA

原文链接:http://www2.ccw.com.cn/weekly/news/htm2008/20080615_445788.shtml

在软件企业近几年的集体热捧中,SOA似乎迈出了走向现实的最关键的一步。然而,与厂商们情绪高涨相对应的,却是CIO们的低调观望。在概念中彷徨了12年的SOA,看上去很美,却缺乏成熟的商业模式、统一的标准,还有着补不完的IT黑洞。

SOA不是一个新概念。早在1996年,Gartner就提出了SOA的理念。2002年,Gartner提出SOA是“现代应用开发领域最重要的课题”,并预计到2008年,SOA将成为占有绝对优势的软件工程实践方法; 2010年,采用SOA体系的企业将占80%。

这或许就是近年来SOA火遍IT业的原因之一。普元、甲骨文、IBM、用友、金蝶等国内外软件企业,纷纷高举SOA大旗,用SOA概念包装已有或即将推出的各种产品和解决方案,备战软件市场。

2007年,这些软件企业开始推出了一些实施方案,并部署了一些案例,使得SOA进入现实的脚步似乎迈出了一大步。 然而,与厂商们情绪高涨相对应的,却是CIO们的低调观望。相关数据甚至表明,大部分用户不能完全理解SOA,而且对于SOA的理解也不尽相同,可以说“1000个人心中就有1000种对SOA的理解”。

根据IDC对全球大型企业的CIO和IT高管的调查显示 ,对SOA非常了解的CIO仅为14%,了解的约为26%,没有概念和不了解的则占了大约60%。业务部门对SOA了解的比例就更低了,认为SOA对本企业IT业务系统重要程度的比例为: 非常重要的约为12%、较重要的为24%,其余的都是不重要或不知道。到底是什么造成了这样的尴尬?

炼狱“三重门”

SOA概念炒作的成分要大于实际推广。有相当一部分CIO甚至软件厂商都持这一观点。

“我认为SOA还是IT厂商自己在整概念,在忽悠人。”一位CIO对记者说,“ 现在上门推销的,谁都说自己是基于SOA的解决方案,但没有谁能真正跟我讲清楚什么是SOA。”

那么,到底什么是SOA,它究竟能给企业带来哪些方便呢?

“谈到SOA,它更多的是一种IT方法论,对于一个用户来讲,部署SOA首先要考虑的是IT规划,其次才是技术层面的东西。企业利用SOA的架构来做规划,规划好主数据,而后同步包装成服务的格式。” 源天软件CEO谢赞恩告诉记者。

SOA所能解决的主要问题是应用集成,即不同应用系统之间的互通互联。SOA的理念和技术体系是伴随着系统集成(即系统整合)的不断演进而逐渐清晰和成形的。没有系统集成,就不会有SOA。实际上,SOA就是系统集成的一种高级形式。

而系统集成技术的出现,是由于企业或组织在过去的信息化进程中分别建立了多个局部应用系统,这些系统的数据和功能都彼此孤立,后来发现这些彼此孤立的系统给管理造成了很大的障碍,它们本该是一个有机结合的整体,才能保证业务流程的完整性和管理通道的畅通无阻。

为此,“出于直线思维方式,同时出于对以往IT投入的珍惜、对操作者原有使用习惯的姑息,当然,也囿于特定历史阶段IT技术的发展水平,业界针对互联互通的需求,推出了各种各样的系统集成技术,比如消息中间件系统、数据库同步复制技术、分布式数据库系统等等,直到近期的SOA。”双汇集团CIO刘小兵这样解释SOA的由来。

事实上,SOA目前还是停留在概念炒作阶段,因为企业对SOA的态度比较复杂,企业高层管理者更注重SOA能带来的投资回报,而实施SOA不仅费时费钱,而且短期见效还不明显,企业稍有不慎就会跌入万丈深渊。

SOA看上去很美,但不确定的商业模式、混乱的SOA标准、补不完的IT黑洞,却使得它成为一些IT用户们眼中的魔鬼,因为稍有不慎就可能让一个原本生机勃勃的企业瞬间人仰马翻。正如一位CIO所言,至少经历三重炼狱,SOA才会化身为天使。

商业模式不成熟

一个成功的产品除了要有好的应用前景外,还要有一个有前途的商业模式。然而,直到今天,SOA似乎还不完全具备这两个要素。

上海乐勤管理咨询公司创始人、合伙人黄骁俭认为: “SOA是目前最能提高IT效率的方法和思想,它不是IT产品,所以当有人告诉你,他们开发了一个SOA产品或解决方案时,这是不正确的,只能说开发的产品符合SOA模式。坦白而言,我认为客户和厂商都没有为实施SOA做好准备。”

目前厂商推出的各类戴着SOA帽子的解决方案或者产品层出不穷,“而其本质上,他们还是在销售软件许可证、硬件设施,而真正面向服务的商业模式到底是什么样的?是ASP,或者是SaaS?还是其他什么?我认为,目前并没有出现真正的盈利模式,ASP和SaaS都不是主流的商业模式,而任何一个技术在推行过程中,如果不出现合理的盈利模式,最后都会消失。”

黄骁俭的担忧不无道理,若干次技术革命的历史就能证明这一点: 每一次技术革命都无法从根本上改变商业模式,硬件厂商还是在计件销售,软件厂商还是在卖许可证,服务厂商卖的还是人才,惟一对这些传统销售模式有冲击的就是互联网的服务模式,但目前它尚未获得成功,只能说是存在,但还没进入主流市场。今天的SOA已经不能再依照传统的软硬件销售模式来推广了,但什么是最适合它的商业模式呢?恐怕就连那些推崇者们也说不清。

而用户对这些IT新名词永远保持着警惕。一家专注于SOA领域的厂商这样告诉记者:“根据我们多年的工作经验,在任何企业级的用户群体中,绝大部分是实用主义和保守主义者,他们最关心的是IT系统如何帮助企业解决实际的业务问题,如何将IT系统的风险降低到最低,如何保障他们的投资回报。因此,他们不会采用最先进的创新技术,他们要采用的往往是已经被主流市场认可的技术方案,所以SOA对他们而言,属于未来,而不属于今天。”

即便是企业的CIO认为SOA的理念非常好,但在高风险和回报率不容易显现的今天,SOA也很难大规模地进入到企业应用。

IT黑洞填不完

除了商业模式上的不成熟,SOA还可能会带来的负面影响是--补也补不完的IT黑洞。

刘小兵向记者介绍,系统集成技术一开始试图实现紧密的耦合,即把数据和应用全部集成起来,对业务流程进行一体化处理。而现在,逐步演变成了以松散的耦合为目标,比如SOA,着眼于各个应用系统的外在功能表现,而让人们忽略功能具体的实现和处理方式,放弃数据集中,只将应用系统的功能进行适当的划分并加以封装,以服务的形式提供给外部使用者。

“从紧耦合到松耦合,到SOA,技术和理念都在进步。但是这种进步与其说是为了满足用户的需求而不断地进行创新,还不如说是IT厂商在不断地为自己寻找解脱。”

因为系统集成实在不是一件轻松的差事,你要去理解各种各样的不知出处的、用不同语言写的应用程序,你要学会操作各种数据库,你要弄清楚各种操作系统环境和各式各样的网络协议等等,当然,为了把这些整合起来,你还需要掌握一些系统集成工具软件。而当你做完一个系统集成项目时,你的苦日子才刚刚开始,因为任何系统局部的一丁点修改都有可能影响到你的系统,所以你随时要准备好对接口进行升级和重新联调。

这样的工作显然是高成本的,而用户则必须为此买单,所以 “系统集成”曾经是个带着光环的字眼,象征着IT技术的“高级水平”。但是,随着用户应用规模的不断扩大、应用系统种类的不断增加、应用系统复杂性的不断提高,IT从业者对系统集成工作已经越来越不胜其烦了,所以,简单化是不得已而为之。系统集成简化到今天,就出现了SOA。

当企业采用SOA进行应用集成时,解决的是应用孤岛的问题,而数据孤岛的问题却依然存在。同时,它还可能引发两个新问题。其中之一是,IT管理者认为系统最终是可以被整合的,从而无所顾忌地增加新系统。系统数量的增加,意味着整个系统管理复杂程度的提升。另一个问题则是,在增加新系统的过程中,企业在IT方面的投入增大了,而且这种增大是一种“动态”的增大。

所谓“动态”的增大就是指企业针对新系统的投入不是一次性地投入。只要系统存在,人员工资、机房房租、电力费用、软件更新以及硬件维护费用就需要不断地投入。这些成本再加上新建系统给整个系统带来的管理复杂性,就会把企业拖入“IT黑洞”之中。

CIO们采用SOA架构进行应用系统的整合时,会使系统的复杂程度和成本增加,为什么CIO们还会被误导呢?其原因就在于,SOA带来的负面影响并不会马上显现出来。

所以有人认为: “在对待企业的信息孤岛时,SOA有时只是一种治标的方法。”SOA的目标是解决应用孤岛,而它的做法却是在原有的IT基础上修修补补。对企业来讲,表面上看,“修修补补”似乎保护了原有IT的投资、节约了建设成本,但深入分析,你会发现它可能是得不偿失的做法,并且会将企业引进IT黑洞。因此,从系统思维上来讲,除非因为特殊原因必须保留原有系统,否则,采用SOA对企业内部应用系统进行整合,很可能造成弊多利少的后果。

标准难以统一

众所周知,很多软件公司都在SOA上做文章,并力图做出一些特色。但从根本上讲,SOA不是个新东西,有两大支柱促成了SOA的快速发展,一个是面向服务的技术,另一个是互联网技术,这两大技术的成熟推动了SOA。随着SOA的逐步应用,标准问题浮出水面。

得平台者得天下,这是SOA厂商们公认的一句话,在这种情况下,各个厂商都在推自己的SOA平台。

从IBM的Websphere到BEA的Weblogic,再到SAP的NetWeaver,每家厂商都竭尽全力地推广自己的平台。从技术上来讲,各有各的优势,我们无法评价其高低优劣。但技术和理论上的成熟,不代表实际应用的成熟。实际上,SOA面临的很现实的一个问题就是标准化,另一个是如何划分业务和流程的模块。这些是真正决定SOA能否成功的关键。

标准化是定义一个业界共同遵守的准则,它针对的是整个SOA产业,不只是软件服务,还体现在应用平台、业务模式等各方面。

用友软件SOA创新中心主任饶元表示:“在SOA10年推进过程中,标准化也在不断完善和发展。现在来看,在整个发展过程中所遇到的问题,虽然有风险,但已有足够的技术能力和勇气来解决它。”

面对SOA标准一直没有统一的局面,刘小兵也明确指出: “标准的规划迫在眉睫,举个例子,电梯的门和口径大小必须统一,否则很难联结在一起。我希望SAP、用友他们制订统一的协议标准,这非常关键。我最担心的问题是各走各的路,结果是标准混乱。如果统一的数据结构标准来了,我们SOA就能软件全部共享了。”

有一种观点认为,“标准就是Web Services和XML。” 2005年11月,IBM、BEA、Oracle、SAP等公司就曾共同发布了两项SOA的技术规范: 服务构件架构(SCA)和服务数据对象(SDO)。当时,由于很多软件厂商(如微软和Sun)各打各的算盘,并没有加入这一标准组织。微软对此的解释是,希望新的标准规范可以“靠自己更近一些”,SML的技术基础就是在微软的XML系统定义模式(SDM)下发展起来的。

2006年8月,IBM、微软、BEA、思科等11家IT巨头宣布推出一项服务建模语言(SML)草案,以提供统一标准来整合计算机网络、应用软件、服务器及其他IT资源。

2006年以来,3个重量级的标准问世,它们目前都属于规范级别。它们就是SCA、SDO、WS-Policy。SCA和SDO构成了SOA组件开发的核心,而WS-Policy则成为SOA组件间安全通讯的标准,其作用类似于安全套接层在浏览器与服务器通讯中的作用。

长风联盟SOA-RA-TF主席、东方通科技首席架构师朱律玮认为: “制定标准无论对厂商还是对用户都很重要,厂商可以获得更多的竞争机会,而用户则意味着有更多的选择,可替换性就有了保障。”他同时指出: “虽然目前已有了SDO和SCA标准,为SOA的广泛应用奠定了良好的基础,但从整个技术水平来看,SOA还处于起步阶段,很多标准需要完善和补充。”

诱人的愿景

SOA是软件工程和软件产业的一次自我变革和扬弃,它将迫使软件技术人员站在用户的业务视角上工作,将高深莫测的软件开发转化为“服务”业务的相应实现,将软件专业语言转换为现实业务语言,打破软件领域的技术壁垒和神秘感,最终甚至会把用户的业务人员改造成软件系统的架构师。那时,软件产业将告别“阳春白雪”,成为一个名副其实的现代服务产业。

SOA适合谁?

并不是所有的企业都适合部署SOA。沪士电子有限公司IT经理王翔认为,如果公司规模较小、产品单一,IT部门只是作为附属、支持性部门,一套ERP系统就足够了; 规模较大、IT部门相对独立的企业,实施SOA会更为容易一些。“IT部门以前偏重于支持,但SOA要求IT部门提供服务。因此,与业务部门并行、相对独立的IT部门更容易部署SOA。”

事实上,假如不具备条件,而去盲目地部署SOA,项目失败的可能性会很高。一位专业人士表示,有些企业用户错误地认为SOA项目应该全部由自己开发; 另外,有些用户只是购买一些软件产品,实施的时候完全依靠自己的团队,勿需外力支持,在实际实施过程中很可都会遇到非常大的风险。

因此,该专业人士建议,那些试图部署SOA的企业,应该从小项目着手; 此外,SOA项目还需要得到企业高层管理者的支持,以整合IT和业务部门的资源,实现IT与业务流程的紧密结合。

“SOA不偏重技术,而是偏重组织、管理、商业模式。这是一个大的系统工程。”王翔说。SOA最吸引人的地方在于,它可以更好地实现业务和IT一致性。

基于SOA的IT系统是由松散耦合组件组成的,它允许分散于各地且采用不同技术的资源协同工作。它要求研发人员开发的程序有更多的通用性。通俗来讲,就是有标准化的接口,可以将各种组件迅速组装成为新的产品和服务。

显然,要实施SOA,难点在于把整个业务和IT逻辑重新梳理,提炼出更多的共性模块,之后的技术实施反而不是关键。

在中国,电信、银行是对SOA需求最为迫切的行业。但这两个行业都有共同的特点: 企业内部的信息化系统很多是按照部门来部署的,而且每个部门都有自己的利益,因此,“实施大集中式SOA,一次性地实现所有部门和系统之间的共性组合,显然是不现实的。”一位在银行工作多年的应用架构师这样描述SOA在银行里所能发挥的作用,“不过,各个部门为了应对日益加大的竞争压力,都希望在局部的范围内,实现尽可能多的业务一体化组合,也就是希望快速地在小范围内实施SOA。”

除电信、金融行业以外,众多行业企业的普遍情况是,IT系统并非企业的核心业务工具,企业的业务运营和生产没有达到向用户提供随需应变的服务水平。换而言之,大部分企业的生产运营和管理还是以生产环节为导向,由生产能力决定服务的水平,因此,这类企业需要经过较长时间,使企业生产运营逐步成熟,才会向服务导向型的更高的企业经营水平过渡。

当企业客户要求企业提供随需应变的服务能力时,这些企业就会对SOA的IT系统架构产生迫切的需求。因此,处于目前发展水平的相当数量的企业,对部署基于SOA的IT系统还需要相当长的时间。

SOA的真正价值

尽管稍不留神企业就会被还未成熟的SOA绊个大跟头,但是人们对于SOA在未来的作用还是深信不疑。“SOA将改变整个IT的产业格局”,这句话似乎正在成为现实。

SOA的价值也是一目了然的: 第一,SOA是一个帮助企业做整合的工具,使得企业能够把不同的系统、不同的数据整合在一起。整合一直是IT业很重要的概念,SOA提供了一个新的工具; 第二,SOA使企业变得敏捷和灵活; 第三,由于SOA平台可以反复地灵活使用,SOA可以拥有一个相对来说比较低的成本,尽管这一点可能需要一些时间才能体现,但总体拥有成本会降下来; 第四,SOA使企业与合作伙伴可以共建一个很好的创新的生态圈; 第五,SOA使得企业的IT和业务可以更好地结合在一起。

如果把一切商业模式都看做不同的业务流程或服务的组合,理解SOA就不会那么困难。在传统经济模式下,传统制造商还只能遵从设计、采购、制造和销售的业务流程; 而在SOA创造的商业世界里,企业将有机会像玩积木游戏一样,创造崭新的商业模式,他们可以先从采购开始,找出哪些是他们可以买到的最低成本的零件,然后计划利用这些零件做些什么,然后出售设计理念,并且只制造顾客将要购买的产品。

中国北方工业公司信息资源部主任马卫国这样解释SOA的价值: “我认为,SOA就像是打通企业的微循环。我们公司之前上过ERP,也做过OA系统,这些大系统对企业来说,就像是主动脉,是骨架,有了这些系统之后,就需要SOA这样的平台来支持。”

在他看来,ERP等系统应用在某些范围是必须的,但是过多的系统在企业内部很容易形成一个个的孤岛,这时候就需要有一个平台能够把这些孤岛连接起来。SOA就具备这样的一个作用,SOA平台就像是无处不在的毛细血管,可以把企业的信息孤岛整合起来,提高系统的可重用性,提升了效率。

SOA还可以做一个很重要的事情,就是法律遵从。一个企业做大之后一定需要肩负更大的责任,那就不仅要为客户着想,还要考虑对国家、社会以及当地环境的影响。显然,用传统的软件开发模式很难实现这些目标,很难开发出一个标准化的软件去解决所有的问题。“但是在SOA架构里面,你可以在企业里建立起这样一个风险管控的流程图。”

“我认为SOA可能做3个事情,一个就是整合信息孤岛; 第二,就是打通企业微循环; 第三,就是企业做大之后,在法律遵从方面能够起到很大的作用。”马卫国说。

所以很多SOA的推崇者们心中都有一个信念: 最离经叛道的商业设想也可能因SOA变成现实,一切传统的商业理念都可能受到SOA的挑战。

我们知道,发展了多年的SOA并不是技术狂人的专利,对SOA可能衍生的商业价值一无所知的管理者,可能从此在市场上失去竞争优势,被更灵活、更懂得运用这种新兴技术的竞争对手所超越。

评论

SOA: 厂商激战正酣


一股SOA大潮正在引发软件产业的新一轮抢滩战: 从IBM、微软、惠普到甲骨文、SAP,再到国内的用友、普元、金蝶等等,无一例外地加入到了SOA的战火中,尽管谁是最终的赢家,尚未见分晓,但占领先机,也就意味着赢得了主动权。

“IBM每年在SOA领域的投资已达到10亿美元,有超过300项的SOA相关专利。” IBM大中华区首席执行官钱大群在“2007 SOA与企业成长高峰论坛”上,自信地向台下近千名客户和业务合作伙伴表示。

在当天的会议上,IBM一口气发布了针对电信、保险、银行、零售、医疗保健和制造业六大行业的新SOA路线图。在SOA领域,IBM一直希望通过抢跑来获得领先地位。

但显然,比赛才刚刚开始。

面对IBM咄咄逼人的态势,各大厂商业都毫不示弱: Oracle正全力开发它的下一代SOA产品Fusion; SAP从2003年就破釜沉舟,开始逐步把产品迁移到SOA平台上,凭借NetWeaver策略,SAP向客户证明它在SOA上比Oracle更胜一筹; HP把全球的SOA体验中心从两个增加到5个,甚至连咨询公司埃森哲也宣布将要投资4.5亿美元来促进SOA的发展。

也许有人会问: “这么有前途的一个领域怎么会少得了软件巨头微软。”确实,除了上述厂商,微软也是SOA的积极推动者之一。

微软正在操作一个与其他SOA软件厂商截然不同的SOA世界。其S+S(软件+服务)的SOA道路似乎也囊括了自身的所有优势。

相对而言,国内厂商在推动SOA方面还没有真正进入资产价值重用层面,但在标准与开发等层面,也在积极进行部署。

IDC预测,到2010年,全球基于SOA的服务开支将高达338亿美元。这一数字表明,SOA时代的到来已经不可阻挡。那么,谁将会是这场激战中的最终赢家,需要时间来为我们证明。

相关阅读: