分析與設(shè)計(jì)WAP的推送技術(shù)
無線應(yīng)用協(xié)議作為一個開放的工業(yè)標(biāo)準(zhǔn),代表了移動通信和Internet兩大技術(shù)融合的發(fā)展方向。許多新的技術(shù)正逐漸融入該體系當(dāng)中。本文著重分析了WAP1.2規(guī)范中提出的推送技術(shù)(PUSH),并初步探討了其應(yīng)用的實(shí)現(xiàn)構(gòu)想。
1.簡介
自從1998年推出無線應(yīng)用協(xié)議(WAP)后,該協(xié)議得到了包括Nokia、Motorola、Ericssion等多家大公司在內(nèi)的業(yè)界的廣泛支持。各公司除盡快的推出自己的產(chǎn)品,以期占有市場外,還在不遺余力的進(jìn)行著協(xié)議的擴(kuò)充和新應(yīng)用的開發(fā)工作。推送(PUSH),這項(xiàng)在Internet中曾一度引起過轟動的技術(shù),在同移動通信相結(jié)合后,再次被認(rèn)為有著良好的應(yīng)用前景。
所謂推送技術(shù)是一種基于客戶服務(wù)器機(jī)制,由服務(wù)器主動的將信息發(fā)往客戶端的技術(shù),其傳送的信息通常是用戶所事先預(yù)定的。同傳統(tǒng)的拉技術(shù)(PULL)相比,兩者最為主要的區(qū)別在于前者的是由服務(wù)器主動發(fā)送信息,而后者則是由客戶機(jī)主動請求信息。
2.推送技術(shù)與移動通信的結(jié)合
推送技術(shù)的本質(zhì)在于讓信息去主動的尋找用戶,因此其優(yōu)勢在于信息的主動性和及時性,通過使用該技術(shù),可以盡快的將信息推送到用戶面前;其弱勢在于信息的準(zhǔn)確性較差,由于簡單的篩選機(jī)制取代了人工的選擇,必然會使推送信息和用戶的需求間存在一定的差異。
推送技術(shù)在Internet中沒能取得巨大的成功,原因是多方面的。在固定網(wǎng)中,計(jì)算機(jī)等固定設(shè)備為用戶提供了足夠的資源和能力去查找信息,所以人們通常將它作為一個瀏覽信息的窗口,而不是被動的信息接收者,用戶對于信息準(zhǔn)確性的要求也遠(yuǎn)勝于對其及時性的要求,因此很難期望推送技術(shù)在Internet中的成功。
在移動網(wǎng)中,由于存在著網(wǎng)絡(luò)帶寬,移動設(shè)備能力及高昂的資費(fèi)標(biāo)準(zhǔn)等諸多的限制,使得用戶無法象在固定網(wǎng)中一樣方便的查找信息,這就需要將重要的信息主動及時的推送到用戶的移動設(shè)備中。移動通信的優(yōu)點(diǎn)是可以及時方便的發(fā)送和接收信息,由于公共通信接入點(diǎn)的普及,使得發(fā)送信息的優(yōu)勢不再明顯,而及時的接收信息仍然是移動設(shè)備所獨(dú)具的優(yōu)勢。移動的話音業(yè)務(wù)是將語音信息推送到用戶,而WAP中的推送技術(shù)則是要將包括文字、聲音、圖像等在內(nèi)的數(shù)字信息推送給用戶。所以,揚(yáng)長避短正是推送技術(shù)同移動通信結(jié)合的合理性所在。
將推送技術(shù)應(yīng)用于移動通信領(lǐng)域可以帶來許多電信增值業(yè)務(wù)。這包括移動中收發(fā)電子郵件,隨時獲得股價的漲跌信息,天氣預(yù)報,及時的新聞報道,位置相關(guān)服務(wù)等。所有這些服務(wù)的共同特點(diǎn)在于用戶對信息的及時性的要求比較高,用戶希望能夠通過手機(jī),PDA等移動設(shè)備隨時隨地的的到該種服務(wù)。
3.WAP中的推送技術(shù)
無線應(yīng)用協(xié)議在1.2版本的規(guī)范中定義了推送技術(shù),提出了一套完整的從服務(wù)器到客戶端的協(xié)議規(guī)范,其體系結(jié)構(gòu)圖如圖一所示。
圖一、WAP推送技術(shù)體系結(jié)構(gòu)圖
推送框架主要包括推送發(fā)起者(PI)、推送代理網(wǎng)關(guān)(PPG)和推送客戶(PC)三個功能部份。PI位于Internet中,通過推送訪問協(xié)議(PAP)同PPG通信,PPG是Internet網(wǎng)和移動網(wǎng)之間的訪問接入點(diǎn),通過推送空間傳輸協(xié)議(P-OTA)完成從PPG到推送客戶的數(shù)據(jù)傳輸任務(wù);镜墓ぷ鬟^程如下:當(dāng)有消息要推送到客戶時,PI首先根據(jù)消息的內(nèi)容和性質(zhì)構(gòu)造推送消息,通過PAP協(xié)議向PPG發(fā)出推送請求,PPG收到請求后進(jìn)行一些必要的處理工作(包括壓縮、協(xié)議轉(zhuǎn)換、安全認(rèn)證等),然后通過P-OTA協(xié)議將推送內(nèi)容傳送給客戶端?蛻舳耸盏酵扑拖⒑,根據(jù)消息內(nèi)容和服務(wù)類型同用戶進(jìn)行交互。WAP的推送協(xié)議中針對不同的用戶需求定義了服務(wù)指示和服務(wù)加載兩種服務(wù),可根據(jù)推送消息的性質(zhì)選擇使用。
從實(shí)現(xiàn)的角度看,一般PI是運(yùn)行于Internet端的一立的服務(wù)器,負(fù)責(zé)收集推送信息和發(fā)起推送請求。由于PPG和客戶端間的通信是由運(yùn)行于WSP之上的P-OTA協(xié)議完成,所以PPG通常是和WAP網(wǎng)關(guān)集成在一起。在客戶端,為了能夠隨時收到來自PPG的推送消息,必須在后臺始終運(yùn)行一個推送消息監(jiān)聽程序。另外,由于面向連接的推送請求需要在客戶端和服務(wù)器端有激活的WSP會話,而WSP連接的建立無法由服務(wù)器端發(fā)起,所以在客戶端中引入了會話初始化程序,以監(jiān)聽來自服務(wù)器的會話建立請求,建立并激活WSP會話。
下面分別介紹推送技術(shù)的幾個關(guān)鍵組成部份:
⑴ 推送代理網(wǎng)關(guān)(PPG)
推送技術(shù)的主要處理工作基本都集中在PPG中,作為Internet到移動網(wǎng)的訪問接入點(diǎn),即要與PI通信,又要負(fù)責(zé)通過無線信道傳輸推送信息,所以必須負(fù)責(zé)所有相關(guān)的協(xié)議轉(zhuǎn)換和編碼工作。概括講,PPG所提供的主要服務(wù)包括:
q PI的標(biāo)識和鑒權(quán),訪問控制。
q 對推送內(nèi)容進(jìn)行語法分析,并依據(jù)DTD檢錯糾錯。
q 客戶尋址與信息的傳輸。
q PAP與P-OTA間的協(xié)議轉(zhuǎn)換。
q 為提高無線信道中的傳輸效率,對信息進(jìn)行處理(如壓縮、編譯等)。
另外,PPG還可以通過別名機(jī)制實(shí)現(xiàn)組播和廣播,即將某些特定的地址別名映射到組播或廣播操作,具體的實(shí)現(xiàn)方案可以由系統(tǒng)實(shí)現(xiàn)者決定。不同的客戶端,其能力是不同的,PPG還要負(fù)責(zé)響應(yīng)PI的客戶能力查詢請求,以便于PI針對不同的客戶端構(gòu)造合適的內(nèi)容格式。
⑵ 推送訪問協(xié)議(PAP)
PAP是PI與PPG間的通信協(xié)議,它使用XML作為消息的描述語言,通過簡單的請求響應(yīng)機(jī)制完成數(shù)據(jù)的傳輸。PAP可以實(shí)現(xiàn)在多種通信協(xié)議之上,包括HTTP,SMTP等。目前的WAP版本僅給出了利用HTTP隧道機(jī)制實(shí)現(xiàn)PAP的規(guī)范。PAP支持的操作包括:
q 推送消息提交:PI使用該操作向PPG提交推送請求,推送消息包括XML格式的控制信息,消息體和一個可選的客戶能力描述三部份,共同組成一個多部相關(guān)的消息(multipart/related)。
q 確認(rèn)通知:當(dāng)PI請求確認(rèn)的推送時,該操作用于傳輸確認(rèn)消息。
q 推送取消:PI請求PPG取消先前的推送請求。
q 狀態(tài)查詢:PI利用該操作查詢先前的推送請求的執(zhí)行狀況。
q 客戶能力查詢:PI可利用該操作查詢客戶端的能力,以調(diào)整傳送給用戶的推送內(nèi)容及格式。
、 推送空間傳輸協(xié)議(P-OTA)
P-OTA是運(yùn)行于WSP之上的一層較為簡單的協(xié)議層,負(fù)責(zé)從PPG到客戶代理的數(shù)據(jù)傳輸。P-OTA可使用面向連接的會話和無連接會話兩種WSP層服務(wù),對于使用連接會話的推送,需要在PPG和客戶端間預(yù)先存在一個激活的會話上下文;對于無連接的推送,則通過預(yù)留的端口完成通信。
、 服務(wù)指示(SI)和服務(wù)加載(SL)
推送消息送到移動設(shè)備后,通常只需顯示給用戶即可,但用戶可能會有些不同的需求。WAP的推送協(xié)議中定義了服務(wù)指示和服務(wù)加載兩項(xiàng)服務(wù),以給用戶和網(wǎng)絡(luò)運(yùn)營者更多的選擇。服務(wù)加載是將一項(xiàng)服務(wù)的URI推送給用戶,然后客戶端自動的使用拉技術(shù)根據(jù)該URI啟動服務(wù)。服務(wù)指示是將新信息的指示和相關(guān)的URI推送給用戶,由用戶選擇是立即處理信息或以后處理。兩種服務(wù)的區(qū)別在于用戶是否介入推送信息的處理過程。SL對推送信息的處理對用戶來說是透明的,而SI則在指示用戶的同時,請用戶對隨后的處理做出選擇。
4.WAP推送技術(shù)的實(shí)現(xiàn)
本節(jié)以一個電子郵件系統(tǒng)為例,簡單的探討了WAP推送技術(shù)的實(shí)現(xiàn)。在Internet中,電子郵件系統(tǒng)已相當(dāng)?shù)钠毡,但是收發(fā)電子郵件通常還是限制在固定的PC機(jī)完成,信息的及時性大打折扣。雖然GSM的短消息功能也可提供郵件功能,但是信息量小(160個字符),類型單一(僅限于文本),遠(yuǎn)不能滿足用戶的需要,所以可以利用WAP的推送技術(shù)來實(shí)現(xiàn)移動電子郵件功能;镜脑O(shè)計(jì)構(gòu)想如圖二所示。
圖二、移動email系統(tǒng)設(shè)計(jì)構(gòu)想
希望實(shí)現(xiàn)的`功能包括:
q 服務(wù)的登記與取消
q 郵件到來通知(響鈴或振動,并提供郵件頭部信息)
q 利用手機(jī)閱讀郵件
q 利用手機(jī)發(fā)送郵件
q 利用手機(jī)配置服務(wù)
整個郵件系統(tǒng)由以下幾部份組成:
q 郵件服務(wù)器:該部份即位于Internet中的普通的郵件服務(wù)器,負(fù)責(zé)用戶郵件的收發(fā)工作。
q POP3郵件代理:該部份使用POP3協(xié)議與郵件服務(wù)器進(jìn)行通信,并負(fù)責(zé)推送消息的發(fā)起,是整個系統(tǒng)運(yùn)行的核心組成部份。它維護(hù)著一個用戶數(shù)據(jù)庫,記錄所有登記該服務(wù)的用戶的信息,包括電子郵件地址、POP3服務(wù)器地址、賬號、配置、手機(jī)號碼等,采用輪詢的機(jī)制通過Internet定期檢查各郵件服務(wù)器,如發(fā)現(xiàn)某用戶有新郵件,則取得郵件的部份信息(如收發(fā)人、時間、主題等)作為指示內(nèi)容,并以PI的地址作為URI,共同構(gòu)成服務(wù)指示消息,然后依據(jù)該用戶的手機(jī)號對移動設(shè)備尋址,使用PAP協(xié)議向PPG提出推送請求。
q 推送代理網(wǎng)關(guān):PPG收到推送消息后對信息進(jìn)行鑒權(quán),包括消息是否來自合法的推送服務(wù)器,用戶是否登記,消息格式是否符合DTD語法等。對于合法信息利用WBXML格式進(jìn)行壓縮,然后通過P-OTA協(xié)議傳送給對應(yīng)用戶的手機(jī)。
q 移動設(shè)備:包括郵件應(yīng)用程序和服務(wù)加載器,服務(wù)加載器負(fù)責(zé)監(jiān)控推送消息的到達(dá),當(dāng)收到合法的推送消息時,以振動或響鈴的方式通知用戶新郵件的到達(dá),并將指示消息中郵件頭部信息顯示給用戶。這時候,用戶可選擇立即啟動服務(wù)或是推遲服務(wù)。
系統(tǒng)的工作流程如下:
、 POP3代理以一定的時間間隔,使用POP3協(xié)議檢查各用戶是否有新郵件到達(dá),若有則取回郵件的頭部信息。
、 POP3代理作為推送的發(fā)起者,依據(jù)收到的郵件頭部信息和數(shù)據(jù)庫信息向相應(yīng)的用戶發(fā)起推送請求。
、 PPG對推送的消息進(jìn)行鑒權(quán)和格式檢查后,壓縮成適合無線鏈路傳輸?shù)亩M(jìn)制消息發(fā)送給指定的用戶。
、 客戶端的服務(wù)加載器檢測到推送消息后,提醒用戶新郵件的到達(dá),然后根據(jù)用戶的選擇啟動或推遲服務(wù)。
、 若用戶選擇立即閱讀郵件,則將啟動客戶端的郵件程序,以用戶賬號作為參數(shù),依據(jù)指示消息中攜帶的URI向PI發(fā)出WSP GET請求。
、 PPG對WSP請求進(jìn)行協(xié)議轉(zhuǎn)換,向POP3代理發(fā)出HTTP GET請求。
⑺ POP3代理收到請求后,代理客戶從對應(yīng)的POP3服務(wù)器上取得郵件,并構(gòu)造成WML頁面,然后作為請求的響應(yīng)返回客戶端。
從具體的實(shí)現(xiàn)上看,現(xiàn)有的許多WAP網(wǎng)關(guān)產(chǎn)品,如Nokia WAP Server,都集成了PPG的功能,提供了對推送技術(shù)的支持,另外,越來越多的移動設(shè)備開始支持WAP協(xié)議,推送功能也在逐漸的得到支持,所以實(shí)現(xiàn)的重點(diǎn)就集中在了POP3代理上。這部份的功能可實(shí)現(xiàn)在一臺同PPG和Internet同時有連接的計(jì)算機(jī)上。需要運(yùn)行兩個服務(wù)器程序,一個支持text/wml類型的WEB服務(wù)器,用以響應(yīng)PPG的HTTP請求,返回郵件頁面。另一個特定的監(jiān)控程序,用以不斷的檢測與接收新郵件,構(gòu)造推送消息和WML頁面。需要另外說明的是,以上的設(shè)計(jì)主要是針對利用推送功能實(shí)現(xiàn)郵件的接收,對于郵件的發(fā)送,則可使用基本的WSP功能實(shí)現(xiàn)。
5.發(fā)展前景
推送技術(shù)結(jié)合了自身的優(yōu)勢和移動通信服務(wù)的特性,應(yīng)將有著良好的應(yīng)用前景。但是推送技術(shù)仍然存在著一些亟待解決的問題,如信息的鑒權(quán)與認(rèn)證、信息的準(zhǔn)確性問題、如何避免垃圾信息等。如何解決好這些問題將是推送技術(shù)成功的關(guān)鍵。另外,隨著GPRS技術(shù)和3G無線通信技術(shù)的發(fā)展,無線信道的帶寬將逐步增大,在無線信道上推送多媒體信息也將成為可能。
參考資料:
1."WAP PUSH Architectural Overview", WAP Forum, 08-Nov-1999
2."WAP Push OTA Protocol Specification", WAP Forum, 08-Nov-1999
3."WAP Push Access Protocol Specification", WAP Forum, 08-Nov-1999
4."WAP Service Indication Specification", WAP Forum, 08-Nov-1999
5."The MIME Multipart/related content type", E.Levinson, August 1998
6."Post Office Protocol - Version 3", J. Myers,M. Rose,May 1996
【分析與設(shè)計(jì)WAP的推送技術(shù)】相關(guān)文章:
2.JAVA和WAP移動學(xué)習(xí)技術(shù)
3.Website、WAP、APP的差異化設(shè)計(jì)
4.WAP的簡介
5.何謂WAP