2025上半年,最新 AI实践都在这!20+ 应用案例,任听一场议题就值回票价 了解详情
写点什么

争论:SOA 已死?

  • 2009-01-11
  • 本文字数:2369 字

    阅读完需:约 8 分钟

Anne Thomas Manes 为 SOA 写了一篇讣告,声称

2009 年元旦,SOA 遭遇死亡,经济衰退的灾难性影响彻底摧毁了它。SOA 由其后代得以延续:mashups、BPM、SaaS、云计算及其他依赖“服务”的架构方法

她接着说:

SOA 曾被认为是 IT 的大救星,现在却证明是一项极其失败的试验——至少对于大多数组织而言如此。SOA 被认为能大规模降低成本和增加机动性。但除了极个别情况,SOA 并未兑现它承诺的好处。在投资百万后,IT 系统并未得到改善。许多组织的情况更糟:成本增加、项目延期,系统比以往更脆弱。手握钱袋的人们对此已感到厌倦。鉴于 2009 年的预算紧缩,许多组织消减了他们 SOA 项目的资金。

尽管 SOA 最初主要被技术人员接受,但就其本质而言,它是业务而非技术问题。又由于是技术人员和产品提供商引入(并且往往执行)了 SOA,他们对 SOA 技术(软件销售)的关心要多过对其本身业务影响的关注:

人们忘记了 SOA 的目的,沉醉于愚蠢的技术争论(如,“最好的 ESB 是什么?”或者“WS-* 火拼 REST”),却遗忘了重要的内容:架构。

由于无法快速地展示其 ROI,导致许多业务决策制定者对 SOA 敬而远之:

SOA 的衰弱导致了 SOA 的幻灭。业务人员不再相信 SOA 会带来可观的收益。“SOA”已经成了过街老鼠。它必须从我们的字典中消失。

这意味着 IT 界的滑铁卢:

SOA 的灭亡是 IT 界的悲剧。组织迫切需要给他们应用程序集合进行架构性改进。面向服务是快速集成数据和业务流程的先决条件;它使环境开发模型(如 mashups)成为可能;它还是 SaaS 和云计算的基础架构。

那么接下来会怎样?根据 Anne 的说法:

尽管“SOA”一词已死,但是对于面向服务架构的需求比以前更迫切了。

她建议停止讨论 SOA,开始讨论服务(可是她并未清晰定义该词,因而为解释和误解创造了条件)。

该文无疑在该领域的思想领袖中引发了极大争议。

David Linthicum 分析了出现的问题,解释如下:

  • 缺乏理解 SOA 的熟练架构师。
  • 大咨询公司更关注战术和时间计费而非结果。
  • 厂商过分关注销售,对解决方案却关注不足。
  • 大肆渲染 SOA 是所有 IT 困境的灵丹妙药

Joe McKendrick 表示 SOA 是一种架构风格而非产品:

成功的 SOA 是变革过程中的一部分,该过程将改变组织被管理和做业务的方式。并且一些组织似乎立刻就“得到了它”。然而,大多数公司可能认为 SOA 更像是 JBOWS(Just a Bunch of Web Services,只是一堆杂乱无章的 Web 服务)架构。SOA 是一种方法论和哲学。SOA 所用的技术和方法混合体会发生变化。几年前,这种方法是 Web 服务,昨天它成了 REST 和 Web 或企业 2.0,今天则是云计算。SOA 的妙处就在于它必须独立于底层的技术或协议。

Miko Matsumura 支持 Anne 对改变术语的建议,但强调 SOA 概念,尤其是 SOA 的业务维度肯定会延续下去:

我认为把 SOA 作为术语使用迟早要到头,但是解决根本问题的策略将不得不脱离 SOA“潮流”继续演变。在 SOA 死亡的同时,SOA 也必然会被一个不同的名字所替代。大组织的 DNA 会需要接口根据实现方式对需求进行适当地分割,而 SOA 的设计模式恰恰能实现企业、多企业和真正的“云”平台长期愿景。任何像 SOA 这样的术语必须经历这种炒作的循环,并经历语言上的神化、实现、试验、最终到达术语的疲劳程度。SOA 有一个特别的“大杂烩”议程,因此众多拒绝离开它的人们沉浸在 SOA 将打救他们的希望之中。坦白的讲,我认为“云”也会出现同类模式,这说明它是个不太容易定义的技术词汇,反而是一系列政治利害和一系列的内幕和实现联系在了一起。

他对反应也提出了警告,在 IT 最近的历史中它是如此的司空见惯:

对经济的担心应该让位于成为我们必需品的项目。反射性情绪反应的时代但愿能遗留给 2008 年(或是 2009 年上半年),并且我们能并肩前进来重新规划和重建我们的基础设施。为了实现这个宏伟愿景,我们需要每一个人都必需做出改变。

Steve Jones 这样解释 Anne 的言论:

由于向你兜售了足够的废物,厂商正在离 SOA 而去。现在,他们又想向你倾销它的后代:mashups、BPM、SaaS 和云计算……现实情况是,服务在现阶段其实比其他时候更重要。这并不是说 SOA 已死,它意味着在无法销售更多的 ESB 和 Web 服务工具时,市场对 T-SOA(译注:Technology-SOA,技术性 SOA)不再青睐。剩下来的,SOA 的服务所带来的事实是 SOA 的起点不是那些绚丽的技术;如果你采用新的技术,而不具备服务的心态,那么你就会制造一定程度的混乱,结果会轻易地让咨询师和提供商利用 EAI 而大发横财。在防火墙内部、大型应用之间制造混乱是一方面,在因特网上通过成千上万个小应用这样做则是一个规模完全不同的问题。

接着,Steve 阐述了服务的定义,提倡“业务优先”的方法,并把服务定义成“为他人使用而暴露的功能”:

……你需要发现你的服务、理解它们交付的业务价值、理解交付该价值的成本模型,最终决定正确的技术方法

另一方面,Nick Gall不同意 Anne 指出的方向(“服务万岁”):

作为传统的理解,正是服务思想导致了这场混乱,我们发现自己深陷其中:实体相关(服务)的接口导致的支离破碎。相反,我更愿意说“Web 万岁”。我对 Anne 的博文对 Web 提都没提表示非常震惊!

他引用了 Google、Amazon,甚至是 Salesforce 的成功,并且把这些成果归因于很大程度上利用了万维网架构、Web 社区和 Web 业务模型:“面向 Web”是快速集成数据和业务流程的先决条件;它使环境开发模型(如 mashups)成为可能;同时它是 SaaS 和云计算的基础架构。

最后,相似的观点来自于 Don Box 在 2005 年公开发表的预言,尽管它与本讨论无关,但却暗示了相似的结果:

SOA 一词终将废止,软件业会发明或重新利用同样模糊的术语来代替它。

务必请阅读 Annes 的原文

很明显,光靠改头换面可能无法解决当前SOA 的问题,但是有人可能会争辩说,重新关注SOA 中的架构和业务方面却可以。你怎么看?SOA 已死,或者依旧活力十足?

查看英文原文 Debate: Is SOA Dead?

2009-01-11 08:222129
用户头像

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

关注

评论

发布
暂无评论
发现更多内容

架构师训练营第十周作业

Hanson

架构师训练营第十周总结

Hanson

两数之和

书旅

数据结构 算法 数据结构与算法

架构师0期Week10作业1

Nan Jiang

什么是死信队列

Java旅途

RabbitMQ

第十周.总结

刘璐

作业二

Kiroro

作业一

Kiroro

python判断文件和文件夹是否存在、创建文件夹

陈磊@Criss

PIP的报错Could not fetch URL https://pypi.org/

陈磊@Criss

22种超全用户触点采集,易观方舟SDK又更新了

易观大数据

Grafana和ES打造的Nginx的仪表盘

陈磊@Criss

jmeter 执行python脚本

陈磊@Criss

推荐Scrum书籍

Bob Jiang

Scrum 敏捷

一文熟悉MySQL索引

书旅

MySQL 索引

架构师0期Week10作业2

Nan Jiang

看DLI服务4核心如何提升云服务自动化运维

华为云开发者联盟

Serverless 运维 运维自动化 华为云 DLI

高中生写LOL外挂1年狂赚500万,落网前刚买下120万保时捷...

程序员生活志

编程 程序员 外挂

环信助力OFashion迷橙开辟海外直播带货新通路

DT极客

Clover:解决Java8和Cobertura的问题以及解决方法

陈磊@Criss

弹性计算的内部概念:弹性扩张、弹性收缩、弹性自愈

陈磊@Criss

欲速也可达:Battle接口测试训练系统的1分钟快速说明

陈磊@Criss

一文读懂GaussDB(for Mongo)的计算存储分离架构

华为云开发者联盟

数据库 mongodb 数据 GaussDB 存储分离

Web前端性能优化,应该怎么做?

华为云开发者联盟

运维 大前端 HTTP js

5G从小就梦想着自己要迎娶:高速率、低时延、大容量三个老婆

华为云开发者联盟

5G IoT 通信 华为云 NB-IoT

架构师培训第10周练习

小蚂蚁

标新立异的日志归档:用更少的内存归档大规模测试日志

陈磊@Criss

吴桐:数字货币具有稳定的避险性吗

CECBC

区块链 数字货币 链政经济

第十周.命题作业

刘璐

如何有效防止sql注入

Java旅途

原创 | 使用JPA实现DDD持久化-R:数据的世界

编程道与术

Java hibernate DDD JDBC jpa

争论:SOA已死?_SOA_Dilip Krishnan_InfoQ精选文章