中間件技術概述

中間件定義及分類
   中間件(Middleware)是處於操作系統和應用程序之間的軟件,也有人認爲它應該屬於操作系統中的一部分。人們在使用中間件時,往往是一組中間件集成在一起,構成一個平臺(包括開發平臺和運行平臺),但在這組中間件中必需要有一個通信中間件,即中間件=平臺+通信,這個定義也限定了只有用於分佈式系統中才能稱爲中間件,同時還可以把它與支撐軟件和實用軟件區分開來。

  按照IDC的分類方法,中間件可分爲六類。

  1.終端仿真/屏幕轉換:用以實現客戶機圖形用戶接口與已有的字符接口方式的服務器應用程序之間的互操作;

  2.數據訪問中間件:是爲了建立數據應用資源互操作的模式,對異構環境下的數據庫實現聯接或文件系統實現聯接的中間件;在分佈式系統中,重要的數據都集中存放在數據服務器中,它們可以是關係型的、複合文檔型、具有各種存放格式的多媒體型,或者是經過加密或壓縮存放的,這類中間件將爲在網絡上虛擬緩衝存取、格式轉換、解壓等帶來方便。

  3.遠程過程調用中間件:通過這種遠程過程調用機制,程序員編寫客戶方的應用,需要時可以調用位於遠端服務器上的過程;

  4.消息中間件:用來屏蔽掉各種平臺及協議之間的特性,實現在不同平臺之間通信,實現分佈式系統中可靠的、高效的、實時的跨平臺數據傳輸,實現應用程序之間的協同。這是中間件中唯一不可缺少的,是銷售額最大的中間件產品,主要產品有國內東方通科技公司的TongLINK、BEA公司的BEA eLink 、IBM公司的MQSeries等,目前在Windows 2000操作系統中已包含了其部分功能。

  5.交易中間件:是在分佈、異構環境下提供保證交易完整性和數據完整性的一種環境平臺。在分佈式事務處理系統中要處理大量事務,常常在系統中要同時做上萬筆事務。在聯機事務處理系統 (OLTP)中,每筆事務常常要多臺服務器上的程序順序地協調完成,一旦中間發生某種故障時,不但要完成恢復工作,而且要自動切換系統,達到系統永不停機,實現高可靠性運行;同時要使大量事務在多臺應用服務器能實時併發運行,並進行負載平衡地調度,實現昂貴的可靠性機和大型計算機系統同等的功能,爲了實現這個目標,要求系統具有監視和調度整個系統的功能。根據X/OPEN的DTP(Distributed Transaction Processing )模型規定,一個分佈式交易處理系統應由事務處理、通信處理以及資源管理三部分組成。BEA公司的TUXEDO便是最著名的一個交易中間件產品,東方通科技公司的TongLINK 和TongEASY實現了DTP參考模型規定,另外還有IBM公司的TXSeriers是應用廣泛的一個交易中間件產品。

  6.對象中間件:在分佈、異構的網絡計算環境中,可以將各種分佈對象有機地結合在一起,完成系統的快速集成,實現對象重用,在這個方面遵循的標準是 CORBA。對象中間件將是未來的主流,目前產品如東方通的TONG BROKER,INPRICE公司的Borland Application Server。

  當然,IDC的分類並不能包含目前所有的中間產品,比較流行的還有:

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

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

  爲什麼要中間件
   中間件是構件化軟件的一種表現形式。中間件抽象了典型的應用模式,應用軟件製造者可以基於標準的中間件進行再開發,這種操作方式其實就是軟件構件化的具體實現。

  對於用戶來說,選擇中間件產品,主要是基於以下幾個方面的好處: 
   首先,中間件產品對各種硬件平臺、操作系統、網絡數據庫產品以及Client端實現了兼容和開放。例如,曾有一位BEA的客戶從IBM平臺遷移到Sun 的平臺,原來開發的200萬行C語言代碼僅僅花了3個小時就重新編譯完成,沒有遇到任何問題。如果沒有中間件,這樣的平臺遷移勢必將大費周折。

  其次,中間件保持了平臺的透明性,使開發者不必考慮操作系統的問題。

  其三,中間件實現了對交易的一致性和完整性的保護,提高了系統的可靠性。

  其四,中間件產品可以降低開發成本,提高工作效率。The Standish Group分析了100個關鍵應用系統中的業務邏輯程序、應用邏輯程序及基礎程序所佔的比例,結果發現,業務邏輯程序、應用邏輯程序僅佔總程序量的 30%,而基礎程序卻佔了70%。如果以新一代的中間件系列產品進行組合應用,同時配合可複用的商務對象構件,則應用開發費用可望節省80%。

  其五,基礎軟件的開發還是一件耗時費力的工作,如果使用標準商業中間件,大部分的編程工作將得以節省,用戶可以將注意力集中於個性化的增值應用方面,並縮短開發週期50%~75%,從而更快地將產品投放市場。


   中間件市場概況
   中間件是軟件技術發展的一種潮流,被譽爲發展最快的軟件品種,近年來勢頭強勁,當然,這也是源於市場在全球範圍內對中間件的支持。毫無疑問,中間件正在成爲軟件行業新的技術與經濟增長點。 
   1999年,Nasdaq股市上投資回報率最高的並非某些名聲顯赫的網站,而是全球最大的獨立中間件廠商BEA公司,其股票升幅高達884.6%。時至今日,BEA的營業收入已連續18個季度保持高速增長。 
   國際數據集團(IDC)在日前發表的一份報告中預計今後五年中間件市場將快速成長。IDC預計全球中間件和商業軟件收入將從1999年的27億美元增長到2004年的近97億美元,增長255%。據GlobalSight公司預計,全球電子商務市場到2001年將達到1.2萬億美元。 ForresterResearch則估計,僅僅是BtoB電子商務,到2003年的年收入就將達到1.3萬億美元。而業內人士認爲,未來基於 Internet的電子商務業務將有79%建築在中間件的基礎之上。無疑,這將帶來一個潛力巨大的市場。 
   在中國,有關數字同樣讓人興奮,1998年中間件市場總值達12.34億美元;1999年爲17億美元;預測到2004年將達到90.3億美元,年增長率爲39.7%,遠遠高於軟件業的平均增長水平。

  幾種流行中間件產品介紹

   IBM MQSeries 
   IBM MQSeries是IBM的消息處理中間件。MQSeries提供一個具有工業標準、安全、可靠的消息傳輸系統。 
   它的功能是控制和管理一個集成的系統,使得組成這個系統的多個分支應用(模塊)之間通過傳遞消息完成整個工作流程。MQSeries基本由一個信息傳輸系統和一個應用程序接口組成,其資源是消息和隊列。 
   MQSeries的關鍵功能之一是確保信息可靠傳輸,即使在網絡通信不可靠或出現異常時也能保證信息的傳輸。MQSeries的異步消息處理技術能夠保證當網絡或者通信應用程序本身處於“忙 "狀態或發生故障時,系統之間的信息不會丟失,也不會阻塞。

   東方通科技 TongLINK/Q 
   TongLINK/Q是面向消息的中間件。TongLINK/Q的主要功能是在不同的網絡協議、不同的操作系統和不同的應用程序之間提供可靠的消息傳送。 
   * 高效、可靠、靈活的傳輸功能 
   通過預建連接、多路複用、流量控制、壓縮傳輸、斷點重傳、傳輸優先級管理、服務(類)驅動等機制來保證實現。 
   * 事件代理機制 
   事件代理機制提供了一種異步應用開發模型,用戶只需要定義一個事件及怎麼處理,TongLINK/Q自動完成操作。利用事件代理機制,可以實現事件訂閱與發佈,實現策略管理。 
   * 會話管理 
   TongLINK/Q通過一個簡單的會話標識來描述一種複雜的通信關係,實現了更高層次、更抽象的通信服務。 
   * 良好的易用性和可管理性 
   TongLINK/Q實現了實時監控和管理,提供了日誌機制、動態配置、遠程管理功能。並提供多層次安全管理,支持多種開發工具。

   BEA Tuxedo 交易中間件 
   BEA TUXEDO是目前最成功的中間件產品,它有以下特點: 
   * 高速數據甬道機制,減少客戶機與主機和數據庫的聯接,降低整個系統的負擔 
   * 提供名字服務和數據依賴路由機制,提高系統設計的靈活性 
   * 提供7種客戶機/服務器通訊方式,使應用開發靈活方便 
   * 提供多個層面的系統負載均衡機制,能最有效地運用系統資源 
   * 提供服務優先級機制,區分服務的不同級別,使重要服務得到最快的響應 
   * 提供網絡通訊壓縮和加密機制,使通訊性能和安全性大大提高 
   * 提供動態伸縮機制,方便應用系統的擴充和維護 
   * 提供故障恢復等機制,保證應用的高可用性 
   * 提供多個層面的安全機制,保證應用的安全性 
   * 支持XA協議,保證涉及多場地、異構數據源交易和數據的一致性 
   * 提供多個層面的應用管理機制,使應用管理方便容易 
   * 提供網絡調度功能,實現網絡資源的充分利用並支持通訊失敗的自動恢復 
   * 與其他多種系統互聯,保護用戶投資 
   * 支持異構系統數據格式的透明轉換,方便系統擴展 
   * 支持包括聲音、圖象在內的多種數據類型,不同編程語言數據格式的區別由TUXEDO自動轉換(如C和COBOL),其中FML類型更支持網上只傳輸有效數據和可改變的多種數據類型組合等功能 
   * 提供域的劃分與管理功能,使超大規模應用成爲可能 
   * 提供DES(Data Entry System)功能,支持字符界面的開發 
   * 支持國際化,可用中文顯示診斷和系統消息 
   BEA Tuxedo一個特色功能是能夠保證對電子商務應用系統的不間斷訪問。它可以對系統組件進行持續的監視,查看是否有應用系統、交易、網絡及硬件的故障。一旦出現故障,BEA Tuxedo會從邏輯上把故障組件排除,然後進行必要的恢復性步驟。 
   BEA Tuxedo的另一個特色是提供多個層面的負載均衡。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章