SOA的真相是什么?[转]
作 者:IT经理世界 周源
CIO心中的SOA和厂商宣传的SOA,好像并不是一码事儿。
为什么SOA(ServiceOrientedArchitecture,面向服务架构)正在大行其道?答案也许简单到极点。今年9月,BEA公司CEO庄思浩在旧金山举行的BEAWorld 上给出了一个答案— —“SOA改变了企业做生意的方式”。
没有人可以质疑近20年来,全球商业环境不断加速量变与质变中,第一推动力就是创新技术。而在所有的推动变量当中,IT扮演着至关重要的角色,因为现代企业越来越高度依赖IT,而日新月异的各种IT应用又成为企业灵活多变的“变身”基石。
这种对技术创新和IT创新的逻辑推导,看上去顺理成章。“席卷全球的整合与并购浪潮加剧了企业之间、行业之间重新洗牌,快速变化的市场转变为巨大的业务压力,业务压力又导致IT创新呼声日益高涨。”不过,IT创新与蒸汽机、铁路的出现大大提高地面交通运输能力有着很大不同——运载能力是有极限的,而业务需求永远难以被彻底满足。
还有一个问题——为什么SOA会火?这近乎于在问“如果没有SOA,企业计算领域的软件公司还能卖什么?”这几年,软件公司义无反顾地“SOA化”,已经足够证明这一点。SAP从2003年就开始逐步把产品迁移到SOA 平台上;Oracle 正在全力开发它的下一代SOA 产品Fusion;两年前,BEA 就推出了SOA 产品,今年在BEA World 上更是推出了很多实际应用中的成功案例;HP已经把全球的SOA体验中心从2 个增加到5 个,甚至连咨询公司埃森哲也宣布将要投资4.5亿美元来促进SOA的发展。就在刚结束的上一个季度,HP 收购了Mercury/Systinet(解决方案提供商);BEA收购了Flashline(SOA注册服务库提供商);IBM收购了Webify(Web服务和SOA组件解决方案提供商)。
但是,如果问题这样问——“没有SOA,CIO将面临什么?”显然在目前,甚至在相当长的时间内,未必能有一个标准答案。要回答这个问题,软件公司仅仅是打动自己和同行还不够,SOA还必须有打动CIO的理由。
国内CIO对SOA早已听了很多。SOA的理念和他们所面临诸多挑战,促使很多CIO开始认真地思考“企业的IT环境到底需要什么?企业的业务需要到底有多复杂?”
从这个角度上看,对CIO而言,有无识别能力显得非常重要。那么,CIO们该如何决策?“CIO采用新技术和新理念的动力有两个,一个是希望,一个是恐惧。”上海家化副总经理王茁说。他所说的希望,就是CIO如果采用某种解决方案或者技术架构,IT和业务的情况也许会变得更好;而所谓恐惧,是指如果你不采用新技术优化现状,那将会面临“下课”的风险。王茁说:“对于SOA,我从来没有恐惧过。”
近1年来,关于SOA的各种概念不绝于耳,一时间,SOA俨然和几年前的ERP 一样,成为企业信息化明天的代名词,SOA似乎已经被认为是企业IT 的未来。无论是ERP 厂商、中间件厂商、构件厂商,还是操作系统、系统集成商,都在以各种方式表达自己进军SOA 的决心。但是,SOA到底是企业IT的终点,还仅是射线上的某个点?《IT经理世界》在针对数十家国内大型企业、软件公司的调研后,并没有获得一个清楚的答案。
关于SOA的一切,需要去认真理解,更需要真实地还原。
第一推动力
采用SOA的第一推动力更多还在提高企业的软件能力上,离直接推动企业业务能力变革尚有很长的一段距离
在记者前往拜访中国外运股份公司之前,中外运作为国内为数不多实施SOA并取得成功的企业,被业界广为传播。对中外运实施SOA有两个不同的描述版本:第一个版本是个生动的故事,中外运由于经营的大宗物流业务所涉及的单证流、资金流、物流等流程的管理太过复杂,现有软件均无法满足业务需求,公 司通过实施SOA解决了一切;第二个版本是,前不久中外运信息管理部副总经理张思宇博士作为成功的SOA 客户代表,应邀参加某软件公司的SOA 巡讲大会。结果观众在听完张博士的演讲后却面面相觑,觉得张博士所说的SOA 和软件厂商说的SOA,是两码事儿。
“本身就是两码事儿,SOA是100%技术层面上的问题,和业务层面一点关系都没有。”在把中外运的SOA故事的最终版本从头到尾讲了一遍后,张博士总结说。他纠正了不同版本的基本事实——中外运的核心业务系统(海运船货代系统)在开发上采用了SOA的构架方式,并非整个企业IT都“SOA化”了。而中外运采用SOA的根本原因是因为其原业务系统是由中外运200多家分支机构的30多套不同系统“拼装”成的,为了解决IT资源集中管控的问题,才开发了新系统,并由中外运总部集中管理。
张博士介绍说,新系统为了今后升级方便,采用了Web服务方式,将各个单独功能模块包装成服务模块。但这个“服务”是软件模块级的,也就是说,当一个模块需要使用其他服务时,会通过网络协议,将描述服务的XML文件发送给另一个模块,这时相应的服务过程就开始了。“这个过程中的服务,和业务部门需要IT部门提供的服务,完全是两个概念。”
中外运的SOA策略,与美国伍德沃德公司的选择不谋而合。伍德沃德是总部位于美国的一家航空发动机控制器生产制造商。在苏州工业园办公的张嵩是伍德沃德中国的IT主管,他带领着中国的软件开发团队承担着公司第三代全球信息服务系统(WISE3)的核心研发工作。“WISE3 是对在伍德沃德运行了20年的MRPⅡ(WISE 1)系统的一次重大升级。”张嵩说。这个重大升级就是向SOA 迁移。
当初,伍德沃德做出升级决定还是出于技术层面的考量:除了因为第一代字符界面和第二代C/S架构的WISE在技术上已经落伍外,最关键的原因在于WISE2所使用的Oracle窗体开发工具已被Oracle 公司淘汰,不再提供服务和升级。“当时,我们决定向SOA迁移是认为,获得持续的企业IT 能力最重要。”张嵩说。这个最重要的原因背后其实就是企业IT 的升级能力不足,所以伍德沃德的决策者决定以某种标准的、可以永久添加功能的方式来实现WISE 3,而这和SOA 正好合拍。
中外运和伍德沃德对SOA的最初需求完全是纯技术层面的,这与诸多SOA对企业业务能力提升的宣传相去甚远。可见,SOA“能够提升企业的软件能力”与“直接推动业务能力的变革”之间,并不是一个可以轻松跨越的小缝隙。
外界觉得已经“SOA化”的中外运,必然已经具备了“技术实体”和“业务实体”直接对等连接的企业IT环境。实际上,中外运目前并不具备这样的能力。现在,已经“SOA化”的中外运海运船货代系统只有两个外部数据接口,一个连接中外运的EDI系统,另一个连接客户数据系统,这两个接口的功能也仅是交换数据,对业务的整体提升作用还没有显现出来。SOA在中外运的作用与Gartner在1996年首次提出SOA概念时的定义非常吻合——SOA 是指软件接口之间的“服务”。当年,SOA出现的背景不过是美国大型企业需要升级、改造遗留系统,而迁移这些系统中存放多年的数据和业务风险太大,不得不通过SOA的方式,给这些系统穿上一层“服务的外衣”而已。
这可能对还没有实施SOA或还对SOA只停留在了解层面上的CIO而言,可能会有些失望。符合SOA理念的IT环境如果不能让CIO从此忘掉技术参数,直接和业务需求对话的话,那么SOA并没有超出系统优化、系统集成、封装构件或流程这些技术范畴太多。
说到底,对于中外运和伍德沃德来说,采用SOA的第一推动力是IT系统改造的需求,而不是所谓的业务灵活性。实际上,在张思宇博士看来,即使是Garnter提出的给遗留系统“穿外衣”的SOA概念也难以实现,于是,中外运最终还是选择开发新的核心业务系统。
“CIO采用新技术和新理念的动力有两个,一个是希望,一个是恐惧。对于SOA,我从来没有恐惧过”
熵增中的企业IT
要让日益复杂的IT环境化繁为简,SOA也许是通向“统一”的道路之一
SAP中国研究院院长芮祥麟说:“技术创新所带来的收益是线性的,业务流程上的创新和优化会带来几何级数的增长。”很多CIO都认为这句话非常有道理,但就此认为SOA会直接带来业务流程上的创新,未免夸大了SOA的作用。实施了SAPR3的广东电信,如今在考虑系统升级时非常谨慎,“企业IT的投资回报率很难量化,我们希望看到国内出现更多的SOA成功案例后,再做打算。”广东电信战略策划部经理刘志军说。事实上,等待SOA成功案例的IT负责人不只他一个人。BEA的高级副总裁WaiWong也建议正在观望SOA的CIO多关注一下本行业成功的SOA实践。
和广东电信的情况非常相似,伍德沃德在2005年进行SOA选型时,也曾考虑过SAP的NetWeaver平台,他们最终放弃SAP 的原因除了投入外,还因为伍德沃德的产品将直接用于美国F16、F22 等战斗机发动机的控制器,整体将WISE迁移到SAP 的产品上,给业务流程带来的风险有些大。从伍德沃德的SOA 故事中,可以看出CIO 应该把软件系统升级改造的风险控制在技术层面上,要避免扩散到业务流程上。“其实,我们很多流程都还没动,先把企业IT 环境搭建起来再说。”张嵩说。
这是在这次调研中,国内CIO对SOA最主流的声音——“现在还没有实施SOA的业务需求。”事实上,在大量对SOA表示认同的CIO看来,目前组织的业务需求还远没复杂到非要采用某种关键性技术或产品来满足的地步。CIO们对于SOA的好感,更多还是考虑到未来业务需求如果突然而至,希望具备SOA 能力的企业IT 环境能够帮上忙。
对于国内CIO而言,与其将企业业务灵活性叠加在SOA身上,不如将SOA还原为搭建更符合现代企业发展所需要的IT环境的一个重要工具。二三十年前,企业在早期IT应用时,IT仅是支持存储和批量作业的工具,软件开发技术也只能实现对计算机系统底层硬件的直接调用。而到今天,各种企业IT的高级应用已经可以帮助企业分析客户数据、预测市场趋势,软件开发技术也发展到功能组件封装、集成软件总线。在这个演化过程中,一个最明显的变化就是大量“信息孤岛”的出现,将企业的IT 环境变成一个大杂烩。时下,很多CIO已经开始通过IT治理、ITIL 等手段像管理企业一样对IT组织、资源进行管理,SOA 是CIO 考虑采用的一个手段。
此外,SOA在技术层面也尚未成熟,不仅在效率、标准上还没有突破性进展,甚至在概念上也比较混淆。前不久,在普元软件公司组织的一次goCom技术论坛上,一位演讲者试图告诉听众SOA将是解决未来企业IT复杂性的不二法宝。在听完他的演讲后,在座的听众就问:“如果把你刚才话里出现的SOA’,全部替换成‘EAI’,是不是也一样成立?”这个问题让在座诸人陷入了思考。对这个问题,CIO可以从自己的角度得出答案,但这些答案一旦汇集在一起,模糊而难以统一。
今年9月,包括BEA、IBM、SAP等18家IT厂商开始坐下来认真思考SOA的发展方向。他们共同成立了SOA标准联盟,希望能够将各厂商“自己的SOA产品”推向“大统一”的SOA。按照他们的说法,SOA标准的建立类似于在企业软件领域形成了一个如同TCP/IP这样的互联网协议。“在两三年后,整个标准化工作将会完成。”芮祥麟说。但在商业社会中,确立技术标准的过程就是你死我活式的实力和利益的博弈大战。这个大战一天硝烟未落,CIO 们就有观望的理由,作为SOA的潜在受益者— CIO 肯定不愿意成为概念与标准的试验品。
熵增中的企业IT,其实最大的熵变是企业IT这个巨大的市场,正如普元软件公司CTO程朝晖所说:“任何一代技术架构变化,都会催生一个巨大的市场。”IDC有分析指出,今年与SOA相关的服务市场将达到86 亿美元,比去年增加了一倍,到2010年时这个市场会达到340 亿美元,SOA 将是软件市场发展的方向。不过,只要是未来就有变数,减少变数的最佳方法恐怕就是尽量还原通往未来的那些路径。
软件能力≠业务能力
没有任何一家软件公司会宣称自己的产品永远不会过时,除非他们暗示其所提供的产品拥有“普遍适用”的软件能力。
要证明这种“能力”的存在相当困难,至少在纯技术层面上几乎不可能。二三十年来,CIO们一直试图通过引入企业级的IT标准能让这种能力兑现。从上世纪80年代大行其道的企业数据模型(Enterprise Data Model,EDM),到上世纪90 年代的企业软件总线(Enterprise Software Bus,ESB)浪潮,一直到企业应用集成 (EnterpriseApplication Integration,EAI)技术的昙花一现。这种可以类比于“工业革命后制造业所产生的标准工艺、齿轮”的软件服务标准,似乎仍然在软件工程师的图纸上,而没有来到现实中。
我们不得不面对一个事实——企业信息化所面临的难题并非是技术性的,而是业务性的。要理解在企业级计算领域,技术发展为什么不能直接给组织带来突破性的应用创新并不难。这是因为大型商业软件的开发、实施、维护必须贴近客户,实施一套ERP系统会耗费企业一两年甚至数年时间,大型商业软件公司的工程师和咨询人员必须要耐心地与用户的决策层、部门主管、普通员工进行反复交流,听取他们的意见并培训他们。而其他软件开发领域的情况则完全不同,一家网络游戏公司完全不用为喜欢上网打扑克牌的家庭主妇召开研讨会,改进软件功能。
由此可见,企业级IT应用缺乏的不仅是把“软件服务适应业务需求”的复杂过程降到技术架构的工具,更缺少在实施过程中同时具有集中高效又松散灵活的流程与策略。SOA似乎具备了这种“能力”,因此其拥趸称SOA可以横跨在技术和业务之间,第一次将“技术实体”和“业务实体”对等起来。SOA可能承载这种普适能力,使得拥护SOA的软件公司从一开始就不是一两家,而是整个行业不约而同地集体“膝跳反射”。在他们看来,如果SOA 意味着一个新的软件时代,那还不如早点抛出橄榄枝。尽管不是所有的软件公司都有实力迅速发布SOA软件产品,但既然同行都已经“SOA 化”了,自己不表个态就是落伍。
但是所谓“企业必须拥有的业务灵活性”到底灵活到什么程度才算够?而什么又是检验这种普适能力的标准?
这个问题击中了所有的人。我们在思考软件技术和企业信息化发展之际,应该反思一下我们是否预设了太多“假设前提”。不可否认,全球商业环境几十年来的演化过程中,IT扮演了重要的角色,它也逐渐成为企业的核心资产。各种实时企业、虚拟企业的形成,新产品、新服务像“传送带上的产品”一样出现,已经无法脱离IT的支持和推动。但是如果没有理性的判断和精确的分析方法,任何IT创新都可能导致代价极为昂贵的错误投资。
很显然,在短时间内,再精明的CIO也无法辨别“炒对一个概念”和“炒一个对的概念”的区别。因此,软件厂商如果想证明“软件能力=业务能力”,那就请回答这样一个简单的问题——企业的所有流程都被改造成可以随时组装的服务,运行在一个“普遍适用”的大平台上,而各种“服务”的资源库又无限大,取之不尽,用之不竭,那是否意味着一家生产拖拉机的公司在发现了新经济浪潮中的金矿后,就可以大喊一声“汽车人变形”,迅速地化身为另一家企业呢?
答案显然是否定的。那么,如果没有企业可以成为变形金刚,那企业拥有普适的软件能力也不过是多了一把“屠龙刀”。