中間件的分類和作用

要說清這個問題我們用一個生活中的實例來比喻。把分佈式系統看作北京市區的交通系統,網絡看作市區馬路,通過交通工具(汽車)實現通信,每分鐘將有幾萬輛車在馬路上行駛,如果沒有相應的交通設施和管理規劃,北京市將會亂成一團,發生各種交通事故。

1. 通信處理(消息)中間件

首先要修好馬路,安裝紅綠燈,設立交通管理機構,制定出交通規則,也就是我們要建網和制定出通信協議,能在不同平臺之間通信,實現分佈式系統中可靠的、高效的、實時的跨平臺數據傳輸(如TongLINK、BEA eLink 、IBM的MQSeries等),稱爲消息中間件。這是中間件中唯一不可缺少的,是需求量最大的中間件產品,目前在Windows 2000操作系統中已包含了其部分功能。

2. 事務處理(交易)中間件

在分佈式事務處理系統中要處理大量事務,常常在系統中要同時進行上萬筆事務。例如在北京市就要設置各種運載汽車,完成日常的運載,同時要隨時監視汽車運行,出現故障時,要有排除措施,發生堵塞時要進行調度。在聯機事務處理系統(OLTP)中,每筆事務常常要多臺服務器上的程序順序地協調完成,一旦中間發生某種故障時,不但要完成恢復工作,而且要自動切換系統,達到系統永不停機,實現高可靠性運行;同時要使大量事務在多臺應用服務器能實時併發運行,並進行負載平衡地調度,實現昂貴的可靠性機和大型計算機系統同等的功能,爲了實現這個目標,要求系統具有監視和調度整個系統的功能。BEA的 Tuxedo由此而著名,它成爲增長率最高的廠商。一個事務處理平臺,根據X/OPEN的參數模型規定,應由事務處理中間件、通信處理中間件以及數據存取管理中間件三部分組成。東方通科技公司的TongLINK 和TongEASY實現了這個參考模型規定。

3. 數據存取管理中間件

在分佈式系統中,重要的數據都集中存放在數據服務器中,它們可以是關係型的、複合文檔型、具有各種存放格式的多媒體型,或者是經過加密或壓縮存放的,該中間件將爲在網絡上虛擬緩存、格式轉換、解壓等帶來方便。

4. Web服務器中間件

瀏覽器圖形用戶界面已成爲公認規範,然而它的會話能力差、不能作數據寫入、受HTTP協議的限制等,就必需進行修改和擴充,形成了 Web服務器中間件,如 SilverStream公司的產品。

5. 安全中間件

一些軍事、政府和商務部門上網的最大障礙是安全保密問題,而且不能使用國外提供的安全措施(如防火牆、加密、認證等),必需用國產的產品。產生不安全因素是由操作系統引起的,但必需要用中間件去解決,以適應靈活多變的要求。

6. 跨平臺和構架的中間件

當前開發大型應用軟件通常採用基於構架和構件技術,在分佈系統中,還需要集成各節點上的不同系統平臺上的構件或新老版本的構件,由此產生了構架中間件,功能最強的是CORBA,可以跨任意平臺,但是太龐大;JavaBeans較靈活簡單,很適合於做瀏覽器,但運行效率差;DCOM模型主要適合 Windows平臺,已廣泛使用。實際上國內新建系統主要是UNIX(包括LINUX)和 Windows,因此針對這兩個平臺建立相應的中間件要實用得多。

7. 專用平臺中間件

爲特定應用領域設計參考模式,建立相應構架,配置相應的構件庫和中間件,爲應用服務器開發和運行特定領域的關鍵任務(如電子商務、網站等)。

8. 網絡中間件

它包括網管、接入、網絡測試、虛擬社區、虛擬緩衝等,也是當前最熱門的研發項目。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章