中間件(middleware)是基礎軟件的一大類,屬于可復用軟件的范疇。顧名思義,中間件處于操作系統軟件與用戶的應用軟件的中間。中間件在操作系統、網絡和數據庫之上,應用軟件的下層,總的作用是為處于自己上層的應用軟件提供運行與開發的環境,幫助用戶靈活、高效地開發和集成復雜的應用軟件。
在眾多關于中間件的定義中,比較普遍被接受的是IDC表述的:中間件是一種獨立的系統軟件或服務程序,分布式應用軟件借助這種軟件在不同的技術之間共享資源,中間件位于客戶機服務器的操作系統之上,管理計算資源和網絡通信。
IDC對中間件的定義表明,中間件是一類軟件,而非一種軟件;中間件不僅僅實現互連,還要實現應用之間的互操作;中間件是基于分布式處理的軟件,最突出的特點是其網絡通信功能。
中科院軟件所研究員仲萃豪形象地把中間件定義為:平臺+通信。這個定義限定了只有用于分布式系統中的此類軟件才能被稱為中間件,同時此定義還可以把中間件與支撐軟件和實用軟件區分開來。
目前,中間件發展很快,已經與操作系統、數據庫并列為三大基礎軟件。中間件主要分為以下幾類:
1.通信處理(消息)中間件
此類中間件能在不同平臺之間通信,實現分布式系統中可靠的、高效的、實時的跨平臺數據傳輸(如Tong LINK、BEAe Link、IBM的MQ Series等)。這是中間件中唯一不可缺少的,是銷售額最大的中間件產品。
2.交易中間件
在分布式事務處理系統中要處理大量事務,常常在系統中要同時做上萬筆事務。例如在北京市就要設置各種運載汽車,完成日常的運載,同時要隨時監視汽車運
行,出現故障時,要有排除措施,發生堵塞時要進行調度。在聯機事務處理系統(OLTP)中,每筆事務常常要多臺服務器上的程序順序地協調完成,一旦中間發
生某種故障時,不但要完成恢復工作,而且要自動切換系統,達到系統永不停機,實現高可靠性運行;同時要使大量事務在多臺應用服務器能實時并發運行,并進行
負載平衡地調度,實現昂貴的可靠性機和大型計算機系統同等的功能,為了實現這個目標,要求系統具有監視和調度整個系統的功能。BEA的Tuxedo由此而
著名,它成為增長率最高的廠商。一個事務處理平臺,根據X/OPEN的參數模型規定,應由事務處理中間件、通信處理中間件以及數據存取管理中間件三部分組
成。東方通科技公司的Tong LINK和TongEASY實現了這個參考模型規定。
3.數據存取管理中間件
在分布式系統中,重要的數據都集中存放在數據服務器中,它們可以是關系型的、復合文檔型、具有各種存放格式的多媒體型,或者是經過加密或壓縮存放的,該中間件將為在網絡上虛擬緩沖存取、格式轉換、解壓等帶來方便。
中間件簡史
最早具有中間件技術思想及功能的軟件是IBM的CICS,但由于CICS不是分布式環境的產物,因此人們一般把Tuxedo作為第一個嚴格意義
上的中間件產品。Tuxedo是1984年在當時屬于AT&&T的貝爾實驗室開發完成的,但由于分布式處理當時并沒有在商業應用上獲得像
今天一樣的成功,Tuxedo在很長一段時期里只是實驗室產品,后來被Novell收購,在經過Novell并不成功的商業推廣之后,1995年被現在的
BEA公司收購。
盡管中間件的概念很早就已經產生,但中間件技術的廣泛運用卻是在最近10年之中。BEA公司1995年成立后收購Tuxedo才成為一個真正的
中間件廠商,IBM的中間件MQSeries也是90年代的產品,其它許多中間件產品也都是最近幾年才成熟起來。國內在中間件領域的起步階段正是整個世界
范圍內中間件的初創時期。東方通科技早在1992年就開始中間件的研究與開發,1993年推出第一個產品TongLINK/Q。而中科院軟件所、國防科技
大學等研究機構也對中間件技術進行了同步研究。可以說,在中間件領域,國內的起步時間并不比國外晚多少。
在j2ee中就是tomcat 和 weblogic 等服務器軟件
計算機技術迅速發展。從硬件技術看,CPU速度越來越高,處理能力
越來越強;從軟件技術看,應用程序的規模不斷擴大,特別是Internet及WWW的出現,使計算機的應用范圍更為廣闊,許多應用程序需在網絡環境的異構
平臺上運行。這一切都對新一代的軟件開發提出了新的需求。在這種分布異構環境中,通常存在多種硬件系統平臺(如PC,工作站,小型機等),在這些硬件平臺
上又存在各種各樣的系統軟件(如不同的操作系統、數據庫、語言編譯器等),以及多種風格各異的用戶界面,這些硬件系統平臺還可能采用不同的網絡協議和網絡
體系結構連接。如何把這些系統集成起來并開發新的應用是一個非常現實而困難的問題。
posted on 2008-06-17 15:18
lvq810 閱讀(134)
評論(0) 編輯 收藏