SOA and Agile: 是朋友还是敌人

2024-04-17 16:38
文章标签 朋友 soa agile 敌人

本文主要是介绍SOA and Agile: 是朋友还是敌人,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

原文:http://www.infoq.com/cn/articles/SOA-Agile-Friends-Or-Foes

这是一篇关于SOA与Agile的讨论,文章总结了当前使用这两种技术的观点。虽然没有结论,却也值得思考。

其实,无论是敌?是友?都有共同的目标,那就是用技术为企业提供更大的价值。想一想,任何一种技术的产生都是同样的理由。

下面是该文的部分引用:

敏捷与SOA是朋友 
  SOA是一种架构,强调业务必须能满足市场要求,而且通过构建各种服务,可以消除重复,并达成“重用”这一很难捉摸的目标。团队通过构建“服务”而非“应用”,可以平衡企业内部和外部的工作。 
  敏捷是一种方法论,强调事物是变化的,软件开发团队必须拥抱变化,并对变化做出反应。通过引入技术性和非技术性实践,团队可以使业务敏捷起来。 
架构和方法论是可以一同使用的,它们本质上是互补的。而且,SOA和敏捷的目标相同,它们都承认(1)变化是必然的(2)组织需要有效地应对变化。所以,我们期望在构建SOA时,方法论的选择是敏捷,反之亦然。对吗? 
敏捷是SOA是敌人
 
  你可能认为既然目标相同,这两种技术必定是一致的,没有冲突的,也就意味着实践与架构的重迭。但在这一点上,SOA社区和敏捷社区都有不同的声音。为什么会这样呢? 
  主要原因之一就是,它们的出发点不同,最初的方向也不相同。尽管最近几年敏捷快速发展,社区中获得很多经验并总结了“敏捷宣言”,并将其应用于大项目,但从发展史上看,敏捷还是“草根”,从小项目中走来。SOA是新兴的,具有自顶向下的本性,使用“分而治之”的方法来进行软件开发。这种方法,尤其是其中的“分割法”,很容易会导致团队间的沟通不畅,如文档、规范等等。  
SOA和敏捷在以下三方面有冲突: 
    · SOA鼓励架构设计在前,而敏捷对这种称为“BDUF”的方法持相反观点。 
    · SOA鼓励按功能线索来划分团队,而敏捷倾向于以交叉功能式组建团队。 
    · SOA中,服务一旦建立起来,SOA就不再对服务的变化做出相关的反馈,而敏捷则强调及时反馈,无论是技术层面,还是人的层面。

 

这篇关于SOA and Agile: 是朋友还是敌人的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/912318

相关文章

菲律宾诈骗,请各位华人朋友警惕各类诈骗。

骗子招聘类型:程序开发、客服、财务、销售总管、打字员等 如果有人用高薪、好的工作环境来你出国工作。要小心注意!因为这些骗子是成群结伴的! 只要你进入一个菲律宾的群,不管什么类型的群都有这些骗子团伙。基本上是他们控制的! 天天在群里有工作的信息,工作信息都是非常诱惑人的。例如招“打字员”、“客服”、“程序员”……各种信息都有。只要你提交简历了,他会根据你的简历判断你这个人如何。所谓的心理战嘛!

SDUT2779_找朋友(BFS裸二维)

找朋友 Time Limit: 1000MS Memory limit: 65536K 题目描述 X,作为户外运动的忠实爱好者,总是不想呆在家里。现在,他想把死宅Y从家里拉出来。问从X的家到Y的家的最短时间是多少。 为了简化问题,我们把地图抽象为n*m的矩阵,行编号从上到下为1 到 n,列编号从左到右为1 到 m。矩阵中’X’表示X所在的初始坐标,’Y’表示Y的位置 ,

【系统架构设计师】论文:论SOA在企业集成架构设计中的应用

论文:论SOA在企业集成架构设计中的应用 文章目录 论文一摘要正文总结 论文二摘要正文总结 论文一 摘要 2021年10月, 本人所在保险公司启动了超级销售 APP 项目,该项目通过运用先进的销售工具、客户管理、营销活动管理等功能以达到提升销售人员的效能,加大业务驱动的目标。我在该项目中担任系统架构师, 主要负责系统的架构设计工作。 本文以该项目为例, 主要论述面向服务架构

Unity教程(十三)敌人状态机

Unity开发2D类银河恶魔城游戏学习笔记 Unity教程(零)Unity和VS的使用相关内容 Unity教程(一)开始学习状态机 Unity教程(二)角色移动的实现 Unity教程(三)角色跳跃的实现 Unity教程(四)碰撞检测 Unity教程(五)角色冲刺的实现 Unity教程(六)角色滑墙的实现 Unity教程(七)角色蹬墙跳的实现 Unity教程(八)角色攻击的基本实现 Unity教程

【初出江湖】SOA 与微服务:哪个最适合您的业务?

目录标题 面向服务的体系结构 (SOA)SOA 角色那么它们是如何通信和协同工作的呢? SOA 的优势 微服务架构微服务的优势 SOA 和微服务之间的区别SOA 与微服务:常见问题采用 SOA 和微服务面临哪些挑战?SOA 和微服务是否可以共存?每种体系结构如何影响部署和 DevOps 实践? 面向服务的体系结构 (SOA) 面向服务的架构(SOA)是一种软件开发方法,它使

献给正在学习IT专业的朋友们

1.首先请你热爱这个专业。只有这样,你才会从抽象的理论中找到实实在在的快乐。如果 你不热爱她,或者只因为这是个热门专业,那么极力要求你放弃这个专业,因为计算机是 一把双刃剑,学好了你会飞黄腾达,学不好你毕业后会极其痛苦,高不成低不就,没有发 展潜力,如同学英语专业的人到了美国一样。 2.不要用功利眼光对待这个学科,这绝对不是点点鼠标就能挣钱的专业。不要去想做

【系统架构设计师】论文:论SOA面向服务架构技术的应用

论文:论SOA面向服务架构技术的应用 文章目录 摘要正文总结 摘要 本人于2020年7月参加国内某某知名港口供电业务系统的开发工作,在该项目中主要担任系统架构师,主要负责该系统架构和网络安全体系架构设计。经过近20年的港口信息化建设,港口供电系统已经建立了一些应用系统,但是,随着港口供电业务的发展,有些系统已经无法满足目前供电业务需求,同时存在已经开发的系统之间信息共享能力

mapreduce '找共同朋友',面试题

mapred找共同朋友,数据格式如下: [quote] A B C D E F B A C D E C A B E D A B E E A B C D F A [/quote] 第一字母表示本人,其他是他的朋友,找出有共同朋友的人,和共同朋友是谁 答案如下: import java.io.IOException;import java.util.S

系统架构设计师——SOA面向服务的架构

概述 基本概念:SOA是一种设计方法,其中业务功能被封装为可重用的服务。这些服务通过定义良好的接口和协议进行交互,独立于编程语言和部署平台。 服务与对象的区别: 面向系统与面向业务:对象通常专注于系统内部的实现细节,而服务则侧重于提供针对特定业务需求的功能。粒度级别:对象的粒度通常是类级别,更细;服务的粒度则更粗,通常一个服务会包含多个类的协作来提供更完整的业务功能。交互方式:对象之间主要通

软件架构的发展经历了从单体结构、垂直架构、SOA架构到微服务架构的过程剖析

1.单体架构 特点: 1、所有的功能集成在一个项目工程中。 2、所有的功能打一个war包部署到服务器。 3、应用与数据库分开部署。 4、通过部署应用集群和数据库集群来提高系统的性能。 优点: 1、项目架构简单,前期开发成本低,周期短,小型项目的首选。 缺点: 1、全部功能集成在一个工程中,对于大型项目不易开发、扩展及维护。 2、系统性能扩展只能通过扩展集群结点,成本高、有瓶