基于WAP的移動(dòng)學(xué)習(xí)平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
隨著計(jì)算機(jī)網(wǎng)絡(luò)與通信技術(shù)的迅猛發(fā)展,教學(xué)及學(xué)習(xí)模式也在發(fā)生改變。一種嶄新的學(xué)習(xí)模式——移動(dòng)學(xué)習(xí),已成為當(dāng)今教育技術(shù)領(lǐng)域研究的新熱點(diǎn)。這種新型學(xué)習(xí)模式利用無線移動(dòng)通信網(wǎng)絡(luò)技術(shù)以及無線移動(dòng)通信設(shè)備(如手機(jī)、PDA等)獲取教育信息、教育資源和教育服務(wù),具有知識(shí)獲取的主動(dòng)性、學(xué)習(xí)設(shè)備的移動(dòng)性、學(xué)習(xí)過程互動(dòng)性和教學(xué)活動(dòng)情景性等特征。目前移動(dòng)學(xué)習(xí)的發(fā)展趨勢(shì)是利用手機(jī)進(jìn)行自主學(xué)習(xí)。日趨強(qiáng)大的手機(jī)功能和藍(lán)牙、WAP和GPRS等技術(shù)的日趨成熟以及3G的到來,使智能手機(jī)作為一種特殊的學(xué)習(xí)終端,催化了移動(dòng)學(xué)習(xí)的發(fā)展。本文主要研究WAP技術(shù),設(shè)計(jì)并實(shí)現(xiàn)了基于WAP技術(shù)的手機(jī)移動(dòng)學(xué)習(xí)平臺(tái),使學(xué)習(xí)者能夠借助手機(jī)的移動(dòng)性、實(shí)時(shí)性和互動(dòng)性,“隨時(shí)、隨地、隨身”地進(jìn)行交互式學(xué)習(xí)。
1 主要應(yīng)用技術(shù)
1.1 無線應(yīng)用協(xié)議WAP
WAP(Wireless Application Protocol,無線應(yīng)用協(xié)議)是開發(fā)移動(dòng)網(wǎng)絡(luò)上類似互聯(lián)網(wǎng)應(yīng)用的一系列規(guī)范的組合。它起著連接移動(dòng)網(wǎng)絡(luò)和Internet的橋梁作用,使得用戶無論在何時(shí)、何地都可以使用支持WAP的手機(jī)獲取網(wǎng)上信息和網(wǎng)上資源。
WAP應(yīng)用模型由,WAP客戶端、WAP網(wǎng)關(guān)和WAP內(nèi)容服務(wù)器三部分組成,這三者缺一不可??蛻舳酥饕钢С諻AP協(xié)議的移動(dòng)用戶設(shè)備終端,包括WAP手機(jī)和個(gè)人數(shù)字助理(PDA)等。WAP網(wǎng)關(guān)是WAP應(yīng)用實(shí)現(xiàn)的核心,由協(xié)議網(wǎng)關(guān)和內(nèi)容編解碼器兩部分組成。協(xié)議網(wǎng)關(guān)用于實(shí)現(xiàn)WAP協(xié)議與Internet協(xié)議之間的轉(zhuǎn)換,它起著“翻譯”協(xié)議的作用,是聯(lián)系移動(dòng)網(wǎng)絡(luò)和Internet的橋梁。WAP內(nèi)容服務(wù)器存儲(chǔ)著大量的信息,以提供WAP手機(jī)用戶來訪問、查詢、瀏覽等。具體應(yīng)用模型如圖1所示。
基于WAP實(shí)現(xiàn)信息服務(wù)的過程為:當(dāng)用戶從WAP手機(jī)鍵入WAP內(nèi)容服務(wù)器的URL后,信號(hào)經(jīng)過無線網(wǎng)絡(luò),以WAP協(xié)議方式發(fā)送請(qǐng)求至WAP網(wǎng)關(guān),然后經(jīng)過“翻譯”處理,再以HTTP協(xié)議方式與WAP內(nèi)容服務(wù)器交互,最后WAP網(wǎng)關(guān)將服務(wù)器返回的內(nèi)容壓縮、處理成Binary流,并返回到客戶的WAP手機(jī)屏幕上。
1.2 無線標(biāo)記語言WML
WML(Wireless Markup Langtaage,無線標(biāo)記語言)是基于擴(kuò)展標(biāo)記語言XML(Extension MarkupLanguage)標(biāo)準(zhǔn)的、適用于無線環(huán)境的標(biāo)記語言,用wML編寫的網(wǎng)頁可以在移動(dòng)終端的微瀏覽器上提供文本瀏覽、數(shù)據(jù)輸入、圖像和表格呈現(xiàn)以及按鈕和超級(jí)鏈接等功能。
WAP的內(nèi)容以WAP頁面作為載體,用WML編寫的頁面通常叫做卡片組(deck),由一組相互鏈接的卡片(card)組成??ㄆ邪谋?、標(biāo)記、表格、鏈接、輸入控制、事件、任務(wù)、圖像等元素,這些元素的有序組合構(gòu)成了頁面的主要業(yè)務(wù)邏輯。每張卡片都是相互獨(dú)立的用戶交互操作單元,卡片之間可以鏈接切換。當(dāng)移動(dòng)電話訪問一個(gè)WML頁面時(shí),頁面的所有卡片都會(huì)從WAP服務(wù)器下載到設(shè)備里,卡片之間的切換由內(nèi)置的計(jì)算機(jī)處理,不需要再到服務(wù)器上取信息。
2 學(xué)習(xí)平臺(tái)總體設(shè)計(jì)
根據(jù)一般用戶的學(xué)習(xí)習(xí)慣與需求,方便用戶隨時(shí)隨地進(jìn)行學(xué)習(xí),這里所設(shè)計(jì)的移動(dòng)學(xué)習(xí)平臺(tái)分為兩種學(xué)習(xí)模式,即在線學(xué)習(xí)模式和離線學(xué)習(xí)模式。在線學(xué)習(xí)模式主要包括課程資源的下載、課程作業(yè)的上傳、實(shí)時(shí)答疑及課程討論等功能模塊。離線學(xué)習(xí)主要包括學(xué)習(xí)者根據(jù)自己的學(xué)習(xí)情況制定學(xué)習(xí)計(jì)劃,進(jìn)行課程相關(guān)的課件學(xué)習(xí)、學(xué)習(xí)記錄統(tǒng)計(jì)和課后測(cè)試等。在線學(xué)習(xí)需要登錄到服務(wù)器后才能進(jìn)行,而離線學(xué)習(xí)只需要本地資源。具體功能模塊如圖2所示。
3 系統(tǒng)實(shí)現(xiàn)
在實(shí)際的系統(tǒng)開發(fā)中,以Red Hat Enterprise Linux 5為平臺(tái),以Apache Tomcat 5.5為WAP服務(wù)器,采用JSP和WML相結(jié)合的方式,按照MVC2模式進(jìn)行各個(gè)模塊的設(shè)計(jì)和實(shí)現(xiàn)。系統(tǒng)的后臺(tái)數(shù)據(jù)庫選擇可跨平臺(tái)的MySQL,采用JDBC方式,在對(duì)數(shù)據(jù)庫的操作上通過建立一個(gè)ConnectionManager類來提供對(duì)數(shù)據(jù)庫的連接,然后通過DAO模式來調(diào)用。MVC2具體是指使用JSP+Servlet+JavaBean技術(shù)方案:Model層實(shí)現(xiàn)系統(tǒng)的業(yè)務(wù)邏輯,這里使用DAO模式封裝對(duì)數(shù)據(jù)的操作;View層用于與用戶的界面交互,采用JSP,wML結(jié)合實(shí)現(xiàn);Controller層是Model層與View層間的紐帶,使用Servlet來完成有效控制。
WAP頁面不同于普通Web頁面,如果要在電腦終端上測(cè)試和瀏覽JSP實(shí)現(xiàn)的WAP應(yīng)用,除安裝Java虛擬機(jī)(JRE)外還需要安裝支持WAP的瀏覽器(即手機(jī)模擬器)。目前,常用的WAP瀏覽器中,M3gate測(cè)試的最為嚴(yán)格和標(biāo)準(zhǔn),因此本文采用此軟件進(jìn)行測(cè)試,測(cè)試效果如圖3所示。
4 系統(tǒng)開發(fā)中的問題及解決方法
(1)系統(tǒng)發(fā)布
若要將WAP應(yīng)用發(fā)布至外網(wǎng),必須將代碼應(yīng)用到服務(wù)器平臺(tái)上。為使Apache服務(wù)器能提供完整的WAP服務(wù),需要將WAP的五種MIME類型添加到Apache服務(wù)器的主配置文件中。首先,使用命令“vi/etc/httpd/conf/httpd.conf”編輯Apache的主配置文件httpd.conf。然后,定位到AddType區(qū)域,按a進(jìn)入插入模式,以“AddType text/vnd.WAP.wml”格式將五種MIME類型添加進(jìn)主配置文件,保持退出。最后,使用命令“/etc/init.d/httpd restart”重新啟動(dòng)Apache服務(wù)即可。
(2)中文編碼
采用:M3gate瀏覽WAP頁面時(shí),有時(shí)會(huì)出現(xiàn)漢字為亂碼的情況。這是由于系統(tǒng)編碼問題造成的,WML的缺省編碼是UTF-8,而漢字用的是GB2312編碼。要正常顯示,需要將GB2312編碼轉(zhuǎn)換為UTF-8。在系統(tǒng)中,通過Java編寫的字符轉(zhuǎn)換類來實(shí)現(xiàn)。首先輸出UTF-8中漢字編碼的前綴“&#x”,再通過字符轉(zhuǎn)換工具輸出漢字所對(duì)應(yīng)的16進(jìn)制碼,最后再輸出字符串結(jié)束標(biāo)記“;”。
(3)移動(dòng)設(shè)備本身的局限
移動(dòng)設(shè)備往往存在屏幕小、內(nèi)存不大、顯示內(nèi)容有限的問題,因此,在頁面的設(shè)計(jì)中必須添加方便、快捷的返回鏈接,避免使用復(fù)雜的頁面布局元素??紤]到不同廠商不同型號(hào)的移動(dòng)終端的差異性,要采用多種終端設(shè)備進(jìn)行測(cè)試,保證WAP頁面瀏覽時(shí)的通用性。
(4)費(fèi)用控制
移動(dòng)設(shè)備通過WAP方式訪問通常需要支付流量費(fèi),為了減少流量,避免給用戶產(chǎn)生昂貴的通訊費(fèi),在WAP頁面中顯示的內(nèi)容應(yīng)該力求簡短。WML文件也應(yīng)盡量簡短,一般控制在2 KB以內(nèi)。
5 結(jié) 語
隨著移動(dòng)和通信技術(shù)的日益發(fā)展,從數(shù)字化學(xué)習(xí)到移動(dòng)學(xué)習(xí)的趨勢(shì)越來越明顯。手機(jī)的日益普及功能的日趨強(qiáng)大,為打破時(shí)間和空間限制的移動(dòng)學(xué)習(xí)提供了良好的硬件支持。因此,基于WAP技術(shù)的手機(jī)移動(dòng)學(xué)習(xí)平臺(tái)開發(fā)具有良好的應(yīng)用前景。本文詳細(xì)介紹了WAP技術(shù)和WML標(biāo)記語言,并結(jié)合JSP技術(shù),設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)基于WAP技術(shù)的移動(dòng)學(xué)習(xí)平臺(tái)。該學(xué)習(xí)平臺(tái)已在當(dāng)前流行的瀏覽器環(huán)境和模擬器環(huán)境下測(cè)試通過,具有較好的靈活性以及跨越時(shí)空的便捷性,達(dá)到了預(yù)期的效果,真正實(shí)現(xiàn)了“隨時(shí)、隨地、隨身”的學(xué)習(xí)。