7月QCon广州站2022,关注Web 3.0、数据架构选型、数字化转型等热门话题,点击了解 了解详情
写点什么

SOA != Web 服务

  • 2007 年 7 月 18 日
  • 本文字数:1551 字

    阅读完需:约 5 分钟

许多人将 Web 服务和 SOA 划上等号,并把它认为是实现 SOA 的唯一选择。对此,Jason Bloomberg 并不同意。最近,他发表了关于“拆散 SOA 和 Web 服务的联姻”的意见。

认为 SOA 和 Web 服务是一码事,可能是市场中围绕面向服务架构(SOA)最令人恼怒的误解。不幸的是,这个混乱的观点非常流行,它对架构师和开发者都造成了影响,咨询师和厂商也不例外。

Jason 并不是第一位说 SOA 不等于 Web 服务的人——决对不是,在他之前就已有很多人这样说过。如,看看 2006 年 InfoQ 的就企业 SOA 对 John Crupi 所做的采访,或我们的就 SOA 对 Frank Leymann 所做的专访,专访中他说到:

FL:我们必须清楚地区分 SOA 和 Web 服务规范——有时,两者被混为一谈:SOA 是架构,而 Web 服务规范则定义了一个支持 SOA 的互操作平台。

SOA 不是全新的。在实际中,SOA 的一些个别方面已被使用很长时间了。如,拿“松耦合”来说:多年前,企业就使用可靠消息传递技术来集成应用,即,使它们之间解耦。请不要误解我,在 SOA 中也有新概念,如组合装配在 SOA 中的概念而产生的那些新概念,也就是说,它们是逐渐产生的。

Web 服务规范使相应的技术能够有效的跨平台。也就是说,相应的规范基本上不会发明新的概念,而是定义这些概念及它们相应的实现如何在异构环境中工作。结果是互操作性破茧而出,SOA 成为现实。

关于 Web 服务与 SOA 既不是一回事也不相同的事实已不是什么新闻了。有趣的是,Jason 试图让我们看得深入一些。一个原因似乎是分析公司自己——正如 Jason 所指出的:

当然,凭借早期关于 Web 服务技术和趋势 XML & Web 服务安全面向服务管理,以及测试Web 服务的报告,ZapThink 在Web 服务领域乘风破浪。可是,尽管早在2002 年2 月我们 XML 和 Web 服务揭秘 一书中就已讨论了架构,但当时我们建议厂商不要谈论 SOA,因为市场尚未为 SOA 所代表的更复杂的、以业务为中心的主题做好准备。相反,鼓噪之声集中于 Web 服务架构,它基本上是基于标准的集成方法。

自然地,Jason 也说 ZapThink 恢复得太早了:

可是,回顾 2002 年,在那年 6 月我们书写面向服务集成报告的时,我们意识到一个在今天看来都是预言性的基本事实:尽管单独使用 Web 服务可以降低集成的成本,但只有转向 SOA 才能让组织降低业务变更的长期成本。换句话说,Web 服务给了你一张舞会的门票,但你仍需学习跳舞。

按照 Jason 的说法,其他的罪魁祸首是技术厂商自己:

事实上,在众多 IT 产品厂商看到了 SOA 井中的金子时,Web 服务的花车就开始没落了。这些产商开始拍着它们产品上的 Web 服务接口,声称它们是面向服务的,这种做法就象给猪抹口红一样,没什么价值。事实上,对应用或数据库的 Web 服务接口,甚至是专有消息中间件之上的 Web 服务适配器,都不是 SOA。

Jason 认为,现在是更好地分离这些概念,并让 SOA 在更高抽象级别演化的时候了。但不是所有人都同意 Web 服务应该从 SOA 中分离。如, Frank Cohen 认同它们是不同的术语,但也认为它们关系紧密

SOA 和 Web 服务是非常有用的愿景,它帮助我们从当前的 XML、平台、应用和服务(我称之为 XPAD 运算)走向未来。多年来,IT 一直想要获得这种互操作性、重用和治理,包括在这方面所做的努力,如 CORBA、OpenDoc、DCE、Client/Server、Web 1、Web 2.0 和企业 Web 2.0。所有那些努力都能提供一个组件架构,在其中软件可被重用加速企业获得市场先机,接着为企业提供更好的消费者意见。

SOA 保留了 WS 组件的思想,关注用于业务工作流的组合应用,并为了静态代理端点,编排治理、业务问题、排错和质量服务(QOS)而丢弃了发现服务的思想。

对我来说,有时企业架构师和技术经理误解 SOA 和 Web 服务的一些术语,没什么大不了的。

你的想法是什么?使用 SOA 来标识 Web 服务是个问题吗(反之亦然)?

查看英文原文: SOA != Web Services

2007 年 7 月 18 日 20:332233
用户头像

发布了 255 篇内容, 共 50.0 次阅读, 收获喜欢 8 次。

关注

评论

发布
暂无评论
  • 我们高呼的下一代微服务 Service Mesh 到底是什么?

    考虑到有的同学之前可能没有接触过 Service Mesh 这个概念,所以这里我先对 Service Mesh 做一个简单介绍,作为后续内容的基础。

    2018 年 3 月 17 日

  • 专访与书摘:Nicolai Josuttis, "SOA in Practice"

    InfoQ发布了Nicolai Josuttis的新书《SOA in Practice》的样章。InfoQ对作者进行了采访,内容涉及他对SOA的看法,业界对它的一些主要误解和SOA的关键成功因素。

  • UDDI 和 FWSI 技术委员会宣布关闭

    OASIS宣布UDDI和FWSI技术委员会已经关闭并完成了使命。

  • OASIS 研讨会:SOA 中的可组合性

    OASIS即将举行为期3天的研讨会,主题为“SOA中的可组合性”,会议的地点位于加州的Santa Clara,时间是4月28号到4月30日。来自厂商和最终用户公司的工程师和科学家将讨论的主题包括:Mashups、面向服务的Ajax(Service-Oriented Ajax)、SCA、BPEL、SDO、BPM、Web服务事务、SOA中的数据安全、SOA参考架构……

  • IBM WebSphere 拥抱 REST

    在Connect09分析师会议上,AIM(应用集成与中间件)的总经理Craig Hayman主持了题为联邦连接性——企业内外的智慧集成的会议。谈到这一会议,来自RedMonk的业界分析师James Governor表示,“上周四我说我正在努力总结IBM的Connect09分析师会议。直到现在我都还在做这件事呢”。

  • 与 WOA 融合——走出 SOA 困境

    在Dion Hinchcliffe的这篇新文章中,评估了SOA的现状,重点关注了减缓SOA施行的相关阻碍。他同时建议采纳WOA来改善现有的状态。

  • 十年 SOA:当前的位置和未来的方向

    SOA 10岁了。在这次虚拟研讨会中,InfoQ聚集了几位经验丰富的企业架构师来分享他们的观点,他们是:Jeff Andre,Eric Ballou,Dave Hollander和William El Kaim。他们谈到了重用、业务/IT对齐、治理……

  • SOAP 协议栈是令人尴尬的失败?

    关于REST vs. SOAP的争论已不是什么新鲜事了。然而,XML权威Tim Bray近期关于SOAP协议栈是令人尴尬的失败的言论再次引发了这一争论。

  • 跨越现实的障碍(下):架构分层就对了吗?

    分层架构的问题就在于如何处理领域层与基础设施层的关系上,所以我们应该重新思考分层架构是否正确,以及怎么分才更合理。

    2021 年 7 月 6 日

  • SCA 访谈

    自从SCA于2005年发布面世以来,它已成为许多热门讨论的主题。在2007年,这些规范被捐献给OASIS并且创建了OpenCSA论坛。最近,这些OpenCSA成员举行了第一次全体大会,同时举行了首次标准工作组的面对面会议。我们有机会就SCA、标准化和应用这些话题采访部分与会者。

  • Dino Chiesa 谈微软的 SOA 策略

    微软通过架设一个新的SOA网站、开设一系列在线研讨会、发布电子书《真实世界的SOA》和举办“SOA暨业务流程大会2007”等动作加强其在市场上的销售成果。在未来两、三个月里,微软将发布.NET 3.5和ESB指导手册。InfoQ采访了.NET的市场总监Dino Chiesa,以便更好地理解微软的SOA策略。

  • REST 比 WS-* 更为接近 Web

    Bill Burke,RESTeasy项目的箭头人物,谈论了为何REST比Web服务更加接近Web的目标并且让你能在正确的层次上去关注互操作性,而不必担心WS-*标准所遭遇的那些问题。

  • 19|如何将模型实现为微服务?

    在我看来,行业内做伪微服务的人多,而做真微服务的人少。很多问题不值得去解决,因为没有将问题定义清楚。而一旦明白什么是真微服务,大多问题都变得不言自明。

    2021 年 8 月 14 日

  • ESB 这个词到底是什么意思?

    微软Connected Systems部门的程序经理Nick Allen在他的博客中收集了对ESB的几种定义,并澄清了微软在这个问题上的立场。

  • 当 DDD 遇上 DCI(Data, Context, Interactive)架构模式

    2019 年 7 月 26 日

  • 为什么 Netflix 没有运维岗位?

    在运维这个细分领域,Netflix是最佳实践的典范。今天我们一起来看Netflix是如何定义运维以及如何开展运维工作的。

    2017 年 12 月 20 日

  • 书摘与采访:SOA 100 问 - 问与答

    Kerrie Holly和Ali Arsanjani编著的《SOA 100问:问与答》一书深入解析了SOA,它涵盖了很多SOA相关的话题,包括SOA基础知识,它对业务及组织的影响,SOA方法与架构以及SOA的未来。InfoQ就这本书采访了作者Kerrie Holley和Ali Arsanjani。

  • 华为云区块链服务技术决策和落地实践

    2018 年 9 月 12 日

  • ESB 拓扑方案

    在本文中,Adrien Louis讨论了两种基于ESB的SOA拓扑方案的优缺点:单个公司级ESB vs. 彼此互联的“部门级”ESB系统。Adrien讨论了每种方案对管理、业务监测、治理、可靠性和编配等问题的影响。

发现更多内容

目标检测之ASFF

Dreamer

第7周作业

paul

第七周学习心得

熊桂平

极客大学架构师训练营

每周学习总结_第一周

mkmonkey

【架构师训练营 1 期】第七周作业

诺乐

第七周 性能优化 作业二

应鹏

极客大学架构师训练营

【架构师训练营第 1 期 07 周】 学习总结

Bear

极客大学架构师训练营

性能压测

7.3性能优化:系统性能优化的分层思想

张荣召

第七周 架构方法学习总结

兵长

架构训练营

7.6案例:异步并发分布式编程框架akka

张荣召

学习笔记 --week07

张荣召

极客大学 - 架构师训练营 第八周作业

9527

Spring 自调用事务失效,你是怎么解决的?

程序员小航

Java spring 事务 事务失效 Transactional

与前端训练营的日子--Week02

SamGo

学习

7.4操作系统:计算机如何处理成百上千的并发请求?

张荣召

架构师训练营第七周学习总结

文智

极客大学架构师训练营

架构师训练营第七周作业

文智

极客大学架构师训练营

7.1性能测试:系统性能的主要技术指标

张荣召

7.2全链路压测的挑战

张荣召

第七周作业

熊桂平

极客大学架构师训练营

springboot 热部署

hepingfly

Java springboot SpringCloud 热部署

架构师训练营第七周命题作业

一马行千里

极客大学架构师训练营 命题作业

第三周作业-学习总结

jingx

链表最快的排序方法、Jupyter Notebook安装、Gremlin入门、python3 请求数据、John 易筋 ARTS 打卡 Week 25

John(易筋)

ARTS 打卡计划 链表快速排序 jupyterNotebook python3 请求数据 gremlin 入门

食堂就餐卡系统设计

mkmonkey

极客大学架构师训练营

#链表# #快慢指针#

玉皇大亮

链表 快慢指针

7.5锁:锁原语CAS

张荣召

【架构师训练营 1 期】第七周学习总结

诺乐

第七周 性能优化 作业一

应鹏

极客大学架构师训练营

8张图带你分析Redis与MySQL数据一致性问题

bigsai

MySQL redis 数据一致性

SOA != Web服务_SOA_Arnon Rotem-Gal-Oz_InfoQ精选文章