中間件技術(shù)現狀及發(fā)展
1 市場(chǎng)
在全球范圍內, Internet的蓬勃發(fā)展和網(wǎng)絡(luò )計算的需求劇增,使中間件(middleware)正在成為軟件行業(yè)新的技術(shù)與經(jīng)濟增長(cháng)點(diǎn)。IBM、BEA、Oracle、Inprise(原Borland)、Microsoft及Sun等國外廠(chǎng)商早已涉足其中,而國內研究與推廣中間件產(chǎn)品的公司也日漸增多。業(yè)內人士提出,應該將中間件作為發(fā)展自主版權基礎軟件的突破口。根據Forrester Research估計,僅僅是B to B電子商務(wù),到2003年的年收入就將達到1.3萬(wàn)億美元,而基于Internet的電子商務(wù)業(yè)務(wù)將有79%建筑在中間件的基礎之上。無(wú)疑這將帶來(lái)一個(gè)潛力巨大的市場(chǎng)。
1.1 國際市場(chǎng)
根據國際數據公司(IDC)預測,1997-2002年,增長(cháng)率最高的中間件將集中在消息中間件、交易中間件、對象中間件、應用服務(wù)器中間件、數據訪(fǎng)問(wèn)中間件5種(統計數據見(jiàn)下表)。
IDC的市場(chǎng)調查分析
中間件類(lèi)型
1997年銷(xiāo)售額
(億美元)
2002年銷(xiāo)售額(億美元)
年平均增長(cháng)率
亞太市場(chǎng)銷(xiāo)售額(億美元)
消息中間件
3.6
24.5
46%
3.6
交易中間件
3.5
16.5
36%
2.6
對象中間件
1.4
7
34%
0.56
數據訪(fǎng)問(wèn)中間件
6.1
16.5
23%
-
應用服務(wù)器*
-
40
-
-
安全中間件
1.227
3
-
-
由此可見(jiàn),消息中間件是近幾年中間件產(chǎn)品銷(xiāo)售的熱點(diǎn)。Standish 組織[IEEE-1]2001 年的CIO 調查顯示,在新建或是改造戰略性應用程序中有47%的計劃使用交易中間件,27%使用消息中間件。消息中間件適用于任何需要進(jìn)行網(wǎng)絡(luò )通信的系統,可以跨平臺操作,為不同操作系統上的應用軟件集成提供方便,滿(mǎn)足企業(yè)內部對系統伸縮性和可擴展性的要求。 根據X/OPEN組織定義的分布式交易處理參考模型建立的交易中間件,適用于聯(lián)機交易處理系統,管理分布于不同計算機上的數據的一致性,保障系統處理能力的均衡負載。如果也把交易中間件看成是一類(lèi)特殊的消息中間件的話(huà),那么,消息中間件在目前的市場(chǎng)上占據主導地位。作為此類(lèi)中間件主要有IBM的MQSeries、BEA的Tuxedo。
隨著(zhù)面向對象的應用系統的逐漸增長(cháng),對象中間件的需求也在逐年加大。對象技術(shù)的優(yōu)勢和對象中間件的標準化,促使對象中間件的功能將最終涵蓋其它幾類(lèi)中間件的功能而成為中間件產(chǎn)品的主流。各大硬軟件廠(chǎng)商都在積極參與有關(guān)標準的制定和產(chǎn)品開(kāi)發(fā)工作,如IBM、HP、DEC、AT&&T、ICL、Microsoft、Borland等。許多對象中間件的專(zhuān)門(mén)廠(chǎng)商也相繼誕生,目前Iona在全球面向對象中間件市場(chǎng)份額為22.3 %,居第一位。此外,還有BEA的產(chǎn)品M3和Borland的VisiBroker。
1.2 國內市場(chǎng)
1999年軟件市場(chǎng)構成為[IEEE-2]:應用軟件62.6%,支撐軟件25.4%,系統軟件11.9%。2000年軟件市場(chǎng)的分類(lèi)方法上略有改變,分為平臺軟件、中間軟件和應用軟件,其市場(chǎng)情況為:平臺軟件市場(chǎng)為73.8億元,中間軟件市場(chǎng)為9.2億元,應用軟件市場(chǎng)為147億元。
雖然國內中間件市場(chǎng)剛剛啟步,但隨著(zhù)分布式應用系統逐步完成由兩層結構模式向三層結構模式的轉變以及互聯(lián)網(wǎng)和電子商務(wù)的迅猛發(fā)展,我國中間件軟件行業(yè)將很快進(jìn)入迅速成長(cháng)階段。近兩年國內部分公司在中間件技術(shù)上取得突破,東方通科技、東軟、北大青鳥(niǎo)、金蝶、托普等軟件公司紛紛向中間件領(lǐng)域進(jìn)軍。比較成功的有東方通科技的消息中間件TongLINK/Q 、交易中間件TongEASY、分布對象中間件TongBroker,中科院軟件所的網(wǎng)絡(luò )通信中間件ISMQ、分布對象中間件ISBroker等。
2 應用需求
2.1 應用集成和Internet計算
應用集成是推動(dòng)中間件技術(shù)的原動(dòng)力,企業(yè)級應用集成是中間件的主要市場(chǎng)所在?,F有的中間件技術(shù)和集成解決方案(包括CORBA、J2EE、DCOM/COM+及時(shí)下十分火熱的WebService等)已成功地運用在不同領(lǐng)域、不同規模的應用中。但是,現在分布應用呈現的發(fā)展趨勢是:企業(yè)應用不再具有明顯的邊界,規模迅速擴大;集成的依托平臺從較規則的Intranet拓展到無(wú)結構的Internet;集成粒度從單機細粒度成發(fā)展成為分布應用的再集成;集成范圍從單個(gè)企業(yè)內部的資源整合發(fā)展成為多個(gè)企業(yè)之間的協(xié)同合作。企業(yè)級應用面臨的新的挑戰是:
n 各企業(yè)采用的服務(wù)器技術(shù)不同、服務(wù)器提供商不同
n 各企業(yè)數據存儲模式、信息交互模式不同
n 各企業(yè)管理策略不同,彼此存在著(zhù)相互信任問(wèn)題
n WEB環(huán)境下訪(fǎng)問(wèn)量的不可預計需要高可伸縮性、高可用性的服務(wù)器系統
n Internet環(huán)境需要靈活有效的安全控制和QoS保障
n 企業(yè)間的業(yè)務(wù)合作需要完善的工作流控制
n 分布應用的復雜性需要對分布資源和環(huán)境實(shí)施有效地管理
n 傳統的C/S結構并不適合所有應用模式
n 充分保護已有投資
社會(huì )信息化需要打破企業(yè)間的信息界限,實(shí)現多種服務(wù)器技術(shù)的互操作、企業(yè)間數據充分共享和安全交換、工作流程控制、非集中的管理模式。未來(lái)的中間件技術(shù)應以松散的結構支持多種模式交互,以標準通用的格式支持數據無(wú)邊界流動(dòng),面向特定領(lǐng)域為端用戶(hù)提供充分的資源控制;面向復雜的internet環(huán)境提供靈活的負載平衡、容錯恢復機制。
2.2 服務(wù)質(zhì)量
QoS是一個(gè)十分廣泛的概念,在很多領(lǐng)域都有對QoS的研究,例如端用戶(hù)對服務(wù)質(zhì)量的要求、中間件對服務(wù)質(zhì)量的支持,操作系統對服務(wù)質(zhì)量的支持,通信網(wǎng)絡(luò )對服務(wù)質(zhì)量的支持等。
隨著(zhù)中間件向一些應用領(lǐng)域的擴展(如實(shí)時(shí)領(lǐng)域),一些新型的QoS敏感的應用(如遠程醫療、電視會(huì )議、大規模交互式仿真)不斷涌現。它們對QoS有方面的需求,如帶寬、延遲、抖動(dòng),但傳統的中間件提供的best-effort能力已經(jīng)不能這些滿(mǎn)足應用的需求,需要在中間件中提供對應的QoS機制以滿(mǎn)足應用的需求。此外,對于使用付費服務(wù)的客戶(hù)來(lái)說(shuō),QoS分級控制與他們的切身利益直接相關(guān),也是他們所關(guān)心的。
應用需要QoS中間件一般要具有如下功能[IEEE-3]:
l 向應用程序提供一種高級編程范形,使應用程序能夠指定QoS要求
l 向應用程序提供QoS協(xié)商和QoS控制機制
l 能夠操作于開(kāi)放動(dòng)態(tài)的環(huán)境之中,能夠適應環(huán)境的動(dòng)態(tài)變化(也即具有自適應性)
l 具有一般性和靈活性,能夠支持許多(將來(lái)的)系統相關(guān)的QoS機制,從而支持多維QoS
l 具有QoS監控功能
l 具有QoS管理功能,提供服務(wù)質(zhì)量的中間件應當能夠對自己提供的QoS進(jìn)行管理,能夠向高層提供中間件層目前的QoS能力。
2.3 移動(dòng)設備接入[4]
隨著(zhù)無(wú)線(xiàn)互聯(lián)技術(shù)趨于實(shí)用,移動(dòng)設備和其它手持式數字設備成為分布應用的一個(gè)不可忽視的平臺。無(wú)線(xiàn)通信協(xié)議(如WAP標準)使得便攜式電腦、PDA、手機、車(chē)載信息設備有條件擺脫線(xiàn)纜的束縛而提供anywhere &anytime的信息訪(fǎng)問(wèn)能力。但無(wú)線(xiàn)設備面對的是一個(gè)不均衡、不穩定的網(wǎng)絡(luò ),不同位置網(wǎng)絡(luò )帶寬相差很大,網(wǎng)絡(luò )拓撲結構處于不斷變化之中,無(wú)線(xiàn)設備使用電池也常常使設備從網(wǎng)絡(luò )連接上斷開(kāi)而成為不可達的結點(diǎn)。因此,適用于無(wú)線(xiàn)設備的中間件需要提供機制偵測網(wǎng)絡(luò )狀況的變化,并跟據新的通信條件和服務(wù)質(zhì)量要求重新配置組件。此外,對于某些位置敏感的移動(dòng)應用,需要中間件提供環(huán)境信息來(lái)指導應用行為,這與傳統中間件的“位置透明”原則是相背的。
3 研發(fā)熱點(diǎn)
3.1 松散藕合的服務(wù)器技術(shù)
企業(yè)應用集成和Internet應用的發(fā)展需要不同服務(wù)器技術(shù)的互操作。目前的研發(fā)熱點(diǎn)是微軟提出、并得到IBM、SUN等數家大公司支持合作的WebService,及基于SOAP的服務(wù)器互聯(lián)技術(shù)。
3.1.1 技術(shù)概述
WebService是一種Internet上松散藕合的軟組件技術(shù),它利用十分成熟的WEB技術(shù)和XML格式的消息編碼,使得服務(wù)的遠程訪(fǎng)問(wèn)可以突破防火墻和應用服務(wù)器的限制,實(shí)現廣域網(wǎng)范圍內的分布計算。它的主要技術(shù)特征包括:
l 使用XML描述消息交互
l 使用SOAP協(xié)議將靜態(tài)Web改造成為一個(gè)分布計算平臺;
l 用WSDL進(jìn)行服務(wù)描述
l 基于UDDI進(jìn)行服務(wù)的發(fā)布和發(fā)現
在某個(gè)網(wǎng)絡(luò )中分布應用程序邏輯并不是新概念,在Web中分布并集成應用程序才是一個(gè)新概念。WebService的價(jià)值在于提供了簡(jiǎn)單的服務(wù)器技術(shù)集成方案,而它可能帶來(lái)的軟件開(kāi)發(fā)和軟件銷(xiāo)售的變革可能比技術(shù)本身更有意義。但是WebService并不是(至少目前尚不是)一套完整的服務(wù)器技術(shù)體系,實(shí)際上它僅規定了服務(wù)描述、發(fā)布和通信交互的規范,而對服務(wù)的具體實(shí)現手段沒(méi)有限制,它自身也沒(méi)有提供諸如安全、事務(wù)等企業(yè)應用特性。因此,WebService不可能脫離具體的服務(wù)器技術(shù),Service的具體仍實(shí)現需要依賴(lài)CORBA、JavaBean、COM等手段。
3.1.2 產(chǎn)品開(kāi)發(fā)
目前,各主要中間件公司(如IBM、Microsoft、SoftwareAG、INOA、CapeClear、Rogue Wave Software)紛紛將對WebService的支持列入發(fā)展計劃,并推出支持WebService的應用開(kāi)發(fā)系統或推出原有應用服務(wù)器的SOAP擴展,典型的如Microsoft .NET、iona的XMLBus、RogueWave的Xorba、CapeClear的CapeConnect。它們的基本特點(diǎn)有:
1. 依賴(lài)于特定的WEB服務(wù)器或應用服務(wù)器提供服務(wù)器端的SOAP綁定
2. 支持兩種模式的WebService開(kāi)發(fā):
n 自頂向下:首先給出WSDL描述,然后將其映射為服務(wù)端skeleton
n 自底向上:將已有的CORBA對象、EJB、JavaClass包裝為WebService,實(shí)現SOAP到IIOP(RMI)的橋接及IDL(或 java interface)到WSDL的自動(dòng)轉換
3. 服務(wù)的具體實(shí)現依賴(lài)于原有的服務(wù)器技術(shù)
4. 支持靜態(tài)和動(dòng)態(tài)方式構造SOAP請求
5. 私有的編程API
6. 集成各種輔助工具,如WSDL生成工具、XML消息查看器、通用測試客戶(hù)端等
3.1.3 研究?jì)热?div style="height:15px;">
對于WebService的研究工作主要包括WebService協(xié)議棧本身的研究、WebService與現有服務(wù)器技術(shù)結合標準化兩方面,如:
n 基于XML的安全機制,如Security Assertions Markup Language (SAML)[IEEE-8]、XML Key Management System (XKMS)[5]、XML Access Control Markup Language(XACML)[IEEE-6]、SOAP-DIG[IEEE-7](W3C)等
n 基于UDDI的服務(wù)發(fā)布規范和服務(wù)檢索
n 基于WebService的服務(wù)銷(xiāo)售和計費模式
n CORBA與SOAP協(xié)議的集成,如OMG的簡(jiǎn)單CORBA對象訪(fǎng)問(wèn)協(xié)議草案(SCOAP Submission)[IEEE-9]
3.2 基于XML的數據交換
3.3 支持QoS的中間件
隨著(zhù)網(wǎng)絡(luò )通信QoS 在理論上、標準上的逐漸完善和實(shí)踐中的逐步推廣實(shí)施,推動(dòng)了操作系統層QoS 和中間件層QoS 的研究。在最新的CORBA 2.5規范[IEEE-14]中對QoS進(jìn)行了詳細的定義,涉及了如下的一些內容:實(shí)時(shí)CORBA、容錯CORBA、CORBA Messaging 、minumCORBA等。
3.3.1 研究?jì)热?div style="height:15px;">
QoS研究的趨勢是提供一個(gè)QoS集成框架,在這個(gè)框架中能夠集成多維QoS,包括實(shí)時(shí)性、可靠性、性能、安全和容錯等。與中間件中的QoS相關(guān)的問(wèn)題大體上包括:QoS定義機制、QoS映射機制、QoS控制機制、QoS管理機制、QoS監控機制、QoS協(xié)商機制。提供QoS的途徑之一是利用OCI接口,通過(guò)私有的協(xié)議在中間件中集成QoS(例如通過(guò)IP Multicast實(shí)現容錯服務(wù))。中間件向應用提供的定義QoS的方法有:通過(guò)IDL定義語(yǔ)言、通過(guò)擴展后的IDL定義語(yǔ)言、通過(guò)專(zhuān)門(mén)的QoS定義語(yǔ)言、通過(guò)策略設置等
提高應用系統的自適應性是目前中間件中QoS研究的另一個(gè)目標。應用系統需要根據運行環(huán)境的動(dòng)態(tài)變化而適應性的作出變化,所以需要中間件提供相應的機制使應用能夠感知環(huán)境的變化同時(shí)采取不同的對策。反射式中間件是一個(gè)解決方案。
3.3.2 研究實(shí)例:
QoS-A
英國Lancaster 大學(xué)計算機系的QoS-A是一個(gè)QoS體系結構,它提供了一個(gè)框架來(lái)指定和實(shí)現施運行于基于A(yíng)TM的高性能網(wǎng)絡(luò )之上的多媒體應用的性能屬性。QoS-A提供“系統范圍的QoS”,包括端系統、通信系統和網(wǎng)絡(luò )。QoS-A體系結構由協(xié)議平面、QoS維持平面和流管理平面三個(gè)平面(plane)組成,它能夠翻譯QoS要求,預留由網(wǎng)絡(luò )和操作系統提供的資源,并能透明的進(jìn)行QoS適應(不需要應用干預),當QoS發(fā)生變化時(shí)可以通知應用程序。但是,QoS-A并不適合于開(kāi)放的環(huán)境,由于與底層的系統緊密集成在一起,QoS-A無(wú)法與不同的資源預留協(xié)議交互。此外,它的應用領(lǐng)域被限制到多媒體系統,它的QoS機制不能被應用編程人員擴展。
Q-RAM
Carnegie Mellon 大學(xué)的Q-RAM研究系統中具有多個(gè)應用,每個(gè)應用都有其多方面的QoS 需求并相互競爭多種資源的情況下,如何同時(shí)滿(mǎn)足這些應用的QoS 需求,如何分配多種資源,使得整體效果最優(yōu)。Q-RAM 的研究重點(diǎn)在資源的最優(yōu)化分配,它第一次提出了多維QoS 和多維資源的概念,但是比較偏重于理論和數學(xué)模型。
QUO
目前在CORBA 平臺上進(jìn)行QoS 研究的主要代表是BBN 的QUO、Washington 大學(xué)的ACE+TAO,以及OMG 的一些支持QoS 的規范。
QUO的設計思想如下:客戶(hù)對QoS有一定期望,針對不同的QoS期望客戶(hù)可能有不同的行為,系統在某一時(shí)刻的狀態(tài)決定了系統在當前時(shí)刻可以提供的QoS,客戶(hù)可以根據當前的系統QoS狀態(tài),適應性地采取不同的行為。
QUO 設計了一個(gè)質(zhì)量描述語(yǔ)言QDL,由合同描述語(yǔ)言CDL 、結構描述語(yǔ)言SDL 和資源描述語(yǔ)言RDL 組成。為了描述客戶(hù)和某個(gè)對象間的QoS 合同,包括客戶(hù)期望的QoS 和對象能提供的QoS ,監測和控制QoS 的系統對象,以及監測到QoS 改變時(shí)采取的行動(dòng),QUO提供了CDL。為了描述QUO 應用程序的結構和指定適應性行為,QUO提供了SDL。為了描述可以獲得的系統資源及其狀態(tài),QUO提供了RDL。為了監控系統目前的狀態(tài),QUO在內核中增加了系統條件對象。
ACE+TAO
Washington 大學(xué)在QoS 方面的研究體現在TAO 中的調度服務(wù)和ACE 中的AQoSA。TAO調度服務(wù)為應用開(kāi)發(fā)者提供了接口來(lái)指定對象操作的執行周期、最壞情況執行時(shí)間、重要程度、緊急程度等QoS 參數,根據系統中所有操作的QoS 進(jìn)行調度分析,并映射到ORB 中的分發(fā)優(yōu)先級。AQoSA 是在A(yíng)CE 中提供了統一的QoS API 來(lái)為上層屏蔽底層的不同的QoS 協(xié)議和接口。這些QoS API可以通過(guò)TAO向應用提供,也可與高層的中間件服務(wù)集成。
Trinity學(xué)院的Quartz
愛(ài)爾蘭都柏林Trinity 學(xué)院的Quartz是為了實(shí)現CORBA A/V Streaming 服務(wù)而設計和實(shí)現的一個(gè)QoS 框架結構,使得CORBA 應用可以傳輸實(shí)時(shí)媒體。QoS定義是通過(guò)CORBA A/V Streaming 服務(wù)的接口來(lái)指定的。Quartz是一個(gè)在開(kāi)放系統中定義和實(shí)施QoS的QoS體系結構,它基于可替換的組件,具有靈活性和可擴展性、支持QoS適應
Twente大學(xué)的QoS集成方法
Twente大學(xué)的QoS集成方法的思想是利用特殊的協(xié)議來(lái)支持QoS,同時(shí)維護互操作性。它們成功地利用OCI接口使用特殊的協(xié)議擴展了ORB,實(shí)現了IP 組播,從而實(shí)現了容錯QoS。為了實(shí)現IP 組播,它們修改了對象引用(IOR),在IOR中包含了組的IP地址。這樣就通過(guò)組抽象實(shí)現了副本透明性(Replication Transparancy)。
3.4 反射式中間件
現在中間件技術(shù)已運用于各個(gè)領(lǐng)域,如安全、事務(wù)處理、嵌入、實(shí)時(shí)等,但傳統的中間件內部結構的不可見(jiàn)的、提供的服務(wù)是固定的、所使用的協(xié)議和采取的管理策略也是預先設定的。這使得中間件本身成為一個(gè)“死”的、不可進(jìn)化的實(shí)體,它不能跟據平臺、環(huán)境的變化或技術(shù)的發(fā)展動(dòng)態(tài)的調整自已的功能和性能。例如,QoS框架需要中間件具有環(huán)境感知能力,即能夠跟據網(wǎng)絡(luò )連接狀況的變化動(dòng)態(tài)進(jìn)行QoS的重配置,實(shí)現QoS的自適應管理。下一代的中間件應是:針對特定應用域是可配置的、可動(dòng)態(tài)重配置和可進(jìn)化的[IEEE-4]。反射式體系結構即是在這種背景下提出的。
3.4.1 技術(shù)概述
“反射”的思想最初來(lái)源于程序語(yǔ)言及操作系統。一個(gè)反射系統是指該系統提供描述自身行為、修改自身狀態(tài)的能力。Pattie Maes在1987年首次提出這一概念時(shí),用causally connected self representation (CCSR)[10]描述“反射”的含義。這一方法的關(guān)鍵是提供元接口來(lái)支持對底層虛擬機的狀態(tài)檢查和修改[IEEE-14]。元接口提供獲取中間件平臺內部操作和結構的操作,并能在運行時(shí)刻修改它們。如何設計元接口是反射式中間件研究的中心內容,接口應足夠通用,從而允許未來(lái)對平臺的不可預見(jiàn)的修改,另一方面,又必須保證接口的暴露不致于破壞系統的完整性。
將反射機制運用于中間件,將使得中間件對環(huán)境具有更好的適應性,尤其是當中間件位于動(dòng)態(tài)變化的環(huán)境(如群組通信、實(shí)時(shí)系統、嵌入式環(huán)境、移動(dòng)計算環(huán)境)中時(shí)。以移動(dòng)環(huán)境下的多媒體應用為例,當移動(dòng)主機位通過(guò)高帶寬的線(xiàn)纜接入時(shí),網(wǎng)絡(luò )的延遲很??;而當移動(dòng)主機處于移動(dòng)過(guò)程中,使用GSM或其它無(wú)線(xiàn)接入方式時(shí),網(wǎng)絡(luò )延遲和誤碼率則較大。反射式中間件能檢測網(wǎng)絡(luò )連接質(zhì)量,并能根據條件變化自動(dòng)的更替底層的發(fā)送機制。例如,當主機使用無(wú)線(xiàn)接入時(shí),中間件可采用壓縮比更高的模塊來(lái)發(fā)送視頻流。中間件可以檢查模塊間的依賴(lài)關(guān)系,實(shí)現模塊的動(dòng)態(tài)、自動(dòng)替換,從而實(shí)現中間件系統的自動(dòng)適應和演化。
3.4.2 研究現狀
目前,反射式中間件的思想已在許多中間件及分布應用的設計與實(shí)現中有所體現,例如:
1. Open ORB[IEEE-13] OpenORB體系結構基于組件和反射兩種技術(shù)來(lái)提高系統的可配置和可重配置能力。一個(gè)OpenORB的實(shí)例就是一個(gè)可在運行時(shí)配置和重配置的組件。提供反射機制的核心概述是元空間(metaspace),它由組件的運行環(huán)境支持。元空間是遞歸的(如下圖所示),每一個(gè)應用組件提供提供元接口來(lái)訪(fǎng)問(wèn)底層運行環(huán)境的元空間,這個(gè)元空間又由組件構成,它些元級組件同樣具有元接口來(lái)訪(fǎng)問(wèn)它們的運行環(huán)境。OpenORB的支持兩層反射:結構反射和行為反射。結構反射處理特定組件的內容和結構;行為反射處理系統底層行為。
2. the University of Illinois[IEEE-12][IEEE-15] 正在嘗試使用反射思想為T(mén)AO引用動(dòng)態(tài)重配置能力(dynamicTao),他們使用配置器來(lái)維護組件之間的依賴(lài)關(guān)系,可以動(dòng)態(tài)地增加或解除一個(gè)組件。
3. Trinity Colleage Dublin[IEEE-11][IEEE-15] 利用反射語(yǔ)言lguana來(lái)開(kāi)發(fā)更開(kāi)放和擴展性更好的中間件平臺,可以使用反射語(yǔ)言提供的設施來(lái)訪(fǎng)問(wèn)或修改平臺。他們還嘗試在minimal CORBA中引入反射機制。
4. Ecole des Mine de Nantes[IEEE-12]的OpenCORBA 依賴(lài)于反射語(yǔ)言NeoClasstalk的動(dòng)態(tài)ORB
5. APM的中間件FlexiNet[IEEE-12] 允許程序員剪裁底層的通信機制
6. 此外 TAO和QuO[IEEE-15]等中間件中也采納了反射機制
3.5 消息中間件
RPC、ROI機制對于C/S應用是適合的,它提供的是一種同步的請求/應答的交互模式。僅管CORBA中也提供了oneway消息、異步消息調用、消息路由等機制,但CORBA中的異步實(shí)現的并不是真正的異步,只是將等待應答的任務(wù)交給了另一個(gè)線(xiàn)程中的對象而已。這種程度的異步和消息管理不能滿(mǎn)足某些應用的需求,尤其是那些分布于大量異構平臺、要求異步和時(shí)間無(wú)關(guān)性的應用。這種情況下,消息中間件(MOM)和基于事件的中間件是更好的選擇。
3.5.1 技術(shù)概述
MOM利用高效可靠的消息傳遞機制進(jìn)行平臺無(wú)關(guān)的數據交流,通過(guò)提供消息傳遞和消息排隊模型,在分布環(huán)境下擴展進(jìn)程間的通信,并支持多通訊協(xié)議、語(yǔ)言、應用程序、硬件和軟件平臺?;谙⒌臋C制更多地適用于事件驅動(dòng)的應用,當一個(gè)事件(如請求,或警示)發(fā)生時(shí),消息中間件發(fā)送消息通知服務(wù)方應該進(jìn)行何種操作。消息中間件可分為兩類(lèi):廣播方式和發(fā)布/訂閱方式。目前流行的MOM中間件產(chǎn)品有IBM的MQSeries、BEA的MessageQ等。
消息中間件技術(shù)適用于松散的、異步交互的大規模分布系統,它的優(yōu)點(diǎn)是:
n 通迅的雙方具有時(shí)間無(wú)關(guān)性。通訊程序通過(guò)消息隊列進(jìn)行間接通迅,因為它們不必同時(shí)運行。
n 對應用程序的結構沒(méi)有約束,通訊程序之間不僅可以是一對一的關(guān)系,還可以進(jìn)行一對多和多對一方式,多種通訊方式的構造不公增加應用程序的復雜性。
n 程序與網(wǎng)絡(luò )復雜性相隔離,應用程序只需操作消息隊列而維護消息隊列、維護程序和隊列之間的關(guān)系、處理網(wǎng)絡(luò )的重新啟動(dòng)和在網(wǎng)絡(luò )中移動(dòng)消息等由MOM透明地完成。
3.6 移動(dòng)中間件
移動(dòng)計算的發(fā)展,使移動(dòng)中間件成為中間件領(lǐng)域一個(gè)新興的研究方向。今年IDC中間件市場(chǎng)分析報告集中關(guān)注移動(dòng)中間件的發(fā)展,在一程度上說(shuō)明了移動(dòng)中間件的商業(yè)價(jià)值和研究?jì)r(jià)值。
移動(dòng)中間件支持自動(dòng)定位、跟蹤移動(dòng)用戶(hù),支持移動(dòng)實(shí)體間的通信和協(xié)調,并提供異構系統間適當的安全機制。構建移動(dòng)中間件的一個(gè)方案[IEEE-17]是基于現有的mobile agent平臺,如IBM的alget,為移動(dòng)用戶(hù)提供一個(gè)統一的虛擬環(huán)境及公共服務(wù)。
現在所知的研究項目及商業(yè)產(chǎn)品有:
n 歐洲的OnTheMove[IEEE-16]計劃:至力于設計實(shí)現一個(gè)移動(dòng)應用支撐環(huán)境 (MASE),它提供了一組移動(dòng)API來(lái)訪(fǎng)問(wèn)MASE,從而隱藏底層網(wǎng)絡(luò )的多樣性、 Dartmouth Agent TCL
n IBM的BlueDrekar:一個(gè)基于藍牙無(wú)線(xiàn)裝置連接規則的Linux中間件
n NetTech System的ExpressQ[IEEE-18]?。褐С制髽I(yè)數據的無(wú)線(xiàn)交換
4 發(fā)展趨勢
中間件作為與應用聯(lián)系最的緊密的基礎軟件,應用需求的發(fā)展在中間件上有最迅速、直接的映射。如何更好地解決分布應用面臨的實(shí)際問(wèn)題應成為中間件發(fā)展的最終目標。由于應用需求是多樣的,所以中間件的發(fā)展方向也必然是多樣的,沒(méi)有一個(gè)通用的模式能囊括未來(lái)中間件的所有特征。但下述幾個(gè)方向是可以考慮的:
1. 向企業(yè)應用和Internet應用,發(fā)展基于構件的信息集成的中間件
路線(xiàn)是“走XML集成之路”,研究的內容包括:
n 不同平臺互操作
n 基于XML的信息資源整合
n 基于XML的數據管理
n 服務(wù)器的管理調度講述
n 工作流程的模型定義、控制管理
2. 面向特定QoS要求,發(fā)展支持服務(wù)質(zhì)量管理的中間件
研究?jì)热莅ǎ?div style="height:15px;">