SOA和敏捷的互補與衝突 朋友 還是敵人

2021-09-05 16:21:15 字數 890 閱讀 2482

2007.04.28  來自:infoq   喬梁 譯 

方**和架構是互斥的嗎?

有人認為,軟體開發實踐與架構是不重迭的。在其它環境中這麼說也許是正確的,但在這個主題中卻不盡然。一方面,敏捷方法(例如xp)直接關注設計,不是特別同意預先做大量設計(bduf)的觀點。另一方面,大多數soa團隊主要是圍繞構建一系列服務而組成的功能性團隊。soa本質上鼓勵有特性的團隊結構和團隊間的溝通方式,而這兩點又都屬於方**的範疇。

敏捷與soa是朋友

soa是一種架構,強調業務必須能滿足市場要求,而且通過構建各種服務,可以消除重複,並達成「重用」這一很難捉摸的目標。團隊通過構建「服務」而非「應用」,來平衡企業內部和外部的工作。

敏捷是一種方**,強調事物是變化的,軟體開發團隊必須擁抱變化,並對變化做出反應。通過引入技術性和非技術性實踐,團隊可以使業務敏捷起來。

架構和方**是可以一同使用的,它們本質上是互補的。而且,soa和敏捷的目標相同,它們都承認(1)變化是必然的(2)組織需要有效地應對變化。所以,我們期望在構建soa時,能夠選擇敏捷方**,反之亦然。對嗎?

敏捷和soa是敵人

你可能認為既然目標相同,這兩種技術必定是一致的,沒有衝突的,也就意味著實踐與架構的重迭。但在這一點上,soa社群和敏捷社群都有不同的聲音。為什麼會這樣呢?

主要原因之一就是,它們的出發點不同,最初的方向也不相同。儘管最近幾年敏捷快速發展,社群中獲得很多經驗並總結了「敏捷宣言」,並將其應用於大專案,但從發展史上看,敏捷還是「草根」,從小專案中走來。而soa是新興的,具有自頂向下的本性,使用「分而治之」的方法來進行軟體開發。這種方法,尤其是其中的「分割法」,很容易會導致團隊間的溝通不暢,如文件、規範等等。

soa和敏捷在以下三方面有衝突:

ITIL和SOA能否互補?

本週,某財富500強企業的企業架構師todd biske 重新 開始討論itil和soa的關係。討論的出發點基於以下觀察 u0026 xd nsoa和itil服務管理具有很強的相似性 soa能將觀念從傳統的線性生命週期 當專案上線就結束 轉換為迴圈的生命週期 從服務的發現開始,隨著服務的退役而結束 ...

MPLS 與GRE 的互補作用

mpls 是多協議標籤交換的簡稱,它用短而定長的標籤來封裝網路層分組。mpls 最初是為提高路由器的 速度而提出乙個協議。gre協議是對某些網路層協議的資料報進行封裝,使這些被封裝的資料報能夠在另乙個網路層協議中傳輸。gre是 vpn的第三層隧道協議,在協議層之間採用了一種被稱之為 tunnel 的...

ScrowView和Listview的衝突問題

專案做多了之後,會發現其實 scrollview巢狀listvew或者gridview等很常用,但是你也會發現各種奇怪問題產生。根據個人經驗現在列出常見問題以及 最少最簡單的解決方法。問題一 巢狀在 scrollview的 listvew資料顯示不全,我遇到的是最多隻顯示兩條已有的資料。解決辦法 重...