QCon 演讲火热征集中,快来分享技术实践与洞见! 了解详情
写点什么

文章:SOA 和敏捷:是朋友?还是敌人?

  • 2007-04-21
  • 本文字数:1167 字

    阅读完需:约 4 分钟

SOA 的目标是以服务作为构建企业应用的“积木块”,使整个企业敏捷起来,而敏捷软件开发则是通过引入一些最佳实践来增加沟通与反馈,以达到同样的目的。InfoQ 贴出这篇文章的目的是归纳在这一主题上的观点,以便社区进一步交流与沟通,即 SOA 和敏捷:是朋友?还是敌人?

这篇文章给出了对上述两种技术正、反两方面的观点,读者们已经开始讨论,并表述各自的观点。

该文建议说,尽管 SOA 是一种架构,而敏捷是一种开发方法论,但它们并非是完全正交的。

一方面,敏捷方法(例如 XP)直接关注设计,不是特别同意预先做大量设计 (BDUF) 的观点。另一方面,大多数 SOA 团队主要是围绕构建一系列服务而组成的功能性团队。SOA 本质上鼓励有特性的团队结构和团队间的沟通方式,而这两点又都属于方法论的范畴。

根据这种评判原则,该文提出了它们的主要重合点——即二者都关注“使业务敏捷起来”,随后深入讨论并提出了这两种实现方法的三个主要交叉点:

  1. SOA 鼓励架构设计在前,而敏捷对这种称为“BDUF”的方法持相反观点。
  2. SOA 鼓励按功能线索来划分团队,而敏捷倾向于以交叉功能式组建团队。
  3. SOA 中,服务一旦建立起来,SOA 就不再对服务的变化做出相关的反馈,而敏捷则强调及时反馈,无论是技术层面,还是人的层面。

关于这个主题已经引起了广泛的讨论。主要的讨论思路已经在这个贴子中提及。所以接下来的引证直接来源于这一主线。至今,大多评论者都未发现 SOA 和敏捷之间的交叉,当然,有一部分人同时支持这两种方法。

Frank Grossman 认为,在企业中,根据 SOA 的本性,很多的敏捷实践(如代码共享)可能被改变:

代码共享制也上升了一个层面。在项目层面的敏捷实践中,整体团队拥有所有的代码。而 SOA 层面的敏捷实践中,设计规约的交叉功能团队拥有 XML 软件层所有权。事实上,可以认为它是 SOA 所有者(就像是 Scrum 中的产品所有者),代表整个企业的目标。这个 SOA 所有者负责维护 SOA 列表, 并通过 XML 软件层的一系列的迭代,来指导一个或多个“XML 开发团队”。这个 SOA 列表包括已划分了优先级且能满足市场要求的业务需求。

而 Howard Deiner 认为,不应该草率地分解 SOA:

根据我的经验,一次就正确地分解一个 SOA 是非常困难的。在一个商业性企业中,存在很多不确定因素。在那样的环境下,大多数情况是在最终把业务流程实现成一组服务之后,却发现这些服务并不是我们真正想要的基本业务组件。所以,如果我们希望 SOA 一开始就成功,就必须理解并承认使用敏捷技术的重要性,敏捷技术使我们可以设计、构建、测试并验证每个 SOA 组件的可用性。当然,这也需要一点 BDUF,但边界可能要宽松一些,以便在后续的迭代中做架构刺探(architectural spike)时,各组件边界间的空隙足以将代码形成解决方案。

这是一个目前关于软件开发社区中两大阵营交锋的有趣话题。

阅读全文并参与评论: SOA and Agile: 是朋友?还是敌人?

2007-04-21 21:21921
用户头像

发布了 100 篇内容, 共 22.3 次阅读, 收获喜欢 5 次。

关注

评论

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

3款让工作效率翻倍的神器!一键轻松搞定PDF转PPT!

职场工具箱

效率工具 职场 PPT 办公软件 AI生成PPT

和鲸科技受邀出席辽宁省计算机基础教育学会 2024 年学术年会

ModelWhale

玩转京东商品评论数据接口:数据挖掘与洞察

tbapi

京东商品评论内容接口 京东API 京东商品评论数据接口

家庭责任增加的挑战:开发的体育直播平台如何维持年轻用户?

软件开发-梦幻运营部

photoshop阴影插件 Shadowify 苹果Mac版

Rose

ps阴影插件 Shadowify

和鲸携手山东大学数字人文实验室,推动新文科与人工智能融合发展

ModelWhale

DeFi质押流动性挖矿系统逻辑开发方案

V\TG【ch3nguang】

华为云联创营CIO领航班第一期:数字化转型与AI赋能的深度探索

科技热闻

Coze插件发布!PDF转Markdown功能便捷集成,打造你的专属智能体

合合技术团队

人工智能 PDF

探索顶级PDF水印API:PDFBlocks(2024年更新)

幂简集成

API PDF水印

云解析的智能线路是什么意思?有什么实际用途?

国科云

【YashanDB知识库】共享集群YAC换IP

YashanDB

yashandb 崖山数据库 崖山DB

Adobe Camera Raw增效工具 for mac v16.2.0中文激活版

Rose

Adobe Camera Raw下载 Adobe Camera Raw中文 Adobe Camera Raw破解

D2O 前置放大器仿真插件(Triton Audio D2O mac版下载安装)

Rose

FCPX插件:MotionVFX - mWedding 2 盛大的婚礼效果

Rose

Go语言中高效使用Redis的Pipeline

左诗右码

Go

第二届海南大数据创新应用大赛 - 算法赛道冠军比赛攻略_海南新境界队

阿里云天池

中文版Nik Collection 6 滤镜插件套装 适用于ps/lr

Rose

Nik Collection 6 滤镜

Tomcat源码分析 (一)----- 手撕Java Web服务器需要准备哪些工作

派大星

tomcat源码解读

鲁棒性目标检测 TOP2 方案分享

阿里云天池

专业音调校正和操控 Nuro Audio Xpitch for mac v1.0.2激活版

Rose

Optical Flares插件怎么安装?Optical Flares中文汉化版详细安装教程

Rose

一汽集团数据专家分享:实时数据技术在汽车行业的应用与实践经验

tapdata

使用代理IP有风险吗?

IPIDEA全球HTTP

代理IP

4大要点助你选择室内LED显示屏

Dylan

LED显示屏 全彩LED显示屏 led显示屏厂家 户内led显示屏

行云堡垒-幽影护企业数据安全!

行云管家

数字化 数据安全 企业数据

行云堡垒V7.4新特性

行云管家

中文汉化版 眼睛糖果滤镜PS插件 Alien Skin Eye Candy 7下载安装

Rose

ps滤镜下载 Alien Skin Eye Candy 7 眼睛糖果滤镜

AE关键帧缓入缓出曲线调节脚本 AEscripts flow mac版 支持M1/M2

Rose

AE关键帧

郑雁鹏|浅谈工业实时数据库和时序数据库的关系

麦杰研究院

数据库 工业实时数据库 工业时序数据库 麦杰科技 麦杰研究院

文章:SOA和敏捷:是朋友?还是敌人?_SOA_Amr Elssamadisy_InfoQ精选文章