本系列讀書筆記為書籍SOA實踐指南的讀書筆記消恍,旨在幫助理解SOA系統(tǒng)架構(gòu)岂昭。
動機(jī)
SOA——面向服務(wù)化的架構(gòu)優(yōu)點:一,可擴(kuò)展性和靈活性狠怨;二约啊,有助于填平業(yè)務(wù)/IT鴻溝。
SOA三要素:
1. 服務(wù):自足的佣赖、能作為一個或多個流程一部分的業(yè)務(wù)能力恰矩;能由任何技術(shù)在任何平臺上實現(xiàn)。
2. 企業(yè)服務(wù)總線(ESB):專門的基礎(chǔ)設(shè)施憎蛤,使我們能夠簡單和靈活的結(jié)合這些服務(wù)外傅。
3. 政策和過程:處理著這樣的事實——大型分布式系統(tǒng)是異質(zhì)的、處于不斷維護(hù)中的俩檬,其所有者各異萎胰。
大型分布式系統(tǒng)的特征
大型系統(tǒng)必須處理“老系統(tǒng)”,SOA必須和老平臺及向后兼容問題打交道棚辽。
大型系統(tǒng)天生就是異質(zhì)的库快。一個原因是大型系統(tǒng)和它們的數(shù)據(jù)有非常長的生命周期避归。在此生命周期中,通過加入新的系統(tǒng)和流程珊擂,不斷開發(fā)出促進(jìn)新業(yè)務(wù)的功能踢星,
大型系統(tǒng)天生是復(fù)雜的钞护。并且大型系統(tǒng)中所有者各異窗轩。大型系統(tǒng)另一個關(guān)鍵特性是不完美性苹丸。
大型系統(tǒng)通常有一定的冗余度。有些冗余是無心造就的包归,有些是有意為之擅编,處于管理之下的。
對于大型系統(tǒng)來說箫踩,系統(tǒng)瓶頸就是自殺。
魔術(shù)總線
魔術(shù)總線是一個軟件谭贪,減少系統(tǒng)中的連接和接口數(shù)量境钟。
總線代表了高互操作性。其背后的思想是俭识,不去為不同系統(tǒng)間創(chuàng)建和維護(hù)單獨的通信渠道慨削,每個系統(tǒng)只和總線連接就能和其它所有系統(tǒng)連起來。
優(yōu)點:簡化了連接操作。
缺點:除非加上結(jié)構(gòu)缚态,否則連接的擴(kuò)展將導(dǎo)致混亂磁椒。
五頁幻燈講完SOA
幻燈1:SOA
SOA是一個范式,目的是實現(xiàn)和維護(hù)跨越了大型分布式系統(tǒng)的業(yè)務(wù)流程玫芦〗郏基于三個主要技術(shù)概念:服務(wù)、通過企業(yè)總線達(dá)到的互操作性以及松耦合桥帆。
- 一個服務(wù)是一項自足的業(yè)務(wù)功能医增。功能可能簡單,也可能復(fù)雜老虫。因為服務(wù)集中于接口的業(yè)務(wù)價值叶骨,所以填補(bǔ)了業(yè)務(wù)/IT的鴻溝。
- 企業(yè)服務(wù)總線(ESB):是一個基礎(chǔ)設(shè)施祈匙,使分布式系統(tǒng)和服務(wù)間的高互操作成為可能忽刽。有了它,用不同的平臺和技術(shù)在眾多系統(tǒng)間分布式業(yè)務(wù)流程比以前簡單了夺欲。
- 松耦合是減少系統(tǒng)依賴的概念跪帝。因為業(yè)務(wù)流程分布在多個后端系統(tǒng)上,最小化修改和故障的影響至關(guān)重要洁闰。松耦合帶來的代價是復(fù)雜化歉甚。松散耦合的分布式系統(tǒng)更難開發(fā)、維護(hù)和調(diào)試扑眉。
幻燈2:政策和過程
分布式處理改變公司的一切纸泄,引入新功能不再是給特定部門指派特定任務(wù),現(xiàn)在是對不同系統(tǒng)和多個任務(wù)的組會腰素。這些系統(tǒng)和牽涉到的團(tuán)隊必須協(xié)作聘裁。
故需要清晰的定義角色、政策和過程弓千。過程包括但不限于定義一個服務(wù)生命周期衡便,以及實行模型驅(qū)動的服務(wù)開發(fā)。另外還必須為分布式軟件開發(fā)建立幾個過程洋访。
幻燈3:Web services
幻燈4:SOA實踐
當(dāng)諸如性能和安全等因素考慮進(jìn)來后镣陕,一般的業(yè)務(wù)案列和概念就可能不能像預(yù)期那樣工作了。另外姻政,由于SOA是針對處于維護(hù)中的現(xiàn)有系統(tǒng)的策略呆抑,也帶來了穩(wěn)定性和向后兼容問題。
從IT角度看汁展,所有系統(tǒng)都不一樣鹊碍,需要時間厌殉,采用漸進(jìn)和迭代的方法打造自己的SOA。
是否引入SOA不重要侈咕,重要的是對你上下文環(huán)境和需求來說公罕,引入的IT解決方案是合適的。
幻燈5:SOA監(jiān)管和管理支持
SOA最重要的考量也許是找到監(jiān)管的正確方法和恰當(dāng)?shù)牧Χ取?/p>
- 需要一個中央團(tuán)隊決策自己的SOA的基本方面耀销,必須在集中化和分散化之間找到正確的平衡點楼眷。
- 需要合適的人選。需要對系統(tǒng)由經(jīng)驗的人树姨。并且對于中央服務(wù)團(tuán)隊通常有象牙塔化的趨勢摩桶,必須被業(yè)務(wù)團(tuán)隊的需求驅(qū)動,必須將自己看做“服務(wù)基礎(chǔ)設(shè)施”的服務(wù)提供者帽揪。
- 重要的事情先來硝清。不要從管理服務(wù)開始。有很多服務(wù)后來才需要管理服務(wù)转晰。剛開始時芦拿,不要使用首先設(shè)計所有服務(wù)或首先提供基礎(chǔ)設(shè)施的方法。所有的東西必須一起成長查邢,在成長中蔗崎,解決眼前的問題。
- 最后但絕非不重要的是扰藕,需要CEO和CIO的支持缓苛。短期內(nèi)經(jīng)費充足并不是最重要的,需要的是長期的經(jīng)費邓深。