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