登錄

中間件

百科 > 軟件 > 中間件

1.什么是中間件

  中間件是指提供系統(tǒng)軟件應(yīng)用軟件之間連接的軟件,以便于軟件各部件之間的溝通,特別是應(yīng)用軟件對(duì)于系統(tǒng)軟件的集中的邏輯,在現(xiàn)代信息技術(shù)應(yīng)用框架如Web服務(wù)、面向服務(wù)的體系結(jié)構(gòu)等中應(yīng)用比較廣泛。

2.中間件的起源

  最早具有中間件技術(shù)思想及功能的軟件是IBM的CICS,但由于CICS不是分布式環(huán)境的產(chǎn)物,因此人們一般把Tuxedo作為第一個(gè)嚴(yán)格意義上的中間件

  產(chǎn)品。Tuxedo是1984年在當(dāng)時(shí)屬于AT&T貝爾實(shí)驗(yàn)室開發(fā)完成的,但由于分布式處理當(dāng)時(shí)并沒有在商業(yè)應(yīng)用上獲得像今天一樣的成功,Tuxedo在很長(zhǎng)一段時(shí)期里只是實(shí)驗(yàn)室產(chǎn)品,后來被Novell收購(gòu),在經(jīng)過Novell并不成功的商業(yè)推廣之后,1995年被現(xiàn)在的BEA公司收購(gòu)

  盡管中間件的概念很早就已經(jīng)產(chǎn)生,但中間件技術(shù)的廣泛運(yùn)用卻是在最近10年之中。BEA公司1995年成立后收購(gòu)Tuxedo才成為一個(gè)真正的中間件廠商,IBM的中間件MQSeries也是20世紀(jì)90年代的產(chǎn)品,其他許多中間件產(chǎn)品也都是最近幾年才成熟起來。

  國(guó)內(nèi)在中間件領(lǐng)域的起步階段正是在整個(gè)世界范圍內(nèi)中間件的初創(chuàng)時(shí)期。我國(guó)著名的中間件專業(yè)廠商—東方通科技早在1992年,就已經(jīng)開始進(jìn)行中間件的研究與開發(fā),并于1993年推出第一個(gè)產(chǎn)品TongLINK/Q。

3.中間件的分類[1]

  中間件的分類方式很多,有些軟件在中間件的概念產(chǎn)生以前可能就已經(jīng)存在了,有些軟件雖然不是作為中間件開發(fā)出來的,但符合中間件的定義,我們當(dāng)然可以把它歸人中間件的范疇。另外,有些軟件盡管具有中間件的特征,但我們卻并不把它叫做中間件(如HTTP)。

  按照IDC的分類方法,中間件可分為六類:

  (1)終端仿真/屏幕轉(zhuǎn)換中間件

  這一類中間件是用以實(shí)現(xiàn)客戶機(jī)端的圖形用戶接口與現(xiàn)有的服務(wù)器端字符接口方式的應(yīng)用程序之間的互操作。

  (2)數(shù)據(jù)訪問中間件

  這類中間件適用于應(yīng)用程序與數(shù)據(jù)源之間的互操作,客戶端使用面向數(shù)據(jù)庫(kù)應(yīng)用程序接口,以便直接訪問和更新基于服務(wù)器的數(shù)據(jù)源,數(shù)據(jù)源可以是關(guān)系型、非關(guān)系型和對(duì)象型。這類中間件大都基于SQL語句,采用同步通訊方式。使用此類中間件,可以使應(yīng)用系統(tǒng)的開發(fā)變得簡(jiǎn)單。

  (3)遠(yuǎn)程過程調(diào)用中間件

  RPC機(jī)制是早期開發(fā)分布式應(yīng)用系統(tǒng)時(shí)經(jīng)常采用的一種同步方式的請(qǐng)求與應(yīng)答協(xié)議。通過這種協(xié)議,程序員編寫客戶端的應(yīng)用,可以調(diào)用位于遠(yuǎn)端服務(wù)器上的過程。RPC擴(kuò)展了過程語言中的“功能調(diào)用/結(jié)果返回”機(jī)制,使得它可以適應(yīng)于一個(gè)遠(yuǎn)程環(huán)境。RPC機(jī)制可用以構(gòu)造客戶機(jī)/服務(wù)器方式的應(yīng)用,但由于它是同步方式的應(yīng)用,因而在工作的時(shí)候,要求客戶端和服務(wù)器端均處于正常工作狀態(tài)下才能很好地運(yùn)行,若有一方不能正常工作將導(dǎo)致RPC失敗。

  (4)消息中間件

  現(xiàn)在越來越多的分布式應(yīng)用系統(tǒng)采用消息中間件方式來構(gòu)建,人們通過使用消息中間件把應(yīng)用擴(kuò)展到不同的操作系統(tǒng)和不同的網(wǎng)絡(luò)環(huán)境?;?a href="/wiki/%E6%B6%88%E6%81%AF" title="消息">消息的機(jī)制更適用于由事件驅(qū)動(dòng)的應(yīng)用,當(dāng)一個(gè)事件發(fā)生時(shí),消息中間件通知服務(wù)應(yīng)該進(jìn)行如何操作。

  (5)交易中間件

  交易中間件是一種專門針對(duì)聯(lián)機(jī)交易處理系統(tǒng)而設(shè)計(jì)的軟件。聯(lián)機(jī)交易處理系統(tǒng)需要處理大量并發(fā)進(jìn)程,而處理并發(fā)進(jìn)程勢(shì)必涉及到操作系統(tǒng)、文件系統(tǒng)、編譯語言、數(shù)據(jù)通訊、數(shù)據(jù)庫(kù)系統(tǒng)等各類基礎(chǔ)軟件和應(yīng)用軟件,這是一個(gè)相當(dāng)復(fù)雜的任務(wù),但是這類高難度的工作可以通過采用一個(gè)交易中間件來使之簡(jiǎn)化。交易中間件就是這樣一組程序模塊,使用它可以大大地減少開發(fā)一個(gè)聯(lián)機(jī)交易處理系統(tǒng)所需的編程工作量。

  (6)對(duì)象中間件

  面向?qū)ο蟮募夹g(shù)一直是軟件界努力追求的目標(biāo),傳統(tǒng)的對(duì)象技術(shù)通過封裝、繼承及多態(tài)性,提供了良好的代碼重用功能。

4.中間件的應(yīng)用[1]

  目前中間件得到了廣泛的應(yīng)用,在各個(gè)企業(yè)或企業(yè)部門的應(yīng)用中起到了承上啟下的關(guān)鍵作用。中間件產(chǎn)品有很多種,其中比較著名的產(chǎn)品有BEA公司的Tuxedo, Weblogic, OMG組織的CORBA, IBM公司的WebSphere以及Micmsoft公司的MOM等。根據(jù)調(diào)查表明,在許多家使用中間件技術(shù)的公司中,有17%使用遠(yuǎn)程過程調(diào)用(RPCs)中間件;有14%使用面向消息的中間件(MOM)?;17%使用交易處理監(jiān)視(TP monitors)中間件;19%使用對(duì)象請(qǐng)求代理(ORBS)中間件;13%聯(lián)合使用ORB/TP monitor;剩下的21%不清楚。在這些公司或團(tuán)體所使用的中間件產(chǎn)品中,使用Internet協(xié)議占據(jù)了大多數(shù),占40%。僅次于它的是OMG組織的COR-BA和微軟公司的COM/DNA,占到了22 % o Sun公司RMI( Remote Method Invocation ) RPC/ORB僅占據(jù)了8%的份額。就消息中間件(MOM)來說,IBM的MQSeries和Microsoft的MOM統(tǒng)治著他們各自的市場(chǎng)。而就TPmonitor來說,從被調(diào)查者反饋回來的信息中可以得知,BEA公司的Tuxedo占據(jù)了優(yōu)勢(shì),緊隨其后的是MicrosoftsTransaction Server(MTS)和IBM公司的CICS,而ORB和TPmonitor聯(lián)合使用的結(jié)果反映了當(dāng)前市場(chǎng)的復(fù)雜性。在被調(diào)查者當(dāng)中,36%使用M'IS/COM, 32%使用BEA公司的OTM/Weblogic,18%使用Inoa公司的Orbix一OTM,還有7%使用其他的產(chǎn)品。

評(píng)論  |   0條評(píng)論