- 相關(guān)推薦
中間件技術(shù)研究
摘要:中間件技術(shù)屏蔽了底層分布式環(huán)境的復雜性和異構(gòu)性,簡化了分布式應(yīng)用程序的開發(fā),使分布式應(yīng)用程序的健壯性、可擴展性、可用性更好。本文介紹了中間件的定義、分類、主流中間件技術(shù)平臺,分析了中間件技術(shù)面臨的挑戰(zhàn),提出了中間件技術(shù)研究的幾個發(fā)展趨勢,即網(wǎng)格技術(shù)、面向移動計算、面向服務(wù)質(zhì)量等。計算機系統(tǒng)最初階段多是單機系統(tǒng),多個用戶是通過聯(lián)機終端來訪問。隨著網(wǎng)絡(luò)的出現(xiàn),產(chǎn)生了客戶/服務(wù)器的計算服務(wù)模式,多個客戶端可以共享數(shù)據(jù)庫服務(wù)器和打印服務(wù)器等。隨著計算機和網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,許多軟件需要在不同廠家的硬件平臺、網(wǎng)絡(luò)協(xié)議異構(gòu)環(huán)境下運行,應(yīng)用的規(guī)模從局域網(wǎng)發(fā)展到廣域網(wǎng),應(yīng)用范圍面向三層和多層體系結(jié)構(gòu)的分布式環(huán)境,在分布式環(huán)境中,無論是硬件平臺還是軟件平臺都不可能做到統(tǒng)一,而大規(guī)模的應(yīng)用軟件通常要求在軟硬件各不相同的分布式網(wǎng)絡(luò)上運行。中間件產(chǎn)生以前,應(yīng)用軟件直接使用操作系統(tǒng)、網(wǎng)絡(luò)協(xié)議和數(shù)據(jù)庫等開發(fā),開發(fā)者不得不直接面對許多復雜棘手的問題,如操作系統(tǒng)的多樣性、繁雜的網(wǎng)絡(luò)程序設(shè)計和管理、復雜多變的網(wǎng)絡(luò)環(huán)境、數(shù)據(jù)分散處理帶來的不一致性問題等等,這些與用戶的業(yè)務(wù)沒有直接關(guān)系,但又必須解決,耗費了大量的時間和精力,因此開發(fā)者迫切需要一種基于標準的、獨立于計算機硬件以及操作系統(tǒng)的開發(fā)和運行環(huán)境,于是,中間件技術(shù)應(yīng)運而生。
1 中間件的概念
在眾多關(guān)于中間件的定義中,比較普遍接受的是IDC表述:中間件是一種獨立的系統(tǒng)軟件或服務(wù)程序,分布式應(yīng)用軟件借助這種軟件在不同的技術(shù)之間共享資源;中間件位于客戶機/服務(wù)器的操作系統(tǒng)之上,管理計算資源和網(wǎng)絡(luò)通信。IDC對中間件的定義表明,中間件是一類軟件,而非一種軟件;中間件是介于操作系統(tǒng)(包括底層通信協(xié)議)和各種分布式應(yīng)用程序之間的一個軟件層?偟淖饔檬墙⒎植际杰浖K之間互操作的機制,屏蔽底層分布式環(huán)境的復雜性和異構(gòu)性,為處于自己上層的應(yīng)用軟件提供運行與開發(fā)環(huán)境,幫助用戶靈活、高效地開發(fā)和集成復雜的應(yīng)用軟件。在具體實現(xiàn)上,中間件是一個用應(yīng)用程序接口定義的分布式軟件管理框架,具有強大的通信能力和良好的可擴展性。中間件在分布式系統(tǒng)中的位置如圖1所示。
2 中間件的分類
隨著計算機軟件技術(shù)的發(fā)展,中間件技術(shù)也已日漸成熟,并且出現(xiàn)了不同層次、不同類型的中間件產(chǎn)品。按照IDC分類方法,中間件可分為以下6類:
2.1 終端仿真/屏幕轉(zhuǎn)換
用以實現(xiàn)客戶機圖形用戶接口與已有的字符接口方式的服務(wù)器應(yīng)用程序之間的互操作。
2.2 數(shù)據(jù)訪問中間件
適用于應(yīng)用程序與數(shù)據(jù)源之間的互操作模型,客戶端使用面向數(shù)據(jù)庫的API,以提請直接訪問和更新基于服務(wù)器的數(shù)據(jù)源,數(shù)據(jù)源可以是關(guān)系型、非關(guān)系型和對象型。這類中間件大都基于SQL語句,采用同步通訊方式。此類中間件使應(yīng)用開發(fā)簡單化,但如果透過廣域網(wǎng)使用,則會帶來嚴重的效率問題,因為在低速網(wǎng)上來回交互SQL語句會使通訊流量過大,同時對數(shù)據(jù)壓縮、加密帶來不便。
2.3 遠程過程調(diào)用中間件
RPC機制是早期開發(fā)分布式應(yīng)用時經(jīng)常采用的一種同步式的請求應(yīng)答協(xié)議。通過這種協(xié)議,程序員編寫客戶方的應(yīng)用,需要時可以調(diào)用位于遠端服務(wù)器上的過程。RPC擴展了過程語言中的“功能調(diào)用/結(jié)果返回”的機制,使得它可以適用于一個遠程環(huán)境。由于RPC機制是同步方式,因而在工作的時候,要求客戶方和服務(wù)方均能正確工作才能很好地運行,有一方不能工作將導致RPC失敗。在網(wǎng)絡(luò)故障、機器故障存在的情況下,這一要求是很難保證的。另外,由于大多數(shù)RPC機制很難建立點到點的關(guān)系,因而也很難用在面向?qū)ο蟮木幊坍斨小?/P>
2.4 消息中間件
越來越多的分布式應(yīng)用采用消息中間件來構(gòu)建,通過消息中間件把應(yīng)用擴展到不同的操作系統(tǒng)和不同的網(wǎng)絡(luò)環(huán)境;谙⒌臋C制更多地適用于事件驅(qū)動的應(yīng)用,當一個事件發(fā)生時,消息中間件通知服務(wù)方應(yīng)該進行何種操作。其核心安裝在需要進行消息傳遞的系統(tǒng)上,在它們之間建立邏輯通道,由消息中間件實現(xiàn)消息發(fā)送。消息中間件可以支持同步方式和異步方式,實際上是一種點到點的機制,因而可以很好的適用于面向?qū)ο蟮木幊谭绞。中間件領(lǐng)域目前最熱門的技術(shù)是異步的消息中間件,異步中間件技術(shù)比同步中間件技術(shù)具有更強的容錯性,在系統(tǒng)故障時可以保證消息的正常傳輸。
2.5 交易中間件
是專門針對聯(lián)機交易處理系統(tǒng)而設(shè)計的,如銀行業(yè)務(wù)系統(tǒng)、定票系統(tǒng)等。聯(lián)機交易處理系統(tǒng)需要處理大量并發(fā)進程,處理并發(fā)涉及到操作系統(tǒng)、文件系統(tǒng)、編程語言、數(shù)據(jù)通訊、數(shù)據(jù)庫系統(tǒng)、系統(tǒng)管理、應(yīng)用軟件,交易中間件就是一組程序模塊,用以減少開發(fā)一個聯(lián)機交易處理系統(tǒng)所需的編程量。
2.6 對象中間件
傳統(tǒng)的面向?qū)ο蠹夹g(shù)通過封裝、繼承及多態(tài)提供了良好的代碼重用功能,但是這些對象只存在一個程序中,外面的世界并不知道它們的存在,也無法訪問它們。面向?qū)ο蟮闹虚g件就是要解決這些問題,面向?qū)ο蟮闹虚g件提供一個標準的構(gòu)件框架,能使不同廠家的軟件通過不同的地址空間、網(wǎng)絡(luò)和操作系統(tǒng)交互訪問。該構(gòu)件的具體實現(xiàn)、位置及所依附的操作系統(tǒng)對客戶來說都是透明的。
3 主流中間件技術(shù)平臺
考察當前主流的分布計算技術(shù)平臺,主要有OMG的CORBA,Sun的J2EE和Microsoft DNA 20000,它們都是支持服務(wù)器端中間件技術(shù)開發(fā)的平臺,但都有其各自特點,將分別闡述如下:
3.1 OMG的CORBA
公共對象請求代理體系結(jié)構(gòu)(CORBA,Common Ob—ject Request Broker Architecture)是對象管理組織(OMG)基于眾多開放系統(tǒng)平臺廠商提交的分布對象互操作內(nèi)容基礎(chǔ)上制定的分布式應(yīng)用程序框架的規(guī)范。
CORBA是由絕大多數(shù)分布計算平臺廠商所支持和遵循的系統(tǒng)規(guī)范,具有模型完整、先進,獨立于系統(tǒng)平臺和開發(fā)語言,被支持程度廣泛的特點,已逐漸成為分布計算技術(shù)的標準。COBRA標準主要分為3個層次:對象請求代理、公共對象服務(wù)和公共設(shè)施。最底層是對象請求代理(ORB,Object Request Broker),規(guī)定了分布對象的定義(接口)和語言映射,實現(xiàn)對象間的通訊和互操作,是分布對象系統(tǒng)中的“軟總線”;在ORB之上定義了很多公共服務(wù),可以提供諸如并發(fā)服
【中間件技術(shù)研究】相關(guān)文章:
HSPA技術(shù)研究03-07
中間件思想在嵌入式GIS設(shè)計中的應(yīng)用03-20
當前煤礦通訊技術(shù)研究01-03
注水工藝技術(shù)研究03-01
煤礦綜合防治水技術(shù)研究11-23
企業(yè)數(shù)據(jù)備份與恢復技術(shù)研究03-26
鐵路通信工程技術(shù)研究12-12