iT邦幫忙

0

請問,SOA為什麼要應用多層次架構以及其優缺點?

soa

請問一下,
SOA為什麼要應用多層次架構?二者有什麼關係嗎?其優缺點?
找了很多文獻都沒有關這方面的資料,關於SOA的資料好少
請問有相關的資料嗎?感謝~

doz iT邦好手 8 級 ‧ 2008-10-02 13:19:04 檢舉
題目好像重複發問了
14
海綿寶寶
iT邦大神 1 級 ‧ 2008-10-02 15:27:20
最佳解答

2007年的SOA QuickStart,參考看看

另外,SOA的文章不是太少
是太多,多到沒辦法找到真正符合你要的

10
pantc328
iT邦研究生 1 級 ‧ 2008-10-02 11:14:59

SOA跟多層次架構都是程式開發的方法論.
SOA以服務為導向,以介面去規範,以訊息去傳遞.
以介面的好處是,你只要照我的介面(規範)做,裡面的實作我不管,比如輪胎工廠,他可以設計很多輪胎,但只要輪胎孔設計對了,我的車子就可以裝.
以訊息傳遞的方式,好處是可跨平台,跨語言,我的平台只要能讀文字檔,並能解析訊息就可以使用.
多層次架構,主要是做功能切割,讓專人專精用,比如房子在建構,就有水泥工,水電工...

8
jamesjan
iT邦高手 1 級 ‧ 2008-10-02 18:23:58

中文 wikipedia SOA

服務導向的架構提升了將用戶從服務實現分開的目標。服務可以運行在不同的伺服器上,並通過網路被訪問。 這也大大增加了服務的重用

英文的 Wikipedia 有比較詳盡的解說, SOA

由圖所提供的架構示意,採用多層次的架構,可以增加其彈性以及降低服務間的耦合度(Loosely coupled) - 讓服務之間的關係最小化,可以獨立運作,不會因為一個服務的終止而影響到整體服務/系統的運行,服務的替換也會更加容易。

jamesjan iT邦高手 1 級 ‧ 2008-10-02 18:27:19 檢舉

缺點就是不易設計,會增加維護的成本,投資金額相對較高,技術門檻也高

pantc328 iT邦研究生 1 級 ‧ 2008-10-03 09:05:05 檢舉

我覺得不是很正確.SOA是設計概念不是實作!SOA不一定長得這樣子.一個系統要經過分析,考量..程序後才會產生.
像這種圖我可以畫很多.
技術門檻這點我認同.
缺點就是不易設計,會增加維護的成本,投資金額相對較高,我打?

8
zanhsieh
iT邦新手 4 級 ‧ 2008-10-03 00:49:28

我建議你先看看一樓的回答然後再看我寫的。我寫的是比較實際的比喻。

就拿一樓的車廠來說,假設你要弄一台車。車必須要有幾種特性才能開,例如上面說的輪胎、底盤、內裝。那就會有很多供應商做這些東西。供應商就是對等的軟體產品。

那換個角度,假設我是供應商,我不希望說我的產品只能用在單單本田豐田,當然還希望做到BMW,Benz,所有的老闆都希望我的客戶只要上門,就能找得到他們要的東西。BMW/Benz/本田/豐田這些都是平台,它們來採購我的組件包成產品推銷給客戶,換句話說,理想的軟體應該突破作業系統的枷鎖爭取其獲利最大化。那實行的方法就是我公司內部去雇專精於每種車結構的人才,在我公司產品外部只有簡單的幾個按鈕 (就是介面)。就像一樓說的那樣,我的客人只要照我的介面走就會得到一樣的服務。這就是層的概念。

同樣道理,假設更近一步,假設我是車商,那我的車子儀表版可能東採用一個廠西採用另一個廠,一個儀表版可能下面還有GPS系統,GPS系統下面還有地圖供應商 (NAVTAQ / MAPQUEST),每個都是一層一層架構,每個都要跨平台,並且跨平台勢在必行。唸商的開宗明義第一條就是獲利最大化,如果換平台會餓死的話,那當供應商的得確保那個平台夠大、堅硬似鐵、獨占生意而且沒有競爭者。這個在軟體業界幾乎是不太可能、會餓死的。

那多層的缺點?簡單呀,假設某大公司小職員今天在會議室發現了一包可疑的公事包,那職員報到科長,科長上報到所長,所長報到襄理,襄理報到經理,最後再反向抱回來只是叫個小小職員打電話報警叫拆彈組來看看。可能有問題的話早就爆掉了。所以多層架構要付出一點效能,也可能會一點彈性的代價。俗語說「要馬兒好又要馬兒不吃草」,情況不是沒有,比較少而已。

維護SOA成本嘛,這個見仁見智。端看用戶喜歡到處發展到處調試,還是發展一次用很久然後像航空母艦一樣固定幾年回港大修。

pantc328 iT邦研究生 1 級 ‧ 2008-10-03 09:12:30 檢舉

那多層的缺點?簡單呀,假設某大公司小職員今天在會議室發現了一包可疑的公事包xxxx.
這表示你的設計有問題.其實每一層都有它的功能,及範圍.也不用逐級回報.
像這一題就報告給科長,然後報警處理就好了.

我要發表回答

立即登入回答