写点什么

争论: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:221928
用户头像

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

关注

评论

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

80、90童年回忆之小霸王游戏机网页版

echeverra

小霸王

Databend 开源周报第 113 期

Databend

什么是K-均值算法

小魏写代码

用 TDengine 3.0 碰到“内存泄露”?定位问题原因很关键

TDengine

时序数据库 内存泄漏 ​TDengine

OpenHarmony组件内状态变量使用:@State装饰器

OpenHarmony开发者

OpenHarmony

Hugging "Hugging Face"

数由科技

低代码 huggingface 大语言模型 huggingfists 多模态模型

如何正确使用多线程和锁机制来构建可靠的程序

华为云开发者联盟

后端 多线程 开发 华为云 华为云开发者联盟

运维 | Nginx Proxy Manager反向代理工具

Appleex

运维 nginx反向代理

Programming abstractions in C阅读笔记:p166-p175

codists

从问界单日7000台,聊聊智能汽车成熟时

脑极体

问界

深入浅出MySQL MRR(Multi-Range Read)

Java随想录

Java MySQL

IntelliJ IDEA安装教程

小齐写代码

精彩议程抢先看 | 第四届 CID 大会线下参会报名启动!

OpenAnolis小助手

云计算 架构 深圳 龙蜥社区 CID

Eclipse、IntelliJ IDEA、PyCharm三种IDE区别

小齐写代码

Python 元组完全指南2

小万哥

Python 程序员 软件 后端 开发

聊聊什么是厂商绑定

冯骐

开源 供应链 战略思考 技术 优化体系 厂商绑定

HarmonyOS应用窗口管理(Stage模型)

HarmonyOS开发者

HarmonyOS

当 FineReport 遇见 CnosDB

CnosDB

开源 时序数据库 CnosDB FineReport

Perforce发布《2023游戏开发与设计现状报告》,为游戏开发行业提供参考

龙智—DevSecOps解决方案

perforce 游戏开发与设计现状报告

全流程多元化适配服务,OPPO Android 14 适配率高达98%!

科技热闻

TE智库|《刻画未来的道路:中国服务机器人产业研究报告》发布

TE智库

服务机器人

软件测试/测试开发丨App自动化测试-弹窗异常处理

测试人

Python 软件测试 异常处理 弹窗

全国5000家金融单位将加入信创建设大军,未来数年发展关键期

没有用户名丶

六个为Rust构建的IDE

树上有只程序猿

rust语言

源码, AST, IR, CFG之间的关系梳理

华为云PaaS服务小智

云计算 软件开发 华为云

代码检查过程中为什么需要涉及到编译呢?

华为云PaaS服务小智

云计算 软件开发 华为云 代码检查

一款Redis可视化工具:ARDM | 京东云技术团队

京东科技开发者

redis 可视化工具 企业号10月PK榜 ARDM

六个实用的软件开发步骤

高端章鱼哥

敏捷开发 软件开发 瀑布开发

BOE(京东方)“照亮成长路”百所智慧教室落地偏远地区 携手故宫启动百堂公益课

科技热闻

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