【AICon】探索八个行业创新案例,教你在教育、金融、医疗、法律等领域实践大模型技术! >>> 了解详情
写点什么

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

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

关注

评论

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

单体分层应用架构剖析

京东科技开发者

架构 模块 应用架构 服务层 业务层

大数据培训应该怎么学习

小谷哥

JVM 核心知识体系

钟奕礼

Java java面试 java编程 程序员‘

A/B测试有哪些常见应用场景?——火山引擎DataTester科普

字节跳动数据平台

大数据 AB testing实战

即时通讯赛道开打信创牌,WorkPlus为何独树一帜?

WorkPlus

大数据培训应该怎么学习

小谷哥

观察者模式在spring中的应用

京东科技开发者

Java spring 编程 观察者模式

华为开发者联盟学堂上线超1800门课程,为开发者提供一站式赋能

最新动态

阿里资深架构师谈Java进阶攻略:7大技能+12份进阶笔记+面试150题

钟奕礼

Java 程序员 java面试 java编程

高管对上新老板的 Twitter

HoneyMoose

面试处处碰壁?不慌,Java核心面试文档.PDF助你披荆斩棘

钟奕礼

Java java面试 java编程 程序员‘

太全了!神仙级SpringCloud Alibaba笔记,从入门到实战,全方位讲解微服务技术栈!

程序知音

Java 微服务 Spring Cloud 后端技术

东莞理工学院-网安学院举办第二届“火焰杯”软件测试高校就业选拔赛颁奖典礼

测试人

软件测试 自动化测试 测试发开 测试比赛

金九银十已过,总结了阿里面试官常问九大项面试题!

钟奕礼

Java java面试 java编程 程序员‘

东莞理工学院-网安学院举办第二届“火焰杯”软件测试高校就业选拔赛颁奖典礼

测吧(北京)科技有限公司

软件测试

web前端培训学习后找工作难吗?

小谷哥

四项发明专利布局国际市场 申威睿思层级化数据库操作加速系统和方法获肯定

科技热闻

Spring6正式发布!重磅更新,是否可以拯救Java

宋小生

【实用工具】解决PCB设计难题,痛击风险漏洞!

华秋PCB

工具 PCB PCB设计

瓴羊DAAS体系结构,助力乔丹体育高质量增长

瓴羊企业智能服务

咱也不知道这份牛P哄哄的【Nginx实战】资料是不是你们想要的

钟奕礼

Java 程序员 java面试 java编程

目前看过最全的一线大厂面试题(题+详解),你所不知道的都在这

钟奕礼

Java java程序员 java面试 java编程

【Java经典面试800题】面试必备,查漏补缺;多线程+spring+JVM调优+分布式+redis+算法

程序知音

Java java面试 java架构 后端技术 Java面试八股文

java培训程序员就业情况如何

小谷哥

前端培训与自学有什么区别吗

小谷哥

Baklib知识分享|企业产品需求文档的特点

Baklib

PRD 产品需求文档

DHorse系列文章之操作手册

tiandizhiguai

微服务 云原生 k8s管理 微服务治理 Serverless Kubernetes

端云一体开发,助力鸿蒙应用开发效率全面提升

最新动态

集群部署看过来,低代码@AWS智能集群的架构与搭建方案

葡萄城技术团队

负载均衡 部署 集群 亚马逊

EMQ宣布推出LF Edge eKuiper全新Logo标识

EMQ映云科技

物联网 IoT emq 11月月更 eKuiper

Nacos 中的配置文件如何实现加密传输

江南一点雨

nacos SpringCloud

争论:SOA已死?_SOA_Boris Lublinksy_InfoQ精选文章