最新发布《数智时代的AI人才粮仓模型解读白皮书(2024版)》,立即领取! 了解详情
写点什么

Zapthink:敏捷和企业架构并不矛盾

  • 2009-05-26
  • 本文字数:1262 字

    阅读完需:约 4 分钟

最近, ZapThink 发表了一篇讨论敏捷和 SOA 的文章:敏捷企业架构并非矛盾修饰法!。其独特之处在于从 SOA 的角度对敏捷宣言(Agile Manifesto)进行了重新诠释,提出了应用于 SOA 领域的 4 项原则。

在回顾了敏捷宣言的 4 项核心原则(作者这里所指的 4 项原则,实际是指敏捷宣言中的 4 项价值观)之后,作者 Jason Bloomberg 认为,部分原则是适合 EA/SOA 层面的,但并非全部,而且必须进行新的解释。接着,Jason 对这 4 项核心原则进行改造,给出了 SOA 环境下的敏捷原则:

  • 业务驱动的应用优于服务抽象:在 SOA 核心,业务服务抽象的一项基本作用就是能够以业务流程为中心来组合增强业务和实现业务机动性的服务。这项原则重新解释了敏捷宣言中的客户合作部分,强调了业务交互优于服务抽象。
  • 架构驱动的迭代方法:采用迭代方法来处理不明确或持续变化的业务需求是一项久负盛名的技术。毫无疑问,所有敏捷方法论都具有迭代特性。同样,组织采用迭代方法来进行他们的 SOA 项目也是至关重要的。
  • 治理驱动的重用:对 SOA 来说,服务重用业务驱动力本质就是一项敏捷原则,因为它关注利用软件去满足相异的、持续变化的需求。治理在这里有一个特殊的作用,因为经过适当治理的重用可以给业务带来积极影响,可以使组织从 IT 资产获得的价值最大化。
  • 元数据驱动的开发:文档和服务元数据是有关联的,因为它们都代表了在服务生命周期内发挥重要作用的制品。但是它们之间有一个重要的区别——软件是给人消费的,而元数据基本上是给机器消费的。换句话说,聚焦元数据就是聚焦驱动开发出可以工作的软件。象元数据这样的文档越多,你就越符合敏捷原则中的“可用软件重于完备的文档”。

在他看来:

……SOA 是一种 EA 风格,而且把 EA 框架、SOA 最佳实践和一种理论联系实际的方法论结合起来是实现 SOA 项目成功的所有要素。正如象 TOGAF 这样的 EA 框架兼容 SOA、象 SOA 这样的 EA 风格兼容敏捷方法论一样,没有理由认为 EA 框架一定和敏捷方法不和谐。

在文章的末尾,Jason 强调了“多解决些问题,少谈些主义”的观点,并给出了一种解决“分析瘫痪(analysis paralysis)”的建议。

比起搞清楚实践技术属于哪个阵营,应用合适的实践去解决实际问题要更重要。因此,你正在从事的到底叫敏捷、TOGAF,还是 SOA,真的不重要。只要你做的是解决手头问题的最佳实践,那么你的路子就走对了。

过于架构教条主义的一个常见风险是“分析瘫痪”。太早就把大把时间花在治理之上,几乎无任何意义可言,例如在你还没有任何东西要治理的时候。也就是说,你在每个迭代中需要少许治理。这里的核心最佳实践是采用一种迭代方法,对其他大多数任何事物,对治理,都一样。这是避免分析瘫痪的关键,并且通常用于处理不明确、定义不完整或不断变化的业务需求。这就是为什么迭代方法明确地在敏捷和 TOGAF 中都出现的原因,并且它也是 SOA 的一个核心部分。

InfoQ 上已经报道了不少讨论 SOA 和敏捷之间关系的新闻和文章,如早期的 Agile: The SOA Hangover Cure SOA 和敏捷:是朋友? 还是敌人? 访谈:用敏捷方法实现SOA ,以及较新的 Martin Fowler:SOA 的敏捷之路

2009-05-26 21:051110
用户头像

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

关注

评论

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

TASKCTL 调度高可用架构服务与安装

TASKCTL

kettle 批量任务 调度引擎 ETL 调度任务

漏洞挖掘之Spring Cloud注入漏洞

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 漏洞挖掘

腾讯WeTest通过TMMi 3级认证

WeTest

Java运算符、输入、选择流程控制详细讲解

五分钟学大数据

Java 4月月更

TASKCTL的单机与分布式部署,如何启动服务和代理节点监听

TASKCTL

批量任务 调度引擎 ETL 自动化运维 调度任务

怎么加盟6元自助洗车?一起来了解下

共享电单车厂家

自助洗车怎么加盟 6元自助洗车 加盟自助洗车 6元自助洗车项目

EventBridge 与 FC 一站式深度集成解析

阿里巴巴云原生

走进直播间——智能自动化助力政企数字化转型

浪潮云

云计算

开个自助洗车要多少钱?主要费用有哪些?

共享电单车厂家

自助洗车加盟 开个自助洗车

关于 RocketMQ Summit 的延期通知

阿里巴巴云原生

PlatoFarm生态NFT总量恒定,激励机制让Dao成员持续贡献

西柚子

加盟自助洗车需要人工全天看守吗

共享电单车厂家

24小时无人自助洗车 加盟自助洗车

无人洗车店生意怎么样?想加盟自助洗车

共享电单车厂家

加盟自助洗车 无人自助洗车加盟 无人洗车店生意

自助洗车机洗车多少钱一次?利润有多少

共享电单车厂家

自助洗车加盟 自助洗车机洗车 自助洗车多少钱一次

线上活动| 阿里云、亚马逊云与MongoDB的大佬带你来涨知识!

MongoDB中文社区

mongodb

生产到一半改工艺生产为另一个产品的业务方案探讨

秋去冬来春未远

生产改单 生产执行 生产拆单

首届全球基础软件创新大会明天开幕!

OpenAnolis小助手

开源 操作系统 龙蜥社区 国产 基础软件创新大会

基于数据技术全域流量协同优化是银行零售业务关键突破点

易观分析

银行 数据技术

iOS编码规范

刁架构

规范 iOS编码规范

K8s 基于 EFK 的日志解决方案介绍

移动云大数据

elasticsearch Kibana Fluentd

PlatoFarm生态NFT总量恒定,激励机制让Dao成员持续贡献

小哈区块

中兴通讯加入星策开源社区 携手推动企业智能化转型建设

星策开源社区

人工智能 机器学习 开源社区 企业转型

花14天梳理了3月份各大厂问得最多的50道Java基础面试题

北游学Java

Java 面试

元宇宙背景下——内容生产传播商业价值分析2022

易观分析

元宇宙 内容生产传播

如何使用 Serverless Devs 部署静态网站到函数计算

阿里巴巴云原生

如何通过 Node 上传小程序代码,不会就看看吧

CRMEB

ironSource Luna 正式推出针对苹果搜索广告的自动化投放工具

Geek_2d6073

快速了解日志概貌,详细解读13种日志模式解析算法

云智慧AIOps社区

算法 运维 安全 监控 日志

模块三作业

HZ

架构实战营 #架构实战营

技术干货| 如何在MongoDB中轻松使用GridFS?

MongoDB中文社区

mongodb

直播预告 | PolarDB-X 动手实践系列——用 PolarDB-X 搭建一个高可用系统

阿里云数据库开源

MySQL 数据库 阿里云 开源 PolarDB-X

Zapthink:敏捷和企业架构并不矛盾_SOA_胡键_InfoQ精选文章