中間件
出自 MBA智库百科(https://wiki.mbalib.com/)
中間件(Middleware)
目錄 |
中間件是指提供系統軟體和應用軟體之間連接的軟體,以便於軟體各部件之間的溝通,特別是應用軟體對於系統軟體的集中的邏輯,在現代信息技術應用框架如Web服務、面向服務的體繫結構等中應用比較廣泛。
最早具有中間件技術思想及功能的軟體是IBM的CICS,但由於CICS不是分散式環境的產物,因此人們一般把Tuxedo作為第一個嚴格意義上的中間件
產品。Tuxedo是1984年在當時屬於AT&T的貝爾實驗室開發完成的,但由於分散式處理當時並沒有在商業應用上獲得像今天一樣的成功,Tuxedo在很長一段時期里只是實驗室產品,後來被Novell收購,在經過Novell並不成功的商業推廣之後,1995年被現在的BEA公司收購。
儘管中間件的概念很早就已經產生,但中間件技術的廣泛運用卻是在最近10年之中。BEA公司1995年成立後收購Tuxedo才成為一個真正的中間件廠商,IBM的中間件MQSeries也是20世紀90年代的產品,其他許多中間件產品也都是最近幾年才成熟起來。
國內在中間件領域的起步階段正是在整個世界範圍內中間件的初創時期。我國著名的中間件專業廠商—東方通科技早在1992年,就已經開始進行中間件的研究與開發,並於1993年推出第一個產品TongLINK/Q。
中間件的分類[1]
中間件的分類方式很多,有些軟體在中間件的概念產生以前可能就已經存在了,有些軟體雖然不是作為中間件開發出來的,但符合中間件的定義,我們當然可以把它歸人中間件的範疇。另外,有些軟體儘管具有中間件的特征,但我們卻並不把它叫做中間件(如HTTP)。
按照IDC的分類方法,中間件可分為六類:
(1)終端模擬/屏幕轉換中間件
這一類中間件是用以實現客戶機端的圖形用戶介面與現有的伺服器端字元介面方式的應用程式之間的互操作。
(2)數據訪問中間件
這類中間件適用於應用程式與數據源之間的互操作,客戶端使用面向資料庫的應用程式介面,以便直接訪問和更新基於伺服器的數據源,數據源可以是關係型、非關係型和對象型。這類中間件大都基於SQL語句,採用同步通訊方式。使用此類中間件,可以使應用系統的開發變得簡單。
(3)遠程過程調用中間件
RPC機制是早期開發分散式應用系統時經常採用的一種同步方式的請求與應答協議。通過這種協議,程式員編寫客戶端的應用,可以調用位於遠端伺服器上的過程。RPC擴展了過程語言中的“功能調用/結果返回”機制,使得它可以適應於一個遠程環境。RPC機制可用以構造客戶機/伺服器方式的應用,但由於它是同步方式的應用,因而在工作的時候,要求客戶端和伺服器端均處於正常工作狀態下才能很好地運行,若有一方不能正常工作將導致RPC失敗。
(4)消息中間件
現在越來越多的分散式應用系統採用消息中間件方式來構建,人們通過使用消息中間件把應用擴展到不同的操作系統和不同的網路環境。基於消息的機制更適用於由事件驅動的應用,當一個事件發生時,消息中間件通知服務方應該進行如何操作。
(5)交易中間件
交易中間件是一種專門針對聯機交易處理系統而設計的軟體。聯機交易處理系統需要處理大量併發進程,而處理併發進程勢必涉及到操作系統、文件系統、編譯語言、數據通訊、資料庫系統等各類基礎軟體和應用軟體,這是一個相當複雜的任務,但是這類高難度的工作可以通過採用一個交易中間件來使之簡化。交易中間件就是這樣一組程式模塊,使用它可以大大地減少開發一個聯機交易處理系統所需的編程工作量。
(6)對象中間件
面向對象的技術一直是軟體界努力追求的目標,傳統的對象技術通過封裝、繼承及多態性,提供了良好的代碼重用功能。
中間件的應用[1]
目前中間件得到了廣泛的應用,在各個企業或企業部門的應用中起到了承上啟下的關鍵作用。中間件產品有很多種,其中比較著名的產品有BEA公司的Tuxedo, Weblogic, OMG組織的CORBA, IBM公司的WebSphere以及Micmsoft公司的MOM等。根據調查表明,在許多家使用中間件技術的公司中,有17%使用遠程過程調用(RPCs)中間件;有14%使用面向消息的中間件(MOM) ;17%使用交易處理監視(TP monitors)中間件;19%使用對象請求代理(ORBS)中間件;13%聯合使用ORB/TP monitor;剩下的21%不清楚。在這些公司或團體所使用的中間件產品中,使用Internet協議占據了大多數,占40%。僅次於它的是OMG組織的COR-BA和微軟公司的COM/DNA,占到了22 % o Sun公司的RMI( Remote Method Invocation ) RPC/ORB僅占據了8%的份額。就消息中間件(MOM)來說,IBM的MQSeries和Microsoft的MOM統治著他們各自的市場。而就TPmonitor來說,從被調查者反饋回來的信息中可以得知,BEA公司的Tuxedo占據了優勢,緊隨其後的是MicrosoftsTransaction Server(MTS)和IBM公司的CICS,而ORB和TPmonitor聯合使用的結果反映了當前市場的複雜性。在被調查者當中,36%使用M'IS/COM, 32%使用BEA公司的OTM/Weblogic,18%使用Inoa公司的Orbix一OTM,還有7%使用其他的產品。