糯米文學吧

位置:首頁 > 設計 > 網頁設計

分析與設計WAP的推送技術

無線應用協議作為一個開放的工業標準,代表了移動通信和Internet兩大技術融合的發展方向。許多新的技術正逐漸融入該體系當中。本文着重分析了WAP1.2規範中提出的推送技術(PUSH),並初步探討了其應用的實現構想。

分析與設計WAP的推送技術

1.簡介

自從1998年推出無線應用協議(WAP)後,該協議得到了包括Nokia、Motorola、Ericssion等多家大公司在內的業界的廣泛支持。各公司除儘快的推出自己的產品,以期佔有市場外,還在不遺餘力的進行着協議的擴充和新應用的開發工作。推送(PUSH),這項在Internet中曾一度引起過轟動的技術,在同移動通信相結合後,再次被認為有着良好的應用前景。

所謂推送技術是一種基於客户服務器機制,由服務器主動的將信息發往客户端的技術,其傳送的信息通常是用户所事先預定的。同傳統的拉技術(PULL)相比,兩者最為主要的區別在於前者的是由服務器主動發送信息,而後者則是由客户機主動請求信息。

2.推送技術與移動通信的結合

推送技術的本質在於讓信息去主動的尋找用户,因此其優勢在於信息的主動性和及時性,通過使用該技術,可以儘快的將信息推送到用户面前;其弱勢在於信息的準確性較差,由於簡單的篩選機制取代了人工的選擇,必然會使推送信息和用户的需求間存在一定的差異。

推送技術在Internet中沒能取得巨大的成功,原因是多方面的。在固定網中,計算機等固定設備為用户提供了足夠的資源和能力去查找信息,所以人們通常將它作為一個瀏覽信息的窗口,而不是被動的信息接收者,用户對於信息準確性的要求也遠勝於對其及時性的要求,因此很難期望推送技術在Internet中的成功。

在移動網中,由於存在着網絡帶寬,移動設備能力及高昂的資費標準等諸多的限制,使得用户無法象在固定網中一樣方便的查找信息,這就需要將重要的信息主動及時的'推送到用户的移動設備中。移動通信的優點是可以及時方便的發送和接收信息,由於公共通信接入點的普及,使得發送信息的優勢不再明顯,而及時的接收信息仍然是移動設備所獨具的優勢。移動的話音業務是將語音信息推送到用户,而WAP中的推送技術則是要將包括文字、聲音、圖像等在內的數字信息推送給用户。所以,揚長避短正是推送技術同移動通信結合的合理性所在。

將推送技術應用於移動通信領域可以帶來許多電信增值業務。這包括移動中收發電子郵件,隨時獲得股價的漲跌信息,天氣預報,及時的新聞報道,位置相關服務等。所有這些服務的共同特點在於用户對信息的及時性的要求比較高,用户希望能夠通過手機,PDA等移動設備隨時隨地的的到該種服務。

中的推送技術

無線應用協議在1.2版本的規範中定義了推送技術,提出了一套完整的從服務器到客户端的協議規範,其體系結構圖如圖一所示。

圖一、WAP推送技術體系結構圖

推送框架主要包括推送發起者(PI)、推送代理網關(PPG)和推送客户(PC)三個功能部份。PI位於Internet中,通過推送訪問協議(PAP)同PPG通信,PPG是Internet網和移動網之間的訪問接入點,通過推送空間傳輸協議(P-OTA)完成從PPG到推送客户的數據傳輸任務。基本的工作過程如下:當有消息要推送到客户時,PI首先根據消息的內容和性質構造推送消息,通過PAP協議向PPG發出推送請求,PPG收到請求後進行一些必要的處理工作(包括壓縮、協議轉換、安全認證等),然後通過P-OTA協議將推送內容傳送給客户端。客户端收到推送消息後,根據消息內容和服務類型同用户進行交互。WAP的推送協議中針對不同的用户需求定義了服務指示和服務加載兩種服務,可根據推送消息的性質選擇使用。

從實現的角度看,一般PI是運行於Internet端的一立的服務器,負責收集推送信息和發起推送請求。由於PPG和客户端間的通信是由運行於WSP之上的P-OTA協議完成,所以PPG通常是和WAP網關集成在一起。在客户端,為了能夠隨時收到來自PPG的推送消息,必須在後台始終運行一個推送消息監聽程序。另外,由於面向連接的推送請求需要在客户端和服務器端有激活的WSP會話,而WSP連接的建立無法由服務器端發起,所以在客户端中引入了會話初始化程序,以監聽來自服務器的會話建立請求,建立並激活WSP會話。

下面分別介紹推送技術的幾個關鍵組成部份:

⑴ 推送代理網關(PPG)

推送技術的主要處理工作基本都集中在PPG中,作為Internet到移動網的訪問接入點,即要與PI通信,又要負責通過無線信道傳輸推送信息,所以必須負責所有相關的協議轉換和編碼工作。概括講,PPG所提供的主要服務包括:

q PI的標識和鑑權,訪問控制。

q 對推送內容進行語法分析,並依據DTD檢錯糾錯。

q 客户尋址與信息的傳輸。

q PAP與P-OTA間的協議轉換。

q 為提高無線信道中的傳輸效率,對信息進行處理(如壓縮、編譯等)。

另外,PPG還可以通過別名機制實現組播和廣播,即將某些特定的地址別名映射到組播或廣播操作,具體的實現方案可以由系統實現者決定。不同的客户端,其能力是不同的,PPG還要負責響應PI的客户能力查詢請求,以便於PI針對不同的客户端構造合適的內容格式。

⑵ 推送訪問協議(PAP)

PAP是PI與PPG間的通信協議,它使用XML作為消息的描述語言,通過簡單的請求響應機制完成數據的傳輸。PAP可以實現在多種通信協議之上,包括HTTP,SMTP等。目前的WAP版本僅給出了利用HTTP隧道機制實現PAP的規範。PAP支持的操作包括:

q 推送消息提交:PI使用該操作向PPG提交推送請求,推送消息包括XML格式的控制信息,消息體和一個可選的客户能力描述三部份,共同組成一個多部相關的消息(multipart/related)。

q 確認通知:當PI請求確認的推送時,該操作用於傳輸確認消息。

q 推送取消:PI請求PPG取消先前的推送請求。

q 狀態查詢:PI利用該操作查詢先前的推送請求的執行狀況。

q 客户能力查詢:PI可利用該操作查詢客户端的能力,以調整傳送給用户的推送內容及格式。

⑶ 推送空間傳輸協議(P-OTA)

P-OTA是運行於WSP之上的一層較為簡單的協議層,負責從PPG到客户代理的數據傳輸。P-OTA可使用面向連接的會話和無連接會話兩種WSP層服務,對於使用連接會話的推送,需要在PPG和客户端間預先存在一個激活的會話上下文;對於無連接的推送,則通過預留的端口完成通信。

⑷ 服務指示(SI)和服務加載(SL)

推送消息送到移動設備後,通常只需顯示給用户即可,但用户可能會有些不同的需求。WAP的推送協議中定義了服務指示和服務加載兩項服務,以給用户和網絡運營者更多的選擇。服務加載是將一項服務的URI推送給用户,然後客户端自動的使用拉技術根據該URI啟動服務。服務指示是將新信息的指示和相關的URI推送給用户,由用户選擇是立即處理信息或以後處理。兩種服務的區別在於用户是否介入推送信息的處理過程。SL對推送信息的處理對用户來説是透明的,而SI則在指示用户的同時,請用户對隨後的處理做出選擇。

4.WAP推送技術的實現

本節以一個電子郵件系統為例,簡單的探討了WAP推送技術的實現。在Internet中,電子郵件系統已相當的普遍,但是收發電子郵件通常還是限制在固定的PC機完成,信息的及時性大打折扣。雖然GSM的短消息功能也可提供郵件功能,但是信息量小(160個字符),類型單一(僅限於文本),遠不能滿足用户的需要,所以可以利用WAP的推送技術來實現移動電子郵件功能。基本的設計構想如圖二所示。

圖二、移動email系統設計構想

希望實現的功能包括:

q 服務的登記與取消

q 郵件到來通知(響鈴或振動,並提供郵件頭部信息)

q 利用手機閲讀郵件

q 利用手機發送郵件

q 利用手機配置服務

整個郵件系統由以下幾部份組成:

q 郵件服務器:該部份即位於Internet中的普通的郵件服務器,負責用户郵件的收發工作。

q POP3郵件代理:該部份使用POP3協議與郵件服務器進行通信,並負責推送消息的發起,是整個系統運行的核心組成部份。它維護着一個用户數據庫,記錄所有登記該服務的用户的信息,包括電子郵件地址、POP3服務器地址、賬號、配置、手機號碼等,採用輪詢的機制通過Internet定期檢查各郵件服務器,如發現某用户有新郵件,則取得郵件的部份信息(如收發人、時間主題等)作為指示內容,並以PI的地址作為URI,共同構成服務指示消息,然後依據該用户的手機號對移動設備尋址,使用PAP協議向PPG提出推送請求。

q 推送代理網關:PPG收到推送消息後對信息進行鑑權,包括消息是否來自合法的推送服務器,用户是否登記,消息格式是否符合DTD語法等。對於合法信息利用WBXML格式進行壓縮,然後通過P-OTA協議傳送給對應用户的手機。

q 移動設備:包括郵件應用程序和服務加載器,服務加載器負責監控推送消息的到達,當收到合法的推送消息時,以振動或響鈴的方式通知用户新郵件的到達,並將指示消息中郵件頭部信息顯示給用户。這時候,用户可選擇立即啟動服務或是推遲服務。

系統的工作流程如下:

⑴ POP3代理以一定的時間間隔,使用POP3協議檢查各用户是否有新郵件到達,若有則取回郵件的頭部信息。

⑵ POP3代理作為推送的發起者,依據收到的郵件頭部信息和數據庫信息向相應的用户發起推送請求。

⑶ PPG對推送的消息進行鑑權和格式檢查後,壓縮成適合無線鏈路傳輸的二進制消息發送給指定的用户。

⑷ 客户端的服務加載器檢測到推送消息後,提醒用户新郵件的到達,然後根據用户的選擇啟動或推遲服務。

⑸ 若用户選擇立即閲讀郵件,則將啟動客户端的郵件程序,以用户賬號作為參數,依據指示消息中攜帶的URI向PI發出WSP GET請求。

⑹ PPG對WSP請求進行協議轉換,向POP3代理髮出HTTP GET請求。

⑺ POP3代理收到請求後,代理客户從對應的POP3服務器上取得郵件,並構造成WML頁面,然後作為請求的響應返回客户端。

從具體的實現上看,現有的許多WAP網關產品,如Nokia WAP Server,都集成了PPG的功能,提供了對推送技術的支持,另外,越來越多的移動設備開始支持WAP協議,推送功能也在逐漸的得到支持,所以實現的重點就集中在了POP3代理上。這部份的功能可實現在一台同PPG和Internet同時有連接的計算機上。需要運行兩個服務器程序,一個支持text/wml類型的WEB服務器,用以響應PPG的HTTP請求,返回郵件頁面。另一個特定的監控程序,用以不斷的檢測與接收新郵件,構造推送消息和WML頁面。需要另外説明的是,以上的設計主要是針對利用推送功能實現郵件的接收,對於郵件的發送,則可使用基本的WSP功能實現。

5.發展前景

推送技術結合了自身的優勢和移動通信服務的特性,應將有着良好的應用前景。但是推送技術仍然存在着一些亟待解決的問題,如信息的鑑權與認證、信息的準確性問題、如何避免垃圾信息等。如何解決好這些問題將是推送技術成功的關鍵。另外,隨着GPRS技術和3G無線通信技術的發展,無線信道的帶寬將逐步增大,在無線信道上推送多媒體信息也將成為可能。

參考資料:

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", nson, August 1998

6."Post Office Protocol - Version 3", J. Myers,M. Rose,May 1996

標籤:wap 推送 技術