中間件技術(shù)

時(shí)間:2022-03-12 02:03:00

導(dǎo)語(yǔ):中間件技術(shù)一文來(lái)源于網(wǎng)友上傳,不代表本站觀點(diǎn),若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。

中間件技術(shù)

1中間件的概念

在眾多關(guān)于中間件的定義中,比較普遍接受的是IDC表述:中間件是一種獨(dú)立的系統(tǒng)軟件或服務(wù)程序,分布式應(yīng)用軟件借助這種軟件在不同的技術(shù)之間共享資源;中間件位于客戶機(jī)/服務(wù)器的操作系統(tǒng)之上,管理計(jì)算資源和網(wǎng)絡(luò)通信。IDC對(duì)中間件的定義表明,中間件是一類(lèi)軟件,而非一種軟件;中間件是介于操作系統(tǒng)(包括底層通信協(xié)議)和各種分布式應(yīng)用程序之間的一個(gè)軟件層??偟淖饔檬墙⒎植际杰浖K之間互操作的機(jī)制,屏蔽底層分布式環(huán)境的復(fù)雜性和異構(gòu)性,為處于自己上層的應(yīng)用軟件提供運(yùn)行與開(kāi)發(fā)環(huán)境,幫助用戶靈活、高效地開(kāi)發(fā)和集成復(fù)雜的應(yīng)用軟件。在具體實(shí)現(xiàn)上,中間件是一個(gè)用應(yīng)用程序接口定義的分布式軟件管理框架,具有強(qiáng)大的通信能力和良好的可擴(kuò)展性。中間件在分布式系統(tǒng)中的位置如圖1所示。

2中間件的分類(lèi)

隨著計(jì)算機(jī)軟件技術(shù)的發(fā)展,中間件技術(shù)也已日漸成熟,并且出現(xiàn)了不同層次、不同類(lèi)型的中間件產(chǎn)品。按照IDC分類(lèi)方法,中間件可分為以下6類(lèi):

2.1終端仿真/屏幕轉(zhuǎn)換

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

2.2數(shù)據(jù)訪問(wèn)中間件

適用于應(yīng)用程序與數(shù)據(jù)源之間的互操作模型,客戶端使用面向數(shù)據(jù)庫(kù)的API,以提請(qǐng)直接訪問(wèn)和更新基于服務(wù)器的數(shù)據(jù)源,數(shù)據(jù)源可以是關(guān)系型、非關(guān)系型和對(duì)象型。這類(lèi)中間件大都基于SQL語(yǔ)句,采用同步通訊方式。此類(lèi)中間件使應(yīng)用開(kāi)發(fā)簡(jiǎn)單化,但如果透過(guò)廣域網(wǎng)使用,則會(huì)帶來(lái)嚴(yán)重的效率問(wèn)題,因?yàn)樵诘退倬W(wǎng)上來(lái)回交互SQL語(yǔ)句會(huì)使通訊流量過(guò)大,同時(shí)對(duì)數(shù)據(jù)壓縮、加密帶來(lái)不便。

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

RPC機(jī)制是早期開(kāi)發(fā)分布式應(yīng)用時(shí)經(jīng)常采用的一種同步式的請(qǐng)求應(yīng)答協(xié)議。通過(guò)這種協(xié)議,程序員編寫(xiě)客戶方的應(yīng)用,需要時(shí)可以調(diào)用位于遠(yuǎn)端服務(wù)器上的過(guò)程。RPC擴(kuò)展了過(guò)程語(yǔ)言中的“功能調(diào)用/結(jié)果返回”的機(jī)制,使得它可以適用于一個(gè)遠(yuǎn)程環(huán)境。由于RPC機(jī)制是同步方式,因而在工作的時(shí)候,要求客戶方和服務(wù)方均能正確工作才能很好地運(yùn)行,有一方不能工作將導(dǎo)致RPC失敗。在網(wǎng)絡(luò)故障、機(jī)器故障存在的情況下,這一要求是很難保證的。另外,由于大多數(shù)RPC機(jī)制很難建立點(diǎn)到點(diǎn)的關(guān)系,因而也很難用在面向?qū)ο蟮木幊坍?dāng)中。

2.4消息中間件

越來(lái)越多的分布式應(yīng)用采用消息中間件來(lái)構(gòu)建,通過(guò)消息中間件把應(yīng)用擴(kuò)展到不同的操作系統(tǒng)和不同的網(wǎng)絡(luò)環(huán)境?;谙⒌臋C(jī)制更多地適用于事件驅(qū)動(dòng)的應(yīng)用,當(dāng)一個(gè)事件發(fā)生時(shí),消息中間件通知服務(wù)方應(yīng)該進(jìn)行何種操作。其核心安裝在需要進(jìn)行消息傳遞的系統(tǒng)上,在它們之間建立邏輯通道,由消息中間件實(shí)現(xiàn)消息發(fā)送。消息中間件可以支持同步方式和異步方式,實(shí)際上是一種點(diǎn)到點(diǎn)的機(jī)制,因而可以很好的適用于面向?qū)ο蟮木幊谭绞健V虚g件領(lǐng)域目前最熱門(mén)的技術(shù)是異步的消息中間件,異步中間件技術(shù)比同步中間件技術(shù)具有更強(qiáng)的容錯(cuò)性,在系統(tǒng)故障時(shí)可以保證消息的正常傳輸。

2.5交易中間件

是專門(mén)針對(duì)聯(lián)機(jī)交易處理系統(tǒng)而設(shè)計(jì)的,如銀行業(yè)務(wù)系統(tǒng)、定票系統(tǒng)等。聯(lián)機(jī)交易處理系統(tǒng)需要處理大量并發(fā)進(jìn)程,處理并發(fā)涉及到操作系統(tǒng)、文件系統(tǒng)、編程語(yǔ)言、數(shù)據(jù)通訊、數(shù)據(jù)庫(kù)系統(tǒng)、系統(tǒng)管理、應(yīng)用軟件,交易中間件就是一組程序模塊,用以減少開(kāi)發(fā)一個(gè)聯(lián)機(jī)交易處理系統(tǒng)所需的編程量。

2.6對(duì)象中間件

傳統(tǒng)的面向?qū)ο蠹夹g(shù)通過(guò)封裝、繼承及多態(tài)提供了良好的代碼重用功能,但是這些對(duì)象只存在一個(gè)程序中,外面的世界并不知道它們的存在,也無(wú)法訪問(wèn)它們。面向?qū)ο蟮闹虚g件就是要解決這些問(wèn)題,面向?qū)ο蟮闹虚g件提供一個(gè)標(biāo)準(zhǔn)的構(gòu)件框架,能使不同廠家的軟件通過(guò)不同的地址空間、網(wǎng)絡(luò)和操作系統(tǒng)交互訪問(wèn)。該構(gòu)件的具體實(shí)現(xiàn)、位置及所依附的操作系統(tǒng)對(duì)客戶來(lái)說(shuō)都是透明的。

3主流中間件技術(shù)平臺(tái)

考察當(dāng)前主流的分布計(jì)算技術(shù)平臺(tái),主要有OMG的CORBA,Sun的J2EE和MicrosoftDNA20000,它們都是支持服務(wù)器端中間件技術(shù)開(kāi)發(fā)的平臺(tái),但都有其各自特點(diǎn),將分別闡述如下:

3.1OMG的CORBA

公共對(duì)象請(qǐng)求體系結(jié)構(gòu)(CORBA,CommonOb—jectRequestBrokerArchitecture)是對(duì)象管理組織(OMG)基于眾多開(kāi)放系統(tǒng)平臺(tái)廠商提交的分布對(duì)象互操作內(nèi)容基礎(chǔ)上制定的分布式應(yīng)用程序框架的規(guī)范。

CORBA是由絕大多數(shù)分布計(jì)算平臺(tái)廠商所支持和遵循的系統(tǒng)規(guī)范,具有模型完整、先進(jìn),獨(dú)立于系統(tǒng)平臺(tái)和開(kāi)發(fā)語(yǔ)言,被支持程度廣泛的特點(diǎn),已逐漸成為分布計(jì)算技術(shù)的標(biāo)準(zhǔn)。COBRA標(biāo)準(zhǔn)主要分為3個(gè)層次:對(duì)象請(qǐng)求、公共對(duì)象服務(wù)和公共設(shè)施。最底層是對(duì)象請(qǐng)求(ORB,ObjectRequestBroker),規(guī)定了分布對(duì)象的定義(接口)和語(yǔ)言映射,實(shí)現(xiàn)對(duì)象間的通訊和互操作,是分布對(duì)象系統(tǒng)中的“軟總線”;在ORB之上定義了很多公共服務(wù),可以提供諸如并發(fā)服

務(wù)、名字服務(wù)、事務(wù)(交易)服務(wù)、安全服務(wù)等各種各樣的服務(wù);最上層的公共設(shè)施則定義了組件框架,提供可直接為業(yè)務(wù)對(duì)象使用的服務(wù),規(guī)定業(yè)務(wù)對(duì)象有效協(xié)作所需的協(xié)定規(guī)則。CORBA的優(yōu)點(diǎn)是大而全,互操作性和開(kāi)放性非常好,缺點(diǎn)是龐大而復(fù)雜,并且技術(shù)和標(biāo)準(zhǔn)的更新相對(duì)較慢,在具體的應(yīng)用中使用不是很多。

3.2Sun的J2EE

為了推動(dòng)基于Java的服務(wù)器端應(yīng)用開(kāi)發(fā),Sun在1999年底推出了Java2技術(shù)及相關(guān)的J2EE規(guī)范。

J2EE的目標(biāo)是提供與平臺(tái)無(wú)關(guān)的、可移植的、支持并發(fā)訪問(wèn)和安全的、完全基于Java的開(kāi)發(fā)服務(wù)器端中間件的標(biāo)準(zhǔn)。J2EE簡(jiǎn)化了構(gòu)件可伸縮的、基于構(gòu)件服務(wù)器端應(yīng)用的復(fù)雜度。在J2EE中,Sun給出了完整的基于Java語(yǔ)言開(kāi)發(fā)面向企業(yè)分布應(yīng)用的規(guī)范,其中在分布式互操作協(xié)議上,J2EE同時(shí)支持遠(yuǎn)程方法調(diào)用(RMI,Re—moteMethodlnvocation)和因特網(wǎng)對(duì)象請(qǐng)求間協(xié)議(IlOP,IntemetInter-ORBProtocal),在服務(wù)器端分布式應(yīng)用的構(gòu)造形式包括了JavaScrvlct、JSP(JavaServerPage)、EJB等多種形式,以支持不同的業(yè)務(wù)需求。

EJB是Sun推出的基于Java的服務(wù)器端構(gòu)件規(guī)范J2EE的一部分,在J2EE推出之后得到了廣泛的發(fā)展,已經(jīng)成為應(yīng)用服務(wù)器端的標(biāo)準(zhǔn)技術(shù)。SunEJB技術(shù)是在JavaBean本地構(gòu)件基礎(chǔ)上,發(fā)展的面向服務(wù)器端分布應(yīng)用構(gòu)件技術(shù)。它基于Java語(yǔ)言,提供了基于Java二進(jìn)制字節(jié)代碼的重用方式。EJB給出了系統(tǒng)的服務(wù)器端分布構(gòu)件規(guī)范,這包括了構(gòu)件、構(gòu)件容器的接口規(guī)范以及構(gòu)件打包、構(gòu)件配置等的標(biāo)準(zhǔn)規(guī)范內(nèi)容。EJB技術(shù)的推出,使得用Java基于構(gòu)件方法開(kāi)發(fā)服務(wù)器端分布式應(yīng)用成為可能。從企業(yè)應(yīng)用多層結(jié)構(gòu)的角度,EJB是業(yè)務(wù)邏輯層的中間件技術(shù),與JavaBeans不同,它提供了事務(wù)處理的能力,自從三層結(jié)構(gòu)提出以后,中間層,也就是業(yè)務(wù)邏輯層,是處理事務(wù)的核心,從數(shù)據(jù)存儲(chǔ)層分離,取代了存儲(chǔ)層的大部分地位。從分布式計(jì)算的角度,EJB像CORBA一樣,提供了分布式技術(shù)的基礎(chǔ),提供了對(duì)象之間的通訊手段。

從Internet技術(shù)應(yīng)用的角度,EJB和Servlct,JSP一起成為新一代應(yīng)用服務(wù)器的技術(shù)標(biāo)準(zhǔn),EJB中的Bean可以分為會(huì)話Bean和實(shí)體Bean,前者維護(hù)會(huì)話,后者處理事務(wù),現(xiàn)在Scrvlet負(fù)責(zé)與客戶端通信,訪問(wèn)EJB,并把結(jié)果通過(guò)JSP產(chǎn)生頁(yè)面?zhèn)骰乜蛻舳恕?/p>

J2EE的優(yōu)點(diǎn)是技術(shù)先進(jìn),架構(gòu)優(yōu)秀,真正的三層結(jié)構(gòu),用Java開(kāi)發(fā)構(gòu)件,能夠做到“Writeonce,runany—where”,開(kāi)發(fā)大型的應(yīng)用優(yōu)勢(shì)明顯,可以配置到包括Windows平臺(tái)在內(nèi)的任何服務(wù)器端環(huán)境中去。缺點(diǎn)是缺少一系列的接口支持,技術(shù)進(jìn)入門(mén)檻高,開(kāi)發(fā)起來(lái)的難度大。

3.3MicrosoftDNA2000

MicrosoftDNA2000(DistributedinterNetApplications)是Microsoft在推出Windows2000系列操作系統(tǒng)平臺(tái)基礎(chǔ)上,在擴(kuò)展了分布計(jì)算模型以及改造BackOffice系列服務(wù)器端分布計(jì)算產(chǎn)品后的新的分布計(jì)算體系結(jié)構(gòu)和規(guī)范。

在服務(wù)器端,DNA2000提供了ASP、COM、Cluster等的應(yīng)用支持。目前,DNA2000在技術(shù)結(jié)構(gòu)上有著巨大的優(yōu)越性。一方面,由于Microsoft是操作系統(tǒng)平臺(tái)廠商,因此DNA2000技術(shù)得到了底層操作系統(tǒng)平臺(tái)的強(qiáng)大支持;另一方面,由于Microsoft的操作系統(tǒng)平臺(tái)應(yīng)用廣泛,因此在實(shí)際應(yīng)用中,DNA2000得到了眾多應(yīng)用開(kāi)發(fā)商的采用和支持。

DNA2000融合了當(dāng)今最先進(jìn)的分布計(jì)算理論和思想,如事務(wù)處理、可伸縮性、異步消息隊(duì)列、集群等內(nèi)容。DNA使得開(kāi)發(fā)可以基于Microsoft平臺(tái)的服務(wù)器構(gòu)件應(yīng)用,其中,如數(shù)據(jù)庫(kù)事務(wù)服務(wù)、異步通訊服務(wù)和安全服務(wù)等,都由底層的分布對(duì)象系統(tǒng)提供。

以Microsoft為首的DCOM/COM/COM+陣營(yíng),從DDE,OLE到ActiveX等,提供了中間件開(kāi)發(fā)的基礎(chǔ),如VC,VB,Delphi等都支持DCOM,包括OLEDB在內(nèi)新的數(shù)據(jù)庫(kù)存取技術(shù),隨著Windows2000的,Microsoft的DCOM/COM/COM+技術(shù),在DNA2000分布計(jì)算結(jié)構(gòu)基礎(chǔ)上,展現(xiàn)了一個(gè)全新的分布構(gòu)件應(yīng)用模型。首先,DCOM/COM/COM+的構(gòu)件仍然采用普通的COM(ComponentObjectModel)模型。COM最初作為Microsoft桌面系統(tǒng)的構(gòu)件技術(shù),主要為本地的OLE應(yīng)用服務(wù),但是隨著Mi-crosoft服務(wù)器操作系統(tǒng)NT和DCOM的,COM通過(guò)底層的遠(yuǎn)程支持使得構(gòu)件技術(shù)延伸到了分布應(yīng)用領(lǐng)域。DCOM/COM/COM+更將其擴(kuò)充為面向服務(wù)器端分布應(yīng)用的業(yè)務(wù)邏輯中間件。通過(guò)COM+的相關(guān)服務(wù)設(shè)施,如負(fù)載均衡、內(nèi)存數(shù)據(jù)庫(kù)、對(duì)象池、構(gòu)件管理與配置等等,DCOM/COM/COM+將COM、DCOM、MTS的功能有機(jī)地統(tǒng)一在一起,形成了一個(gè)概念、功能強(qiáng)的構(gòu)件應(yīng)用體系結(jié)構(gòu)。而且,DNA2000是單一廠家提供的分布對(duì)象構(gòu)件模型,開(kāi)發(fā)者使用的是同一廠家提供的系列開(kāi)發(fā)工具,這比組合多家開(kāi)發(fā)工具更有吸引力,不足是依賴于Mi-crosoft的操作系統(tǒng)平臺(tái),因而在其它開(kāi)發(fā)系統(tǒng)平臺(tái)如(Unix、Linux)上不能發(fā)揮作用。

4中間件技術(shù)的發(fā)展趨勢(shì)

4.1網(wǎng)格技術(shù)

中間件技術(shù)當(dāng)前所面臨的重大挑戰(zhàn)是要在互聯(lián)網(wǎng)這個(gè)復(fù)雜的分布式系統(tǒng)中構(gòu)建應(yīng)用程序。許多計(jì)算機(jī)專家認(rèn)為,將整個(gè)互聯(lián)網(wǎng)的各種資源全部整合在一起,為用戶提供統(tǒng)一的服務(wù),是相當(dāng)困難甚至難以實(shí)現(xiàn)的。當(dāng)然,對(duì)于具體的應(yīng)用領(lǐng)域,具體的網(wǎng)絡(luò)區(qū)域,用中間件技術(shù)將其中的各種資源整合在一起還是相當(dāng)有前景的。目前方興未艾的網(wǎng)格(GRID)技術(shù)實(shí)質(zhì)上即是一個(gè)基于互聯(lián)網(wǎng)的中間件系統(tǒng),可同時(shí)運(yùn)用網(wǎng)絡(luò)中所有的CPU、存儲(chǔ)器、操作系統(tǒng)、應(yīng)用軟件等資源,用戶通過(guò)PC、手機(jī)或PDA,可從互聯(lián)網(wǎng)上獲取來(lái)自全球的資源,互聯(lián)網(wǎng)將變成一個(gè)虛擬的、強(qiáng)大的計(jì)算平臺(tái)。網(wǎng)格的重要特征是對(duì)資源的共享和管理,包括:(1)計(jì)算資源。啟動(dòng)程序,監(jiān)測(cè)、控制進(jìn)程運(yùn)行;對(duì)分配給進(jìn)程的資源的管理機(jī)制;查詢功能,確定硬、軟件狀態(tài)、相關(guān)負(fù)載信息和隊(duì)列狀態(tài)等。(2)存儲(chǔ)資源。上載、下載文件;對(duì)分配給數(shù)據(jù)傳輸?shù)馁Y源(空間、磁盤(pán)帶寬、網(wǎng)絡(luò)帶寬、CPU)的管理機(jī)制,確定可用空間、帶寬使用率等相關(guān)負(fù)載信息。(3)網(wǎng)絡(luò)資源。提供控制分配給網(wǎng)絡(luò)傳輸?shù)馁Y源的管理機(jī)制;查詢網(wǎng)絡(luò)狀態(tài)和負(fù)載的功能。(4)代碼庫(kù)。管理源碼和目標(biāo)碼的機(jī)制。另外,網(wǎng)格系統(tǒng)還應(yīng)包括:①網(wǎng)格特有事務(wù)所需要的通信和認(rèn)證協(xié)議,通信協(xié)議允許資源之間交換數(shù)據(jù),功能包括傳輸、尋徑和名字服務(wù)。建立在通信協(xié)議之上的認(rèn)證協(xié)議為確認(rèn)用戶和資源的身份提供加密安全機(jī)制。②管理一組相關(guān)聯(lián)的資源集合,

并負(fù)責(zé)資源集合之間的交互,包括:目錄服務(wù)、合作分配資源任務(wù)調(diào)度服務(wù)、監(jiān)控診斷服務(wù)、數(shù)據(jù)復(fù)制服務(wù)、支持網(wǎng)格的編程、軟件發(fā)現(xiàn)服務(wù)、團(tuán)體授權(quán)服務(wù)等。

4.2面向移動(dòng)計(jì)算

移動(dòng)計(jì)算問(wèn)題可以具體展開(kāi)為三個(gè)方面:①用戶移動(dòng)。無(wú)論用戶處在什么位置,都能為其提供一致的工作環(huán)境,包括用戶的配置信息和他所“訂閱”的服務(wù)。②終端移動(dòng)。使終端設(shè)備無(wú)論在任何接入點(diǎn)接入網(wǎng)絡(luò),都能正常工作,也就是說(shuō)底層網(wǎng)絡(luò)對(duì)終端設(shè)備是透明的。③服務(wù)移動(dòng)。當(dāng)前,越來(lái)越多的服務(wù)依賴于移動(dòng)的資源,甚至服務(wù)本身就處在不斷移動(dòng)中,必須保證用戶及其終端設(shè)備可以隨時(shí)找到這些服務(wù)。據(jù)此,移動(dòng)計(jì)算需要一個(gè)基礎(chǔ)設(shè)施將合適的協(xié)議、機(jī)制、工具集成起來(lái),提供上述三方面的功能。移動(dòng)中間件正是這樣一種基礎(chǔ)軟件。它隨時(shí)對(duì)移動(dòng)用戶和終端進(jìn)行跟蹤和重定位,保證移動(dòng)實(shí)體的相互通信,克服系統(tǒng)的異構(gòu)性,并且為開(kāi)放的網(wǎng)絡(luò)環(huán)境提供安全性。隨著網(wǎng)絡(luò)帶寬不斷增大,人們對(duì)移動(dòng)設(shè)備的服務(wù)質(zhì)量問(wèn)題的顧慮漸漸打消,而使用移動(dòng)設(shè)備的方便性日益突出。人們要求各種服務(wù)都可以在移動(dòng)的情況下(包括上述三種情況)獲得。因而移動(dòng)中間件具有十分廣泛的發(fā)展前景。泛化計(jì)算(UbiquitousComputing)是移動(dòng)計(jì)算的極至,指從大型機(jī)、PC、到PDA以至安裝有處理器的各種各樣的日常生活設(shè)備之間能夠相互通信、協(xié)調(diào)工作。顯然,在這個(gè)領(lǐng)域,中間件面臨更為復(fù)雜的異構(gòu)環(huán)境以及無(wú)線通信和動(dòng)態(tài)配置的挑戰(zhàn)。

4.3面向服務(wù)質(zhì)量

傳統(tǒng)的單一系統(tǒng),如大型主機(jī)、容錯(cuò)系統(tǒng)等,依賴昂貴的配置與設(shè)計(jì)來(lái)實(shí)現(xiàn)高可用性,而高可用中間件主要是在軟件層面利用系統(tǒng)的冗余部件(比如機(jī)群系統(tǒng)有大量這樣的部件)為用戶提供高可用功能。這有三個(gè)方面的優(yōu)勢(shì):成本低、可擴(kuò)展性好、更加靈活方便。為了保證數(shù)據(jù)的可靠性和一致性,還有必要在中間件中增加保證QOS的協(xié)議(在CORBA中已經(jīng)有這樣的協(xié)議)以實(shí)現(xiàn)數(shù)據(jù)的備份以及各種各樣的容錯(cuò)功能。另外,還要保證此方法的響應(yīng)時(shí)間盡可能的快(這里泛指用戶響應(yīng)時(shí)間以及切換時(shí)間等一切影響服務(wù)質(zhì)量的時(shí)間)。隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,越來(lái)越多的用戶使用網(wǎng)絡(luò)提供的服務(wù),這就對(duì)服務(wù)質(zhì)量提出了更高的要求,質(zhì)量低劣的服務(wù)是沒(méi)有市場(chǎng)的。高可用中間件、容錯(cuò)中間件在這一背景下將不斷完善和發(fā)展。

4.4各種技術(shù)的發(fā)展對(duì)中間件技術(shù)產(chǎn)生的影響

由于中間件系統(tǒng)的主要目的就是整合各種異構(gòu)系統(tǒng)中的資源,使其協(xié)調(diào)工作。因此,各種異構(gòu)系統(tǒng)中各種技術(shù)的發(fā)展都會(huì)或者為中間件系統(tǒng)的開(kāi)發(fā)提供便利,或者設(shè)置障礙。WebService技術(shù)就是在XML語(yǔ)言、異步通信機(jī)制、以及基于內(nèi)容的消息傳遞機(jī)制等各種技術(shù)發(fā)展基礎(chǔ)之上提出并發(fā)展起來(lái)的。又例如,當(dāng)前移動(dòng)(MobileAgent)技術(shù)在中間件的設(shè)計(jì)和實(shí)現(xiàn)過(guò)程中發(fā)揮越來(lái)越重要的作用,特別是基于互聯(lián)網(wǎng)的應(yīng)用以及涉及到移動(dòng)計(jì)算和泛化計(jì)算的中間件的設(shè)計(jì)。移動(dòng)代碼和移動(dòng)技術(shù)可以提高分布式系統(tǒng)的靈活性和適應(yīng)性。

中間件從本質(zhì)上是對(duì)分布式應(yīng)用的抽象,拋開(kāi)了與應(yīng)用相關(guān)的業(yè)務(wù)邏輯的細(xì)節(jié),保留了典型的分布交互模式的關(guān)鍵特征,將紛繁復(fù)雜的分布式系統(tǒng)以統(tǒng)一的層面形式呈現(xiàn)給應(yīng)用。應(yīng)用在中間件提供的環(huán)境中可以更好地集中于業(yè)務(wù)邏輯上,并以構(gòu)件化的形式存在,最終自然而然地在異構(gòu)環(huán)境中實(shí)現(xiàn)良好的協(xié)同工作。構(gòu)件是一種前沿的軟件設(shè)計(jì)思想,對(duì)整個(gè)軟件行業(yè)的發(fā)展有著至關(guān)重要的推動(dòng)作用。而中間件作為應(yīng)用軟件系統(tǒng)集成的關(guān)鍵技術(shù),保證了構(gòu)件化思想的實(shí)施,并為構(gòu)件提供了真正的運(yùn)行空間。中間件工業(yè)化標(biāo)準(zhǔn)的制定、統(tǒng)一及實(shí)現(xiàn),使基于構(gòu)件的應(yīng)用開(kāi)發(fā)成為可能,可以預(yù)見(jiàn),軟構(gòu)件技術(shù)是軟件產(chǎn)業(yè)化革命的必然發(fā)展趨勢(shì)。