知识卡片

SOA标准化程度过高反而导致自己被淘汰

普通读书笔记卡

内容

SOA的”成功”与”失败”其实源自同一个特质——极致的标准化。它比此前的架构模式 “更具体”:有专门组织Open CSA制定标准,用SOAP协议族(WSDL/UDDI/WS-*)统一 远程调用、发布、发现,用ESB做消息总线解耦服务、用SCA/SDO定义服务封装与数据 访问形式,几乎把分布式环境下能标准化的环节都标准化了。它还”更系统”:野心不 止于技术,希望提供一套自上而下、从需求分解到部署运维的完整软件研发方法论, 让企业开发像”有法可依”的工业化生产。但这套体系需要理解复杂概念的专业人员才 能驾驭,构建在SOAP之上的ESB/BPM/SCA/SDO进一步叠加了复杂性,最终”阳春白雪” 式的精致换来的是脱离普通开发者的现实。作者把SOA的失败类比EJB败于Spring/ Hibernate:”一旦脱离人民群众,终究会淹没在群众的海洋之中”——这揭示了一个 可迁移的架构教训:标准化程度和采纳门槛之间存在权衡,过度追求”完备”和”统一” 的技术标准,反而可能是它被更朴素的方案取代的直接原因。

参考来源

- 位置:《凤凰架构:构建可靠的大型分布式系统》第1章"服务架构演进史"1.3节 "SOA时代"(源文件:_epub-src对应OEBPS/Text/chapter7.xhtml) - 结论依据:原文分别用"更具体"(SOAP协议族/ESB/SCA/SDO等成体系的技术组件) 和"更系统"(自上而下的软件研发方法论野心)刻画SOA的特征,随后指出这套 体系需要专业人员驾驭、进一步加剧复杂性,并类比EJB败于Spring的教训,直接 支撑"标准化程度过高导致SOA被淘汰"这一结论。 - 原始内容:过于严格的规范定义带来过度的复杂性,而构建在SOAP基础之上的 ESB、BPM、SCA、SDO等诸多上层建筑,进一步加剧了这种复杂性……一旦脱离 人民群众,终究会淹没在群众的海洋之中,连信息技术也不曾例外。