本質(zhì)上是這些組件必須是最大化的松耦合,彼此依賴影響非常小,換句話說(shuō):如果實(shí)現(xiàn)了可插拔更換,說(shuō)明你的組件已經(jīng)實(shí)現(xiàn)松耦合了。
那就有可能設(shè)計(jì)一種軟件框架:它能夠?yàn)槊總€(gè)部件提供非常棒的服務(wù)訪問(wèn),軟件組件是 松耦合'loosely coupled',這些組件的大部分通過(guò)幾行代碼就可以實(shí)現(xiàn)替換。目前這種方便的實(shí)現(xiàn)方式是使用XML進(jìn)行組件的配置。
JdonFramework/Spring都是這樣的一種框架,JdonFramework更進(jìn)步的是:JF框架本身的組件也是可以替換的,例如你希望在JF中使用Spring的配置文件,那么你只要做一個(gè)Spring配置文件的解析組件,然后替換JF框架原來(lái)的XML解析器就可以了。無(wú)論EJB2/EJB3等在這方面要稍遜于Ioc/AOP框架,對(duì)于支持EJB3的JBoss 4 這樣架構(gòu),需要?jiǎng)討B(tài)更換AOP攔截器還不是很方便,因?yàn)镴Boss 4本身組件沒(méi)有象JF那樣做到可插拔配置,不過(guò),JBoss 5已經(jīng)開(kāi)始走上這條路,使用一個(gè)微核心來(lái)管理所有的可插拔組件,我曾經(jīng)在"JBoss 5迎來(lái)中間件徹底的可配置時(shí)代"一文中提出組件是否方便替換是衡量一個(gè)組件框架的重要指標(biāo)。
在最近的TheServerSide文章'Service Access' to the software components中,主要是談?wù)摿吮憩F(xiàn)層組件的替換訪問(wèn)方式,GIF這樣圖片組件不可以隨意控制調(diào)整,基本不能復(fù)用,但是通過(guò)SVG或XUI等支持XML組件動(dòng)態(tài)替換技術(shù)的使用,則可以實(shí)現(xiàn)顯示圖形組件的復(fù)用。
SOA
在軟件運(yùn)行時(shí),給予用戶動(dòng)態(tài)插拔式更換組件,達(dá)到復(fù)用的組件更加適合變化的需求,
這是軟件業(yè)追求的目標(biāo),而SOA(Service Oriented Architecture)則是從另外一種方向
也是在運(yùn)行時(shí)提供用戶一種改變系統(tǒng)的能力。
SCBA(Services and Components Based Architecture), SCBA是通過(guò)減少需求變化帶來(lái)的傳遞損耗和時(shí)間來(lái)實(shí)現(xiàn)的,當(dāng)需求變化時(shí),SOA的服務(wù)將支持跟進(jìn)變化和替換。
SCBA更強(qiáng)調(diào)的是一種業(yè)務(wù)過(guò)程重用,而且是跨組織跨多個(gè)專業(yè)域范圍的,例如我以前說(shuō)的四色圖實(shí)際是對(duì)跨域范圍的業(yè)務(wù)總結(jié),特別是ERP域范圍,大多數(shù)企業(yè)系統(tǒng)都是由MI等四種原始模型組成的,例如JiveJdon3看上去只是一個(gè)論壇系統(tǒng),實(shí)際不只是,它的Message模型可以重用在網(wǎng)站內(nèi)容系統(tǒng)、新聞發(fā)布系統(tǒng)、電子商務(wù)系統(tǒng)、倉(cāng)庫(kù)管理系統(tǒng)、資源管理系統(tǒng)等跨域范圍中(部分已經(jīng)實(shí)現(xiàn))。
既然業(yè)務(wù)過(guò)程和IT系統(tǒng)可以跨組織跨域重用,那么類似軟件系統(tǒng)的維護(hù)和開(kāi)發(fā)就不必再重新開(kāi)發(fā),JiveJdon3的Message模型重用在新聞發(fā)布系統(tǒng)中,我需要把JiveJdon3的項(xiàng)目拷貝到新聞發(fā)布系統(tǒng)中,然后再針對(duì)新聞發(fā)布系統(tǒng)特點(diǎn)做些裁剪修改,這這種復(fù)制業(yè)會(huì)帶來(lái)工作量和維護(hù)量,而SCBA則可以解決這個(gè)問(wèn)題,通過(guò)運(yùn)行時(shí)single-copy reuse分享各種服務(wù)功能。
總結(jié)
本文總結(jié)了軟件復(fù)用的不同層次:設(shè)計(jì)復(fù)用、組件架構(gòu)復(fù)用以及業(yè)務(wù)模型復(fù)用,復(fù)用技術(shù) 的不斷發(fā)展正是由于適應(yīng)變化需求的要求不斷提高導(dǎo)致,本人從2002年開(kāi)始從事復(fù)用技術(shù)研究,最初從復(fù)用層次底層設(shè)計(jì)模式開(kāi)始,在國(guó)內(nèi)媒體第一次全面分析了GoF設(shè)計(jì)模式,經(jīng)過(guò)這幾年發(fā)展,親身體會(huì)復(fù)用技術(shù)已經(jīng)進(jìn)入了一個(gè)新的階段。特寫此文作為小結(jié)。
項(xiàng)目經(jīng)理勝任力免費(fèi)測(cè)評(píng)PMQ上線啦!快來(lái)測(cè)測(cè)你排多少名吧~
http://opto-elec.com.cn/pmqhd/index.html