
摘 要:隨著構(gòu)件復(fù)用研究的深入和中間件應(yīng)用領(lǐng)域的擴(kuò)大,構(gòu)件技術(shù)及中間件成為目前研究的熱點(diǎn)。本文分析構(gòu)件化軟件及中間件的本質(zhì),探討了構(gòu)件與中間件之間的聯(lián)系,為構(gòu)件化軟件指導(dǎo)中間件開(kāi)發(fā)提供一條可行途徑。
關(guān)鍵詞:構(gòu)件化軟件 中間件 復(fù)用
中圖分類(lèi)號(hào):T33文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1672-3791(2012)09(a)-0006-01
隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展,計(jì)算機(jī)的應(yīng)用范圍越來(lái)越廣泛,軟件的規(guī)模不斷擴(kuò)大,系統(tǒng)組織形式由以往的集中式逐漸向分布式轉(zhuǎn)變。軟件開(kāi)發(fā)面臨著兩類(lèi)問(wèn)題,其一,提高軟件生產(chǎn)率與質(zhì)量、降低系統(tǒng)開(kāi)發(fā)周期與成本、增強(qiáng)系統(tǒng)靈活性與可維護(hù)性的問(wèn)題;其二,解決在分布異構(gòu)環(huán)境下不同類(lèi)型、不同地理位置的軟、硬件系統(tǒng)之間的通信、集成問(wèn)題。基于此,構(gòu)件技術(shù)及中間件成為目前研究的熱點(diǎn)。
1 構(gòu)件化軟件
本文將構(gòu)件分成六個(gè)層:語(yǔ)義層描述構(gòu)件具體實(shí)現(xiàn)功能,是構(gòu)件價(jià)值的體現(xiàn);基約層用來(lái)描述構(gòu)件實(shí)體提供或需求服務(wù)的接口,負(fù)責(zé)構(gòu)件之間的通信,連接包括一組參數(shù);技術(shù)層描述構(gòu)件適應(yīng)具體的操作平臺(tái)、兼容語(yǔ)言等;契約層即行為交互層,描述構(gòu)件之間及構(gòu)件與環(huán)境之間的行為交互,包括消息的順序、消息的同步、消息的異步及消息堵塞等條件;服務(wù)層描述構(gòu)件非功能屬性,主要指構(gòu)件的服務(wù)質(zhì)量;構(gòu)件是可在一定的范圍內(nèi),有限制的修改以達(dá)到提高復(fù)用目的,同時(shí)構(gòu)件多次復(fù)用具有持久性,即構(gòu)件多次復(fù)用的結(jié)果是一致的,修改后的構(gòu)件獨(dú)立于原構(gòu)件。
根據(jù)以上的分析,本文從復(fù)用觀點(diǎn)出發(fā),認(rèn)為構(gòu)件是具有相對(duì)獨(dú)立的功能,顯示且嚴(yán)格的接口描述,具體的語(yǔ)境依賴(lài),特定的契約約束,相對(duì)明確的服務(wù)指標(biāo),可被限制性修改且能多次復(fù)用、易于組裝的軟件單元。
2 中間件
“中間件”這一術(shù)語(yǔ)最早出現(xiàn)在20世紀(jì)80年代后期,用于描述網(wǎng)絡(luò)連接管理軟件。90年代中期,隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,中間件的概念日益普及,學(xué)術(shù)界和工業(yè)界都對(duì)此做了大量的研究。
盡管目前尚沒(méi)有統(tǒng)一的中間件的定義,但對(duì)中間件的內(nèi)涵各個(gè)研究組織已有相同認(rèn)識(shí):中間支撐機(jī)制。從狹義角度看,中間件是指網(wǎng)絡(luò)環(huán)境下處于操作系統(tǒng)和應(yīng)用軟件之間的一種分布式軟件,它將系統(tǒng)軟件和應(yīng)用軟件很好地連接起來(lái),使得網(wǎng)絡(luò)環(huán)境下的各個(gè)進(jìn)程可以方便的交流信息。從廣義角度,中間件是一處于系統(tǒng)軟件和中應(yīng)用軟件之間的中間層軟件,為應(yīng)用軟件的開(kāi)發(fā)提供支持,類(lèi)似于一種應(yīng)用軟件的開(kāi)發(fā)平臺(tái)。
隨著計(jì)算機(jī)技術(shù)的發(fā)展,中間件技術(shù)日益成熟,除了對(duì)象中間件、數(shù)據(jù)訪問(wèn)中間件等傳統(tǒng)中間件外,反射中間件、移動(dòng)中間件等新型中間件相繼出現(xiàn),并對(duì)傳統(tǒng)中間件的發(fā)展產(chǎn)生了巨大的推動(dòng)作用。
3 構(gòu)件與中間件之間的聯(lián)系
3.1 中間件為構(gòu)件存在提供了基礎(chǔ)
中間件的主旨是簡(jiǎn)化分布系統(tǒng)的構(gòu)造,其基本思想是:抽取分布系統(tǒng)構(gòu)造中的共性問(wèn)題,封裝這些共性問(wèn)題的解決機(jī)制,對(duì)外提供簡(jiǎn)單統(tǒng)一的接口,從而減少開(kāi)發(fā)人員在解決這些共性問(wèn)題時(shí)的難度和工作量。
構(gòu)件的存在必須以構(gòu)架為基礎(chǔ),構(gòu)架是構(gòu)件運(yùn)行的容器,拋開(kāi)構(gòu)架談構(gòu)件是空洞的、無(wú)意義的。而中間件與構(gòu)架實(shí)際上從兩種不同角度描述軟件的中間層,同時(shí)中間件簡(jiǎn)化分布系統(tǒng)的構(gòu)造和設(shè)計(jì)。從本質(zhì)上看中間件是一種構(gòu)架、促進(jìn)了構(gòu)件化軟件的發(fā)展;是構(gòu)件模型具體實(shí)現(xiàn)的基礎(chǔ)。如圖1所示:中間件提供了構(gòu)件之間的非直接互交,構(gòu)件之間可以通過(guò)一個(gè)標(biāo)準(zhǔn)的中間件進(jìn)行交互。一個(gè)構(gòu)件發(fā)布它的服務(wù)到該中間件,其他構(gòu)件可以通過(guò)查詢服務(wù),進(jìn)而發(fā)出請(qǐng)求得到服務(wù)不需知道其他構(gòu)件的具體位置,實(shí)現(xiàn)了位置的透明性。
C代表:構(gòu)件——在該結(jié)構(gòu)模型中稱(chēng)為結(jié)構(gòu)點(diǎn),有三個(gè)獨(dú)特的特征。
?。?)一個(gè)結(jié)構(gòu)點(diǎn)是一個(gè)抽象具有有限數(shù)量的實(shí)例。
?。?)支配結(jié)構(gòu)點(diǎn)使用的規(guī)則應(yīng)該易理解,同時(shí)接口應(yīng)該簡(jiǎn)單。
?。?)結(jié)構(gòu)點(diǎn)封裝內(nèi)部的復(fù)雜性和實(shí)現(xiàn)細(xì)節(jié)。
M代表:中間件——不僅實(shí)現(xiàn)了構(gòu)件之間的互交,同時(shí)也實(shí)現(xiàn)了與操作平臺(tái)的交互。
Platform代表:操作平臺(tái)。
3.2.1 構(gòu)件思想對(duì)中間件的影響
中間件是一類(lèi)軟件,自然屬于軟件產(chǎn)品,構(gòu)件化軟件開(kāi)發(fā)方法毫無(wú)疑問(wèn)可以用于開(kāi)發(fā)中間件這類(lèi)軟件。
中間件作為分布式計(jì)算平臺(tái),其最基本的設(shè)計(jì)目標(biāo)是:實(shí)現(xiàn)統(tǒng)一分配資源、實(shí)現(xiàn)互操作性、實(shí)現(xiàn)可擴(kuò)展性和實(shí)現(xiàn)便于系統(tǒng)管理。根據(jù)構(gòu)件技術(shù)的基本思想,首先,可以建立針對(duì)資源的構(gòu)件庫(kù),來(lái)實(shí)現(xiàn)資源的統(tǒng)一分配;其次,對(duì)于實(shí)現(xiàn)互操作性的關(guān)鍵是實(shí)現(xiàn)接口與實(shí)現(xiàn)的分離,構(gòu)件具有規(guī)范的接口能夠滿足中間件的互操作性;再次:隨著應(yīng)用系統(tǒng)的動(dòng)太增加,要求中間件必須具備可擴(kuò)展性,即設(shè)計(jì)可伸縮的中間件的體系結(jié)構(gòu),這樣中間件的一部分可用構(gòu)件來(lái)實(shí)現(xiàn);最后:為了便于管理中間件必須具有可配置性,這樣的設(shè)計(jì)可以用構(gòu)件來(lái)代替,基于構(gòu)件化開(kāi)發(fā)的中間件各構(gòu)件自身是獨(dú)立可配置的功能單元,只需簡(jiǎn)單的集成便于系統(tǒng)的管理。
總之,構(gòu)件化軟件開(kāi)發(fā)設(shè)計(jì)的思想對(duì)中間件的開(kāi)發(fā)有一定的指導(dǎo)意義,在未來(lái)的軟件開(kāi)發(fā)中有一定的市場(chǎng)。
4 結(jié)語(yǔ)
構(gòu)件化軟件被視為軟件復(fù)用有效手段之一,中間件技術(shù)被當(dāng)成屏蔽分布異構(gòu)環(huán)境下系統(tǒng)通信平臺(tái),基于此,本文分析構(gòu)件化軟件的實(shí)質(zhì)及中間件技術(shù)的發(fā)展?fàn)顩r,探討了構(gòu)件化軟件與中間件之間的聯(lián)系,為構(gòu)件化軟件指導(dǎo)中間件開(kāi)發(fā)提供一條可行途徑。
參考文獻(xiàn)
[1] 梅宏.軟件中間件技術(shù)現(xiàn)狀及發(fā)展[R].中國(guó)計(jì)算機(jī)科學(xué)技術(shù)發(fā)展報(bào)告:45-61.
[2] 楊芙清,呂建,梅宏.網(wǎng)構(gòu)軟件技術(shù)體系:一種以體系結(jié)構(gòu)為中心的途徑[J].中國(guó)科學(xué)E輯:信息科學(xué),2008,38(6):2991-3000.
[3] Qi Huacheng;Rong Mei,Zhang Guangquan;A behavior-driven model of component interaction adaptation[C].Computer Science & Education,200