GTLC全球技术领导力峰会·上海站,首批讲师正式上线! 了解详情
写点什么

移动 SOA 的门柱

2008 年 11 月 02 日

John Evdemon 在其最新的一篇帖子展示了针对 SOA,业界进行定义、重定义和自相矛盾的尝试。这些定义五花八门,无章可循。

首先是关于松耦合的大体定义

随着 Web 服务和 SOA 的来临,我们正试图创建耦合更松的架构和系统。松耦合系统提供了许多好处,包括:支持运行时迟绑定或动态绑定到其它组件,可以化解组件结构中的差异,安全模型、协议和语义,从而对易变性进行了抽象。

接着,重用占据了舞台中央:

软件重用的核心思想并不是什么新东西,即从最初已经创建出的组件中获取更多价值。在 SOA 之前,由于组织内业务单位之间缺乏集中控制和沟通,导致相同的解决方案一再重复发明。为了确保组织内各业务单位不创建重复服务,SOA 干系人,如业务分析师和架构师,应该能够以一种广为人知和系统的方法来寻找现有服务并评估它们是否能够重用。

业界最后发现真正的重用实在是太复杂了并且并不是总能实现:

创建可重用服务要求对未来进行预测……服务创建者怎么可能准确地猜到未来应用的需求?“车到山前必有路”的想法非常难以实现真正的重用。加上,鼓励所创建组件可被其他小组重用的组织,即使有,也不多。

接着,它谈到了业务流程的松耦合

硬连接流程应该是一种罪恶,我们要坚决地抵制它……松耦合将迫使我们反思业务活动的方方面面……它将对我们管理业务操作的方式产生深远影响。厚重的流程手册留下了对我们硬连接业务操作方式的遗嘱。预先指定全部活动的详细细节,然后监测所有活动来清除任何不符合标准的变化。尽可能地加固操作。松耦合业务流程的运转方式完全不同。

当 SOA 无能为力之时,事件驱动架构(EDA)成了(一个更流行的)SOA 替补。:

EDA 交付了 SOA 只是承诺却没有做到的松耦合。它并非同步的“命令并控制”类型的模式,而是其反面:异步的“发布并订阅”类型的模式。发布者和订阅者完全不知道对方的存在;在某种程度上,组件是松耦合的:它们只共享了消息的语义。

接下来,它谈到了业务 /IT 的对齐

自从发迹于面向对象设计和基于组件的软件开发方法论,SOA 已经进入了理想的崇高领域。随着故事的发展,SOA 不单单是为重振 IT 而设计的了;它还成了能改变 IT 所服务于的业务的魔弹。

并且,最终它发现 SOA 跟技术没有任何瓜葛

太令人震惊了;SOA 似乎是第一个对技术没要求的技术。大厂商们告诫说,只要你坚持走有 SOA 特色的架构基本路线不动摇,在技术上不管你做什么都没关系。

这些定义明显的不一致似乎是来自于以下几个因素:

  • 和任何架构一样,SOA 相当复杂且涉及多个关注点。随着 SOA 实现经验的增加,架构师和开发者都发现,他们在实现中需要开始考虑更多的事情。这并非真的移动了门柱,而是意识到“操场”的真正尺寸。
  • 相比起正确定义他们确实要做的东西,人们往往更关心变得“时髦”。考虑当前的 SOA 流行程度,许多东西被人为的拉入 SOA 领域并非是因为它们真的就属于那儿,而是因为术语引起了 CEO/CIO 的注意。这并非真的移动了门柱,而是使用流行词汇来引起管理层的更多注意。
  • 人们往往把 SOA 架构和 SOA 平台 / 实现混为一谈。尽管 SOA 架构没有改变,但是平台 / 实现的门柱却总是在往更好地支持客户需求的方向移动。

查看英文原文: Moving the SOA Goalposts

2008 年 11 月 02 日 22:25430
用户头像

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

关注

评论

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

Week_09 作业

golangboy

极客大学架构师训练营

第9周作业

paul

第五周作业

jizhi7

第 9 周 997日记

Pyr0man1ac

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

诺乐

第九周总结

熊桂平

JPA-技术专题-JPA&Hibernate注解

李浩宇/Alex

第九周作业

文智

极客大学架构师训练营

Week 9 作业02

Croesus

第 9 周 作业

Pyr0man1ac

架构师训练营第 2 期 第五周作业

月下独酌

极客大学架构师训练营

第 05 周学习总结 [架构师训练营第 2 期]

Airship

极客大学架构师训练营

架构师训练营第九周学习笔记

一马行千里

学习 极客大学架构师训练营

第九周作业

熊桂平

极客大学架构师训练营

week5-(2选1)

未来已来

架构师训练营 - week09 - 学习总结

lucian

极客大学架构师训练营

Architecture Phase1 Week9:HomeWork

phylony-lu

极客大学架构师训练营

week5-根据当周学习情况,完成一篇学习总结

未来已来

第九周作业(作业二)

Geek_83908e

架构师一期

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

诺乐

架构师训练营第五周作业

邢永春

架构师训练营第二期 第5周总结

月下独酌

极客大学架构师训练营

脚手架 | 从零搭建满足权限校验等需求的前端命令行工具

梁龙先森

node.js 前端 前端工程化 前端进阶

经典计算机课程

Joseph295

为什么你写的拦截器注入不了 Java bean?

Java旅途

Java spring Spring Boot 拦截器

架构第九周总结

Geek_Gu

极客大学架构师训练营

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

邢永春

Week_09 总结

golangboy

极客大学架构师训练营

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

9527

架构师训练营 - 第九周

袭望

第五周总结

jizhi7

极客大学架构师训练营

DNSPod与开源应用专场

DNSPod与开源应用专场

移动SOA的门柱-InfoQ