摘要:該文介紹了中間件技術(shù)的產(chǎn)生、定義、分類、優(yōu)點(diǎn)及中間件技術(shù)在無線網(wǎng)絡(luò)中的應(yīng)用等五個方面闡述了中間件技術(shù)在無線網(wǎng)絡(luò)系統(tǒng)中的應(yīng)用。
關(guān)鍵詞:無線網(wǎng)絡(luò);中間件技術(shù);應(yīng)用
中圖分類號:TP393 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2013)04-0724-02
隨著各種移動終端的日益普及,無線網(wǎng)絡(luò)技術(shù)也得到了飛速的發(fā)展,采用無線局域網(wǎng)辦公,能夠擺脫龐雜的網(wǎng)絡(luò)連線的束縛,極大地提高辦公效率,而且也能讓辦公環(huán)境看起來更加整齊。無線技術(shù)給人們帶來的影響是無可爭議的。而隨著計(jì)算機(jī)和網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,許多軟件需要在不同廠家的硬件平臺、網(wǎng)絡(luò)協(xié)議異構(gòu)環(huán)境下運(yùn)行,而大規(guī)模的應(yīng)用軟件通常要求在軟硬件各不相同的分布式網(wǎng)絡(luò)上運(yùn)行。中間件產(chǎn)生以前,應(yīng)用軟件直接使用操作系統(tǒng)、網(wǎng)絡(luò)和數(shù)據(jù)庫等開發(fā),開發(fā)者不得不直接面對許多復(fù)雜的問題,耗費(fèi)大量的時間和精力,因此開發(fā)者迫切需要一種基于標(biāo)準(zhǔn)的,獨(dú)立于計(jì)算機(jī)硬件,以及操作系統(tǒng)的開發(fā)和運(yùn)行環(huán)境。于是,中間件技術(shù)應(yīng)運(yùn)而生。
1 中間件技術(shù)的定義
中間件(middleware)技術(shù)所包括的范圍十分廣泛,針對不同的應(yīng)用需求涌現(xiàn)出多種各具特色的中間件技術(shù)產(chǎn)品。但至今中間件技術(shù)還沒有一個比較精確的定義。一般認(rèn)為,中間件技術(shù)是為了解決開放系統(tǒng)中互操作的問題,它通常位于平臺(硬件或是操作系統(tǒng)等)和上層應(yīng)用之間,用于屏蔽各種平臺的差異性,為上層提供統(tǒng)一接口。關(guān)于中間件的定義有很多,其中被學(xué)術(shù)界普遍接受的定義是:中間件是一種軟件,它能使處于應(yīng)用層中的各應(yīng)用成份之間實(shí)現(xiàn)跨網(wǎng)絡(luò)的協(xié)同工作(也就是互操作),這時允許各應(yīng)用成分之下所涉及的系統(tǒng)涉及的系統(tǒng)結(jié)構(gòu)、操作系統(tǒng)、通信協(xié)議、數(shù)據(jù)庫管理系統(tǒng)和其他應(yīng)用服務(wù)各不相同。
2 中間件技術(shù)的分類
在不同的角度或不同的層次上,對中間件的分類也會有所不同。由于中間件需要屏蔽分布環(huán)境中異構(gòu)的操作系統(tǒng)和網(wǎng)絡(luò)協(xié)議,它必須能夠提供分布環(huán)境下的通訊服務(wù),我們將這種通訊服務(wù)稱之為平臺?;谀康暮蛯?shí)現(xiàn)機(jī)制的不同,我們將平臺分為以下主要幾類:
2.1 遠(yuǎn)程過程調(diào)用(Remote Procedure Call)
遠(yuǎn)程過程調(diào)用是一種廣泛使用的分布式應(yīng)用程序處理方法。一個應(yīng)用程序使用RPC來“遠(yuǎn)程”執(zhí)行一個位于不同地址空間里的過程,并且從效果上看和執(zhí)行本地調(diào)用相同。事實(shí)上,一個RPC應(yīng)用分為兩個部分:server和client。server提供一個或多個遠(yuǎn)程過程;client向server發(fā)出遠(yuǎn)程調(diào)用。server和client可以位于同一臺計(jì)算機(jī),也可以位于不同的計(jì)算機(jī),甚至運(yùn)行在不同的操作系統(tǒng)之上。它們通過網(wǎng)絡(luò)進(jìn)行通訊。相應(yīng)的stub和運(yùn)行支持提供數(shù)據(jù)轉(zhuǎn)換和通訊服務(wù),從而屏蔽不同的操作系統(tǒng)和網(wǎng)絡(luò)協(xié)議。在這里RPC通訊是同步的。采用線程可以進(jìn)行異步調(diào)用。
2.2 面向消息的中間件(Message-Oriented_middleware)
面向消息的中間件(MOM)是一個基礎(chǔ)架構(gòu),它使用普通的通信信道在應(yīng)用之間傳送數(shù)據(jù)。在基于MOM的通信環(huán)境中,通常異步地發(fā)送和接收消息。使用基于消息的通信,可將應(yīng)用抽象地劃分為發(fā)送者與接收者,它們之間無須彼此了解。通過消息傳送系統(tǒng),可發(fā)送和接收消息。消息傳遞系統(tǒng)(即MOM)的作用就是將消息轉(zhuǎn)發(fā)到它們的目的地。
2.3 對象請求代理(Object Request Brokers)
對象請求代理是用戶提供與其他分布式網(wǎng)絡(luò)環(huán)境中對象通信的接口,是中間件中主要的一類,它在CORBA(Common Object Request Broker Architecture)規(guī)范中處于核心地位,定義異構(gòu)環(huán)境下對象透明地發(fā)送請求和接收響應(yīng)的基本機(jī)制,是建立對象之間client/server關(guān)系的中間件。它的作用在于提供一個通信框架,透明地在異構(gòu)的分布計(jì)算環(huán)境中傳遞對象請求。CORBA規(guī)范包括了ORB的所有標(biāo)準(zhǔn)接口。
3 中間件技術(shù)的優(yōu)點(diǎn)
在傳統(tǒng)的軟件開發(fā)模式中,應(yīng)用軟件不僅要關(guān)注自己的業(yè)務(wù)邏輯,同時還要處理與操作系統(tǒng)、數(shù)據(jù)管理系統(tǒng)、網(wǎng)絡(luò)通信之間的操作。開發(fā)人員不得不花費(fèi)大量的精力去處理底層平臺的復(fù)雜性以及各種兼容性。利用中間件技術(shù)可以屏蔽底層的復(fù)雜性,使開發(fā)人員面對統(tǒng)一的簡單的開發(fā)環(huán)境,不必再為程序在不同系統(tǒng)軟件上的移植而重復(fù)工作,從而大大減少技術(shù)上的負(fù)擔(dān)。具體來說,有以下幾點(diǎn):
1)縮短應(yīng)用開發(fā)周期,節(jié)約開發(fā)費(fèi)用:以新一代的中間件系列產(chǎn)品來組合應(yīng)用,則可大大縮短應(yīng)用程序的開發(fā)周期,節(jié)約大量的人力和資金投入。
2)減小項(xiàng)目開發(fā)風(fēng)險:研究表明,沒有使用標(biāo)準(zhǔn)商業(yè)中間件的關(guān)鍵應(yīng)用系統(tǒng)開發(fā)項(xiàng)目的失敗率高達(dá)90%。而且,企業(yè)自己開發(fā)內(nèi)置的中間件是得不償失的,項(xiàng)目總的開支至少要翻一倍。
3)提高應(yīng)用系統(tǒng)的質(zhì)量及可維護(hù)性:基于企業(yè)自主構(gòu)建的基礎(chǔ)軟件平臺上的應(yīng)用系統(tǒng),每增加一個新的模塊,就要相應(yīng)地在基礎(chǔ)軟件上進(jìn)行改進(jìn)。同時,由于使用中間件應(yīng)用系統(tǒng)的維護(hù)在一般只是對自己的業(yè)務(wù)邏輯的維護(hù),從而很大程度上增加了整個系統(tǒng)的可維護(hù)性。
4)透明地同其他應(yīng)用程序互交:由于中間件提供了一套統(tǒng)一的接口,基于它的應(yīng)用程序可以在任何運(yùn)行該中間件的平臺上運(yùn)行,它不必考慮自己的硬件平臺、軟件環(huán)境和網(wǎng)絡(luò)結(jié)構(gòu)等。
5)具有良好的可靠性、可用性和可擴(kuò)展性:中間件可以采用相應(yīng)的技術(shù)增強(qiáng)系統(tǒng)的可靠性和容錯性,應(yīng)用還可以保持原有的功能基礎(chǔ)上方便地進(jìn)行擴(kuò)展。
4 中間件技術(shù)在無線網(wǎng)絡(luò)中的應(yīng)用
1)一次開發(fā),全平臺部署
目前不同的移動終端平臺需要用不同的環(huán)境和開發(fā)語言進(jìn)行開發(fā)。正如iOS需要Object-C,Andriod需要JAVA,微軟的Windows Phone需要使用的語言是C#。因此中間件技術(shù)需要的是提供給用戶一種更為簡單高效的語言進(jìn)行開發(fā)。
中間件技術(shù)可以簡化開發(fā)環(huán)節(jié)。將復(fù)雜語言通過封裝成同一接口,通過更為簡單的開發(fā)語言實(shí)現(xiàn)開發(fā)。同時,避免因?yàn)殚_發(fā)平臺不同帶來的一系列設(shè)計(jì),實(shí)施和封裝的不便,從而實(shí)現(xiàn)“一次開發(fā),全平臺部署”。
2)利用中間件技術(shù)實(shí)現(xiàn)無線移動終端的硬件調(diào)用和系統(tǒng)對接
利用中間件技術(shù)可以實(shí)現(xiàn)無線移動終端硬件調(diào)用。移動信息化之所以越來越重要,很重要的一個原因是無線移動終端作為人體的一個額外“器官”越發(fā)無可分離。因此,充分利用無線移動終端特性,對于中間件來講也尤為關(guān)鍵。將不同無線移動終端硬件API封裝成統(tǒng)一的API,供用戶使用,無需針對不同平臺所提供的API進(jìn)行逐一實(shí)現(xiàn)。
利用中間件技術(shù)可以實(shí)現(xiàn)系統(tǒng)對接。這對用戶尤其是企業(yè)級系統(tǒng),在保證企業(yè)現(xiàn)有數(shù)據(jù)邏輯和業(yè)務(wù)邏輯的基礎(chǔ)上,高效快速的實(shí)現(xiàn)系統(tǒng)對接,不論是Web Server 、DB還是基于數(shù)據(jù)接口的對接,移動中間件技術(shù)必須要有完善解決方案。
3)中間件技術(shù)在無線網(wǎng)絡(luò)中的應(yīng)用需迎接新模式、新挑戰(zhàn)
隨著企業(yè)移動信息化的發(fā)展與思維轉(zhuǎn)變以及移動終端的發(fā)展,企業(yè)及其用戶對移動辦公的理解已上升到“實(shí)用”這個臺階。此時的移動辦公的需求出發(fā)點(diǎn)已經(jīng)轉(zhuǎn)變?yōu)槠髽I(yè)用戶真正的需求,企業(yè)用戶不乏中高端移動設(shè)備(pad、手機(jī)),企業(yè)需要提供辦公效率,需要移動審批、數(shù)據(jù)上報、位置服務(wù)等。此時傳統(tǒng)的OA廠商也發(fā)現(xiàn)了這一點(diǎn),紛紛中斷與中間件廠商的合作,自行實(shí)現(xiàn)移動OA產(chǎn)品;而洋品牌,Ctirx、SAP等也紛紛進(jìn)入移動信息化領(lǐng)域。移動中間件需迎接新挑戰(zhàn)。
4)中間件技術(shù)在無線網(wǎng)絡(luò)中的應(yīng)用需繼續(xù)發(fā)力
移動中間件需提升自身的核心業(yè)務(wù)特征,迎合各行業(yè)用戶的實(shí)際需求。強(qiáng)化服務(wù)端適配能力:服務(wù)端核心業(yè)務(wù)是數(shù)據(jù)抓取,但邊緣重點(diǎn)業(yè)務(wù)也需不斷強(qiáng)化,體現(xiàn)在以下幾點(diǎn):
①文檔轉(zhuǎn)換,覆蓋面要廣(企業(yè)文檔格式無規(guī)律,特別是政府文檔),閱讀效率要高(預(yù)讀),安全性保證;
②推送業(yè)務(wù),郵件推送、審批推送;
③用戶中心,訪問策略、安全配置。
5)中間件技術(shù)在無線網(wǎng)絡(luò)中的應(yīng)用需深化其優(yōu)勢
客戶端模塊化:現(xiàn)在的中間件客戶端集各種API為一身(有廠家自實(shí)現(xiàn)、有廠家使用webkit內(nèi)核),該類客戶端又大又笨重,與互聯(lián)網(wǎng)應(yīng)用效率相差甚遠(yuǎn)。所以客戶端需要模塊化,按接口使用分、按行業(yè)功能分都行。針對應(yīng)用,量體裁衣,縮小與native應(yīng)用效率差距,整合SDK、拓展受眾面:要統(tǒng)計(jì)可整合友盟;與移動打印機(jī)廠商合作,整合其SDK,實(shí)現(xiàn)移動打?。慌c支付系統(tǒng)整合等。橫向擴(kuò)展業(yè)務(wù)面。聚焦行業(yè),建立特性,成為行業(yè)移動信息化的優(yōu)勢產(chǎn)品。
中間件技術(shù)能夠屏蔽操作系統(tǒng)和網(wǎng)絡(luò)協(xié)議的差異,為應(yīng)用程序提供多種通訊機(jī)制;并提供相應(yīng)的平臺以滿足不同領(lǐng)域的需要。因此,中間件為應(yīng)用程序提供了一個相對穩(wěn)定的高層應(yīng)用環(huán)境。然而,中間件技術(shù)服務(wù)也并非“萬能藥”。中間件技術(shù)所應(yīng)遵循的一些原則離實(shí)際還有很大距離。多數(shù)流行的中間件服務(wù)使用專有的API和專有的協(xié)議,使得應(yīng)用建立于單一廠家的產(chǎn)品,來自不同廠家的實(shí)現(xiàn)很難互操作。有些中間件服務(wù)只提供一些平臺的實(shí)現(xiàn),從而限制了應(yīng)用在異構(gòu)系統(tǒng)之間的移植。應(yīng)用開發(fā)者在這些中間件服務(wù)之上建立自己的應(yīng)用還要承擔(dān)相當(dāng)大的風(fēng)險,隨著技術(shù)的發(fā)展他們往往還需重寫他們的系統(tǒng)。盡管中間件服務(wù)提高了分布計(jì)算的抽象化程度,但應(yīng)用開發(fā)者還需面臨許多艱難的設(shè)計(jì)選擇,例如,開發(fā)者還需決定分布應(yīng)用在client方和server方的功能分配。通常將表示服務(wù)放在client以方便使用顯示設(shè)備,將數(shù)據(jù)服務(wù)放在server以靠近數(shù)據(jù)庫,但也并非總是如此,何況其它應(yīng)用功能如何分配也是不容易確定的。
參考文獻(xiàn):
[1] 羅少賢.對移動通信網(wǎng)中的安全問題的探討[J].中山大學(xué)研究生學(xué)刊:自然科學(xué)、醫(yī)學(xué)版,2004(3).
[2] 曾令華,歐陽開翠,周明天.安全中間件——公共安全編程接口的設(shè)計(jì)和實(shí)現(xiàn)[J].計(jì)算機(jī)工程,2006(18).
[3] 常煜芬,張育平.中間件技術(shù)研究[J].計(jì)算機(jī)應(yīng)用研究,2001(10).
[4] 向生建.安全中間件系統(tǒng)關(guān)鍵技術(shù)研究[D].成都:電子科技大學(xué),2006.
[5] 孫宏 ,隋愛芬.移動通信安全的挑戰(zhàn)[J].計(jì)算機(jī)安全,2002(1).