SOA和WebService分道扬镳

2008-9-4    | |
打印本文章
RSS

导读:回顾SOA和Web Service的历史,展示了一段非常有趣的曲折婚姻,由于Web Service在将SOA引到台前中发挥了关键的作用,即使SOA现在已经超出了Web Service可以提供的范畴。

关键词:SOA Web Service 业务流程

正在加载数据... 【TechTarget中国原创】回顾SOA和Web Service的历史,展示了一段非常有趣的迂回曲折的婚姻,由于Web Service在将SOA引到台前中发挥了关键的作用,即使SOA现在已经超出了Web Service可以提供的范畴。

【TechTarget中国原创】可能在市场上围绕着面向对象的架构(service-oriented architecture,SOA)误解最深的是SOA和Web Service是同一个概念。这个误解传播的很广,影响了架构师和开发人员、咨询师和厂商等。但是尽管ZapThink不断的在日常的事务上澄清很多问题,这种误解还是存在于一些匆匆检查中无法轻易辨别的细微之处。结果,仅仅站起来喊一下“SOA是组织IT资源更好的满足业务不断变化的需求的一种方法!”“Web Service是基于标准的、协议化的软件功能和数据的接口!”是远远不够的。毕竟,如果仅仅是关于不同术语的各自定义的问题,那么这种误解早就消失了。所以,为什么这么基础的误解至今还困扰着我们?我们该做些什么来解决这个问题并最终取得进步呢?对这两个相关、但是各自不同的概念的历史进行简要回顾将有助于澄清这个差异。

  最初SOA和Web Service是捆绑在一起的

  表明SOA和Web Service是不同的概念的第一个证据是SOA在Web Service出现之前早已存在。早在1990年,像公用对象请求代管者体系结构(Common Object Request Broker Architecture,简写为CORBA)和微软的分布式组件模型(Distributed Component Object Model,缩写为DCOM)的分布式计算方法都是以一种协议的方法抽象软件功能的架构方法,能够提供一定程度的松耦合性,提供比使用其他方法的紧耦合性接口的架构更大的灵活性——换句话说,它们是面向服务的。虽然CORBA和DCOM都在市场上获得了一定的成功,但是DCOM明显就是一家厂商的架构,而COBRA虽然表面上是厂商独立的,但是在实施中还是和厂商有关,因为CORBA不同的厂商的实现被证明是互相不兼容的。

  这个故事还算不上有趣,直到1990年代的后期,当时一些厂商达成了两点基本的共识:第一,SOA的方法不会提供真正的灵活性,除非它是与实现独立的,第二,相对较新的可扩展标记语言(eXtensible Markup Language,XML)会成为理想的消息协议,即使它的最初的目的是作为文档标记语言。这些观点导致了多家厂商的标准的努力并最终确立了为Web Service提供基础的规范的核心:Web Service 描述语言(Web Services Description Language,WSDL),统一描述、发现和集成协议(Universal Description, Discovery, and Integration,UDDI)和简单对象访问协议(Simple Object Access Protocol,SOAP)( 现在已经不是这个的缩写了, 因为访问对象已经没有意义)。

  SOA由三个标准支持的“发现-绑定-发布”三角的早期工作主要集中在商业对商业(business-to-business,简称B2B)的应用上,同时还有全球的“green pages”目录,它允许对整个Internet上商业Web Service的自动发现和绑定。问题是,没有人愿意按照这样的方式来做业务。实际上从黄页上选择一个水管工都十分冒险,所以还有谁会自动化流程,在系统之间增加任意的交互?结果,作为.com繁荣期末尾的“Web 1.0”B2B电子商场趋势的失败的一小部分,这个早期的SOA的B2B计划失败了。

  Web Service唱主角

  虽然疯狂的.com的终结和随之而来的IT的衰退打击了很多标准的制订工作,但是我们将2002-2003期间称为Web Service的黄金时代。厂商们意识到在艰难时期唯一有希望产生业务的故事就是节约成本的方案,并且Web Service有一个伟大的特点:降低集成的成本。从私有的接口转到基于标准的接口,想想你可以节约多少钱!虽然那些日子里标准还远不是成熟,但是至少商业案例对于投资者而言已经足够美妙了,这些投资者都在泡沫破灭的回忆中战战兢兢并且寻找新的机会。就这样,Web Service的市场诞生了。

  当然,凭借着早期对于Web Service技术和趋势、XML&Web Service安全、面向服务的管理和测试Web Service等报道,ZapThink又一次领导了Web Service的潮流。并且,早在2002年二月当我们在《XML and Web Services Unleashed》书中讨论架构的时候,我们建议那时的厂商不要谈到SOA,因为市场还没有准备好SOA所代表的更加复杂、以商业为中心的逻辑。相反,这些报道以Web Service架构为中心,该架构是基于标准的集成方法。

  并且,回顾2002年的时候,我们意识到在那一年6月的面向服务的集成报告中有一个在今天来看都是预言性的一个基本的真理:虽然Web Service单独就可以降低集成的成本,只有转移到SOA方能降低组织机构的业务变化的长期成本。换句话说,Web Service让你获得了去舞会的入场卷,但是你还要学会跳舞。

  Web Service黄金时代的结束

  随着SOA的讨论开始增加,Web Service则进入了挑战的青春期。支持WSDL、UDDI和SOAP并不能保证互操作,并且也不足以标准化随机的系统对系统之间的交互的复杂性。这些限制导致了两方面的努力:Web Service互操作组织(Web Services Interoperability Organization,缩写WS-I),它致力于提供标准的互操作,和其他各种后续的标准,其中很多都被用术语WS-*来概括(发“WS star”的音,*在老的Unix中表示“一切”)。这些努力,当然,会花费时间,并且随着各种标准的正文都是由各种厂商用自己的计划来填充的,整个情况就开始变的复杂的、政治的泥潭,而这些并没有给试图降低集成成本的组织结构提供些许的真正的互操作。结果,Web Service并没有达到原有的期望,而现在也越来越成为SOA故事的边缘部分了。

  事实上,当许多IT产品厂商看到SOA井中的黄金之后,Web Service的花车慢慢的没落了。这些厂商开始拍着他们产品上的Web Service接口,叫嚷着这是面向服务的,这种方法无异于给小猪画上口红。事实上,对应用或者数据库的Web Service接口,或者是在私有消息中间件上的Web Service适配器,都不算SOA的。

  同时,在我们的SOA工具和最佳实践以及面向服务的流程报道中,ZapThink指出以商业流程为中心的SOA是企业架构,并且在2004年,我们开始建议厂商的广告要集中在SOA上而不是Web Service。我们为如今的企业所绘制的图景要比直接采取Web Service更加具有挑战性,因为SOA包括对业务如何从很多不同的方面来利用IT的重新思考。Web Service仍然是故事中的一部分,但是如今很清楚的是Web Service不是SOA的核心,并且更进一步,SOA并不需要Web Service。

  ZapThink的行动

  因此,2007年的故事是将Web Service从SOA中分离。我们在SOA环境中所谈到的服务要比开发人员用来支持组织机构的互操作要求的某个接口标准具有更高的抽象级别。很多这样的服务是Web Service,但是很多并不是。此外,很多Web Service的应用发生在SOA的环境之外。事实上,很多这样的应用是B2B,重新回到了Web Service最开始的景象(虽然很感激,没有了green pages)。并且,大部分这样的B2B Web Service仅仅是基于标准的应用编程接口(API),缺乏提供松耦合、位置无关和业务敏捷性的架构。此外,有很多的组织机构想尝试实施SOA,但是仅仅是实施了Web Service,造成了和架构毫无关系的冗余的、不兼容的、常常是无法管理的服务。

  回顾SOA和Web Service的历史,展示了一段非常有趣的迂回曲折的婚姻,由于Web Service在将SOA引到台前中发挥了关键的作用,即使SOA现在已经超出了Web Service可以提供的范畴。并且,我们的任务还没有完成,因为围绕着Web Service和SOA还有太多的误解需要澄清。可能最大的挑战就是建立一种观点,SOA是关于业务流程的,而不是集成的。只要厂商还在利用他们的软件对SOA的成功非常关键这样的错误观念来销售集成软件,这种挑战就存在。

查看全文
 
SOA为管理软件升级提供了发动机。架构在平台化、组件化的SOA软件技术架构,为满足企业多组织需求提供了可能。   
 
在经典软件工程理论中,不管是瀑布方法还是原型方法,都是从需求分析做起,一步一步构建起形形色色的软件系统。但是,需求变更像一个挥之不去的阴影,时刻伴随着系统左右。
 
BPM供应商融合BPM和SOA的工作已经进行了一段时间,以集成为中心的业务流程管理套件(IC-BPMS)供应商已将支持深化至SOA的核心集成服务器。
 
先建立BPM还是SOA优先,这是个类似鸡和蛋的辩论。没有确定的业务流程,企业就无法为业务建立可重复使用的服务;没有服务层,企业也无法重复使用业务流程。
 
此外,如某一公司没有进行必要的治理,则BPM与SOA的价值会不断减少,甚至完全消失。因此,那些缺乏自我约束机制的企业会在转型过程中倍感艰难。
现在是SOA领域动荡变化的时期,其发展变幻莫测,而这仅仅只是开始。由于服务设计、服务总线、服务治理甚至服务本身都处于不断变化中,而且各大公司仍在重审这一舞台,因此,人们的立场通常很复杂。要知道,SOA并不是天上掉下来的馅饼,企业实施SOA必须具备一定的条件,关注SOA使用中存在的隐患,做到深谋远虑,否则很难实施成功。
外包就是企业扬已所长,做自己最能干的事情;同时避已之短,把其它的工作外包给能做好这些事情的专业组织。外包业是新近兴起的一个行业,它为企业带来了新的活力。外包将您解放出来以更专注于核心业务。外包合作伙伴为您带来知识,增加后备管理时间。一项研究显示,外包协议使企事业单位节省9%的成本,而能力与质量则上升了15%。
未来数月的IT业,经济衰退仍将如影随行——或许远不止此——各企业纷纷勒紧裤腰带,大幅减少IT预算。在他们看来,以最有限的资源换取最大的投资回报是当下最精明的办法。CIO如何在经济低潮期削减成本,在帮助公司IT部门安度低迷期的同时进一步推进其发展呢?
最新更新
技巧
 
ERP实施是一项艰巨而复杂的高技术工作,实施项目成功与否,人的因素是第一位的。ERP项目几乎涉及到企业方方面面的所有人员,因此要完成这项工作,就必须要提高所有……
 
在ERP的实施和运维工作我们会遇到疑问和困惑,我们应该怎么解决?本文总结了在实际项目的实施过程中所遇到的六大问题。
 
工具和方法都已准备妥当,那如何将其与企业的独特需求结合起来并落地实现呢?需求的实现将通过ARIS系统平台与SolutionManager系统协同应用来实现……
 
流程驱动的SAP ERP实施方法在横向时间轴上,主要由战略、业务蓝图设计、实施上线和运行控制四个阶段构成,项目实施工作内容由表及里、由此及彼不断扩展……
 
如何更快更好地实施ERP项目?如何提供可靠的运维保障、充分挖掘ERP系统的潜力和价值?这些已经越来越成为ERP项目管理的关键命题。

登录TechTarget中国

关闭
本服务仅向TechTarget中国的会员开放,请登录或立即免费注册
登录Email
请输入您的登录Email
密码
下次自动登录