(華南理工大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院計(jì)算機(jī)系, 廣州 510006)
摘 要:
WAP 2.0是WAP協(xié)議的最新版本,基于WAP 2.0技術(shù)設(shè)計(jì)與實(shí)現(xiàn)了廣州大學(xué)城校園門戶系統(tǒng)。通過對部分典型校園門戶的分析比較,詳細(xì)探討了如何設(shè)計(jì)一個集成多個系統(tǒng)的校園門戶,并就實(shí)現(xiàn)中遇到的圖像瀏覽業(yè)務(wù)提出了圖像自適應(yīng)的實(shí)現(xiàn)流程。目前該校園門戶運(yùn)行良好,能滿足大學(xué)城近30萬師生的需求。
關(guān)鍵詞:校園門戶; WAP 2.0; 圖像自適應(yīng)
中圖分類號:TN915.04 文獻(xiàn)標(biāo)志碼:A
文章編號:1001-3695(2009)02-0617-03
Design and implementation of WAP 2.0-based campus portal
LUO Zhi-ping, SU Jin-tian, LI Rong-hua, ZHANG Xing-ming, XIAO Zhe
(Dept. of Computer Science, School of Computer Engineering, South China University of Technology, Guangzhou 510006, China)
Abstract:WAP2.0 is the latest version of WAP protocol. This paper designed and implemented guangzhou WAP portal based WAP 2.0. Introduced how to design a portal and integrate several existent; gave the method of how to realization of adaptive image delivery. The campus portal run well, and it satisfies almost 300 thousand users.
Key words:campus portal;WAP 2.0;adaptive image delivery
信息化時代的今天,信息的傳輸變得相當(dāng)重要。手機(jī)上網(wǎng)具有無可比擬的優(yōu)點(diǎn),它不受物理?xiàng)l件的限制,不易受黑客攻擊。應(yīng)運(yùn)而生的WAP應(yīng)用為業(yè)務(wù)的發(fā)展帶來了新的機(jī)遇和技術(shù)手段,推動了手機(jī)的發(fā)展和更新,而手機(jī)的新功能推動了業(yè)務(wù)量的增長和新業(yè)務(wù)的不斷推出,形成了整個無線互聯(lián)網(wǎng)的良性循環(huán)?;赪AP技術(shù),學(xué)生可以利用移動電話等無線設(shè)備獲得即時性的消息,如圖書借閱、教務(wù)通知等,提高了高校信息化程度。因此建設(shè)基于WAP的校園門戶具有重要的意義。但校園門戶的建設(shè)涉及現(xiàn)有系統(tǒng)的信息集成問題,以及WAP應(yīng)用中多媒體傳輸受限的問題,這些都是現(xiàn)在WAP應(yīng)用的研究熱點(diǎn)之一。本文以廣州大學(xué)城校園門戶為例對校園門戶的設(shè)計(jì)與實(shí)現(xiàn)作一番研究。
1 WAP 2.0概述
1. 1 WAP 2.0技術(shù)
從1997年WAP論壇成立起,WAP技術(shù)發(fā)展迅猛,協(xié)議版本從1.0發(fā)展到了最新的2.0版本。WAP 2.0在協(xié)議層作了很大的改進(jìn),它采用IETF的規(guī)范,在傳輸層支持TCP/IP,實(shí)現(xiàn)IP網(wǎng)絡(luò)上傳輸數(shù)據(jù)的能力;在會話層采用HTTP 1.1作為協(xié)定。在安全上,WAP 2.0還加強(qiáng)了傳輸?shù)陌踩阅?,包括TLS協(xié)議的采用和結(jié)合有線的安全措施,保證了可靠的端到端的安全[1]。另外,WAP 2.0特有的直接HTTP通信﹑移動友好技術(shù)、標(biāo)記語言XHTMLMP以及對WML 1.0的完全向后兼容等技術(shù),使得WAP 2.0能有更好的圖形展現(xiàn)及控制能力,更容易針對不同的終端作出相應(yīng)的內(nèi)容優(yōu)化。
1. 2 應(yīng)用模型
WAP是一個協(xié)議棧,由一系列協(xié)議組成[2]。經(jīng)過WAP論壇的不懈努力,WAP應(yīng)用與傳統(tǒng)的Internet模型非常相似,但增加了WAP網(wǎng)關(guān)這一實(shí)體。WAP的應(yīng)用架構(gòu)很靈活,其一般應(yīng)用模型如圖1所示。
模型中最重要的是WAP網(wǎng)關(guān)這一實(shí)體,它不但能將兩個不同的Internet與無線通信網(wǎng)連接起來,而且還擔(dān)負(fù)著WAP與Internet協(xié)議的轉(zhuǎn)換,以及WML、WMLScript的編/解碼工作[3]。一旦網(wǎng)關(guān)收到服務(wù)器提供給用戶的原文格式的卡片組,就會在原文與二進(jìn)制之間作出必要的轉(zhuǎn)換。在網(wǎng)關(guān)中的WML編碼器將WML卡片組轉(zhuǎn)換成二進(jìn)制格式,從而更好地適應(yīng)用戶代理的環(huán)境,為用戶提供個性化的服務(wù)。若用戶代理請求的是WMLScript內(nèi)容,網(wǎng)關(guān)中的WMLScript編譯器將服務(wù)器的腳本編譯成字節(jié)碼的格式,并發(fā)送給用戶代理解釋和執(zhí)行。
2 現(xiàn)有校園門戶方案分析
高校信息化建設(shè)是各大高校實(shí)現(xiàn)跨越式發(fā)展的重大戰(zhàn)略之一,信息化系統(tǒng)從不同角度為全校師生提供服務(wù),有效地避免時空限制帶來的負(fù)面影響。系統(tǒng)中最常見的也是最急切的需求就是校園門戶,因此很多開發(fā)人員或?qū)W者對此做了大量的研究工作,并都實(shí)現(xiàn)了特定的WAP應(yīng)用。本文查閱了大量的文獻(xiàn),針對現(xiàn)有的基于Web的校園門戶和基于WAP的校園門戶系統(tǒng)進(jìn)行了分析比較,為設(shè)計(jì)廣州大學(xué)城校園門戶提供了參考。
2. 1 基于Web的校園門戶分析
傳統(tǒng)的校園門戶是基于Web的,一般采用J2EE的MVC(視圖﹑模型﹑控制器)來設(shè)計(jì)門戶。還有的采用了開源的門戶框架,結(jié)合本校信息化建設(shè)的需求來定制本校的門戶。這些系統(tǒng)都很好地實(shí)現(xiàn)了現(xiàn)有系統(tǒng)集成,提供了統(tǒng)一登錄的門戶。
a)許鑫等人[4]采用以門戶為核心的設(shè)計(jì)思想,對現(xiàn)有系統(tǒng)進(jìn)行集成,并為用戶提供個性化的服務(wù),很好地滿足了校園用戶特定需要的信息集中與發(fā)布。該文設(shè)計(jì)的系統(tǒng)采用了開源的Portal框架Jetspeed和CBD的設(shè)計(jì)模式。
b)王威等人[5]主要從現(xiàn)有系統(tǒng)就如何進(jìn)行信息集成對校園門戶的設(shè)計(jì)進(jìn)行了論述,詳細(xì)地論述了信息集成的內(nèi)容集成﹑應(yīng)用集成﹑數(shù)據(jù)集成三個方面,為校園門戶的信息集成提供了一個良好的解決方案。
c)文獻(xiàn)[6]采用SOAP協(xié)議來實(shí)現(xiàn)現(xiàn)有系統(tǒng)間的數(shù)據(jù)交換,減少了系統(tǒng)集成對現(xiàn)有系統(tǒng)的改造工作量,并且設(shè)計(jì)的門戶可擴(kuò)展性好。
表1為上述三個方案的比較??梢钥闯鲂@門戶設(shè)計(jì)的關(guān)鍵點(diǎn)是設(shè)計(jì)思想和設(shè)計(jì)框架的選擇,兩者將影響門戶的實(shí)現(xiàn)。
表1 基于Web的方案比較
方案設(shè)計(jì)思想開發(fā)環(huán)境架構(gòu)
文獻(xiàn)[4]設(shè)計(jì)PortalJetspeedMVC
文獻(xiàn)[5]以用戶為中心的信息集成PortalPortal
文獻(xiàn)[6]設(shè)計(jì)構(gòu)件J2EE、XMLMVC
2. 2 基于WAP的校園門戶分析
如何將現(xiàn)有的Web系統(tǒng)移植到WAP門戶中是開發(fā)移動校園門戶的關(guān)鍵點(diǎn)之一,另外如何架構(gòu)一個WAP門戶也是重點(diǎn)。很多學(xué)者提出了自己的看法。
a)文獻(xiàn)[7]以多年開發(fā)WAP增值業(yè)務(wù)的經(jīng)驗(yàn)論述了開發(fā)WAP系統(tǒng)的一些建議和設(shè)計(jì)思想。
b)吳軼婷等人[8]則對如何將MVC模式應(yīng)用到WAP開發(fā)中作了研究。由于MVC模式獨(dú)立于視圖,使得系統(tǒng)設(shè)計(jì)和使用有很大的靈活性,這樣WAP也能像Web開發(fā)那樣靈活。
c)張永進(jìn)等人[9]將AAF框架與WAP技術(shù)相結(jié)合,成功地實(shí)現(xiàn)了一個水資源監(jiān)測中心無線門戶。該項(xiàng)目得到了國家自然科學(xué)基金的支持,說明WAP開發(fā)可以結(jié)合其他優(yōu)秀的技術(shù)。
表2是上述四個WAP方案的比較??梢缘贸鯳AP校園門戶設(shè)計(jì)和實(shí)現(xiàn)可以采用MVC的設(shè)計(jì)模式與結(jié)合Web的優(yōu)秀框架。
表2 基于WAP的方案比較
方案設(shè)計(jì)思想開發(fā)環(huán)境架構(gòu)
文獻(xiàn)[7]MVC結(jié)合XSLJ2EEMVC
文獻(xiàn)[8]MVC應(yīng)用在WAPJ2EEMVC
文獻(xiàn)[9]集成原有Web系統(tǒng)WML
文獻(xiàn)[10]AAF結(jié)合WAPAAF框架MVC
3 門戶總體設(shè)計(jì)
3. 1 系統(tǒng)架構(gòu)
根據(jù)對現(xiàn)有校園門戶方案分析的結(jié)果,廣州大學(xué)城校園門戶設(shè)計(jì)模式采用MVC設(shè)計(jì)模式,模型是PHP程序,視圖為XHTML或WML,控制器可以是CGI或PHP程序。如圖2所示,PHP程序和視圖能夠很好地分離,動態(tài)生成WML和XHTML頁面。
門戶系統(tǒng)結(jié)構(gòu)由WAP手機(jī)、WAP網(wǎng)關(guān)、Web服務(wù)器組成。通信鏈路采用加密技術(shù)和WAP 2.0加強(qiáng)的安全機(jī)制來保證門戶的安全性,從WAP手機(jī)到WAP網(wǎng)關(guān)由WTLS協(xié)議控制傳輸安全,從WAP網(wǎng)關(guān)到Web服務(wù)器由SSL協(xié)議控制傳輸安全。Web服務(wù)器由高速緩存服務(wù)器、Web應(yīng)用服務(wù)器、數(shù)據(jù)庫服務(wù)器組成。高速緩存服務(wù)器位于網(wǎng)絡(luò)邊界,一般設(shè)置在防火墻外側(cè),靠近用戶,這樣能緩解大量用戶并發(fā)訪問時服務(wù)器的負(fù)載。數(shù)據(jù)庫服務(wù)器采用雙機(jī)熱備份技術(shù),以保證數(shù)據(jù)的穩(wěn)定性和一致性。如圖3所示,系統(tǒng)實(shí)現(xiàn)數(shù)據(jù)集成,多個外部系統(tǒng)和新開發(fā)系統(tǒng)的數(shù)據(jù)集成到統(tǒng)一數(shù)據(jù)中心。在上層為業(yè)務(wù)邏輯層,為門戶提供各類服務(wù)(包括個性化服務(wù))。服務(wù)層只與統(tǒng)一數(shù)據(jù)中心進(jìn)行數(shù)據(jù)交換,系統(tǒng)在服務(wù)層上實(shí)現(xiàn)各個系統(tǒng)的應(yīng)用集成,為門戶提供統(tǒng)一的訪問接口。
另外門戶的身份認(rèn)證是一個關(guān)鍵點(diǎn),一般采用SSO(單點(diǎn)登錄)技術(shù),用戶key通過加密后傳入認(rèn)證服務(wù)器。認(rèn)證服務(wù)器與用戶信息數(shù)據(jù)交互后對用戶身份進(jìn)行認(rèn)證,認(rèn)證通過則從授權(quán)服務(wù)器獲得該用戶所具有的權(quán)限,并與用戶建立會話,從而實(shí)現(xiàn)一次登錄,到處使用。
門戶SSO的安全性是一個很復(fù)雜的問題,加密算法的研究、無線公鑰基礎(chǔ)設(shè)施引起了很多學(xué)者的研究。其中有胡向東等人[11]對WAP安全中的加密算法的分析,以及在安全性要求極高的無線電子政務(wù)中如何應(yīng)用WPKI作了仔細(xì)研究的楊鋒等人[12]。文獻(xiàn)[11]分析得出ECC(橢圓加密算法)與AES(高級加密算法)相結(jié)合來實(shí)現(xiàn)數(shù)字簽名,能最大程度地保證系統(tǒng)的安全性和系統(tǒng)性能。
在筆者設(shè)計(jì)的門戶中先對用戶key用不可逆加密算法MD5加密,同時認(rèn)證服務(wù)器為該用戶發(fā)放一張數(shù)字證書,公鑰和信息加密的密鑰用AES加密,傳輸信息用ECC加密。Key和傳輸信息一起在無線網(wǎng)絡(luò)傳輸。WPKI則負(fù)責(zé)數(shù)字證書的管理,包括證書申請﹑發(fā)放,從而門戶實(shí)現(xiàn)了數(shù)字簽名﹑密文傳輸。圖4是門戶單點(diǎn)登錄實(shí)現(xiàn)機(jī)制。
3. 2 軟件體系結(jié)構(gòu)
門戶分為表現(xiàn)層、服務(wù)層、業(yè)務(wù)邏輯層、系統(tǒng)管理層、安全管理層。每層負(fù)責(zé)相應(yīng)的角色功能。其中,表現(xiàn)層包括個性化服務(wù)、個人信息管理、消息管理等,具體表現(xiàn)為各個應(yīng)用系統(tǒng);服務(wù)層包括內(nèi)容管理、搜索服務(wù)、目錄服務(wù);業(yè)務(wù)邏輯層是門戶功能實(shí)現(xiàn)的黑箱子,處理門戶的各項(xiàng)業(yè)務(wù);系統(tǒng)管理層則是門戶管理的接口,其中負(fù)載均衡是專為大型門戶設(shè)計(jì)的,避免服務(wù)器負(fù)載不均衡;安全管理層則是統(tǒng)一的用戶管理模塊和門戶消息密文傳輸?shù)恼?。?/p>
門戶中數(shù)據(jù)來源多樣化,為此可以設(shè)計(jì)不同數(shù)據(jù)源的適配器,上層數(shù)據(jù)操作請求交給適配器完成。與異構(gòu)系統(tǒng)進(jìn)行數(shù)據(jù)集成則通過SOAP協(xié)議完成,數(shù)據(jù)交換格式為XML文件,與平臺無關(guān)。
圖5是廣州大學(xué)校園門戶的軟件體系結(jié)構(gòu),總體上覆蓋了門戶系統(tǒng)的基本服務(wù),并針對大學(xué)城需求表現(xiàn)層作了定制。該門戶包括論壇、博客、教務(wù)發(fā)布、求職、圖書借閱、公交快報、電子地圖、校內(nèi)交友等系統(tǒng)。其中圖書借閱、電子地圖、教務(wù)發(fā)布是現(xiàn)有的Web系統(tǒng)。門戶設(shè)計(jì)的目標(biāo)是集成這些系統(tǒng),為用戶提供統(tǒng)一的訪問接口。
4 門戶實(shí)現(xiàn)
4. 1 圖像自適應(yīng)評價體系
3G時代的到來,多媒體信息傳輸在WAP門戶中開始嶄露頭角。圖像是多媒體信息中最常見的,但在無線通信中,網(wǎng)絡(luò)帶寬不足、性能不穩(wěn)定以及WAP終端的屏幕大小、支持的圖像格式異同造成圖像在門戶中傳輸速度慢甚至無法顯示,因此需要實(shí)現(xiàn)WAP圖像自適應(yīng)網(wǎng)絡(luò)狀況傳輸。
首先認(rèn)真評估WAP門戶中影響圖像傳輸?shù)囊蛩兀闹刑崛〕龊诵囊蛩亍1疚目紤]的因素有WAP終端、原圖參數(shù)和網(wǎng)絡(luò)性能。其中,原圖參數(shù)包括圖像尺寸和色彩位數(shù);網(wǎng)絡(luò)性能則指帶寬。WAP終端的信息參數(shù)需要MISC提供。從MISC處可以獲得WAP手機(jī)型號、支持圖像格式、屏幕像素、網(wǎng)絡(luò)類型。這里選擇帶寬、圖像尺寸、色彩位數(shù)、支持圖像格式和屏幕像素作為評價因素。建立圖像自適應(yīng)評價體系,如圖6所示。
從無線網(wǎng)絡(luò)和MISC獲得上述五個評價參數(shù)后,圖像自適應(yīng)模塊通過算法求解出圖像調(diào)整的決策依據(jù)。
4. 2 算法實(shí)現(xiàn)
五個評價參數(shù)不是相互獨(dú)立的,存在著相互牽制的關(guān)系。這里為每個參數(shù)分配一個權(quán)值關(guān)聯(lián)。權(quán)值的大小可以根據(jù)實(shí)際采用的算法而定。從降低運(yùn)算時間復(fù)雜度出發(fā)各個權(quán)值歸一化,每個權(quán)值在[0,1]。假設(shè)原圖尺寸用d表示;色彩位數(shù)用c表示;網(wǎng)絡(luò)帶寬用b表示;屏幕像素大小用p表示;支持的圖像格式用f表示。因?yàn)橹С指袷接卸喾N,所以f定義為數(shù)組形式,每種格式用阿拉伯?dāng)?shù)字表示。例如f=[0,1,2,3]表示該WAP終端支持jpeg、gif、bmp、png格式的圖像。設(shè)權(quán)值為wi,i取值為[0,4]。這樣建立的評價函數(shù)為
當(dāng)五個評價參數(shù)已知后,在滿足權(quán)值歸一化的條件下求解出wi,這樣圖像自適應(yīng)就變成一個求解有約束條件最優(yōu)值的問題。
求解這樣的問題有很多方法,通常會采用仿生學(xué)算法如遺傳算法﹑蟻群算法﹑人工魚算法等。對于這類算法已有很多文獻(xiàn)作了專門的介紹,這里限于篇幅就不再介紹。需注意的是,實(shí)際中參數(shù)比較復(fù)雜,所以算法中的編碼和迭代次數(shù)有嚴(yán)格的要求。這類算法的參數(shù)設(shè)置非常靈活,在實(shí)際應(yīng)用中要靈活把握。
筆者實(shí)現(xiàn)的廣州大學(xué)城校園門戶采用了遺傳算法,使用別的算法也能較快地解出wi,遺傳算法已有很多例程,本文對權(quán)利編碼時將各權(quán)值擴(kuò)大5倍,這樣權(quán)值的取值就在[0,5],解碼時則縮小5倍,即可還原到原來區(qū)間。編碼時按照如下規(guī)則生成權(quán)值的碼值:a)生成一個[0,5]的隨機(jī)數(shù)作為第一個權(quán)值w1;b)取n=5-w1,再隨機(jī)生成一個[0,n]的數(shù)作為w2。依照步驟a)b)生成5個權(quán)值的碼值為止。通過m次迭代求解出wi后,依據(jù)wi的值作出決策,權(quán)值大的說明其對應(yīng)的參數(shù)是影響圖像傳輸?shù)闹饕蛩亍*?/p>
算法在一個c文件中實(shí)現(xiàn),并生成dll文件。在開發(fā)中就可以直接引用dll文件,Java的本地化方法能很好地調(diào)用c中的方法,是個不錯的選擇,當(dāng)然讀者也可以選擇其他的方法。
圖像自適應(yīng)有很廣闊的前景,它能夠根據(jù)無線網(wǎng)絡(luò)狀況自適應(yīng)地壓縮圖像或智能化的格式轉(zhuǎn)換后再傳遞,很適合于3G門戶。
5 結(jié)束語
本文從分析現(xiàn)有校園門戶出發(fā),對校園門戶的設(shè)計(jì)進(jìn)行了詳細(xì)分析,最后實(shí)現(xiàn)了一個覆蓋10所高校的廣州大學(xué)城校園門戶,對廣州大學(xué)城信息化建設(shè)起到了積極作用,也為以后從事WAP信息服務(wù)開發(fā)人員提供了在技術(shù)和方案級的可參考解決方案。隨著3G時代的到來,視頻服務(wù)也應(yīng)融入到無線校園門戶中,因此下一步還要繼續(xù)研究視頻的傳輸控制自適應(yīng)。
參考文獻(xiàn):
[1]KUMAR V, PARIMI S, AGRAWAL D P. WAP:present and future[J]. IEEE,2003,2(1):79-83.
[2]Wirless application protocol forum[EB/OL].(2002-05-17)[2008-04-28].http://www.wap-forum.org/.
[3]徐浩,文貴華,丁月華,等.基于WAP的網(wǎng)關(guān)系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)應(yīng)用研究,2002,19(7):65-67.
[4]許鑫,蘇新寧,杜華明.高校統(tǒng)一門戶的設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代圖書情報技術(shù),2005,17(5):57-63.
[5]王威,蔣東興,劉啟新.支持信息集成的校園門戶的研究與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2006,27(20):3741-3744.
[6]朱崇湘.基于校園網(wǎng)的綜合信息查詢系統(tǒng)的設(shè)計(jì)[J].計(jì)算機(jī)工程與設(shè)計(jì),2005,26(3):833-835.
[7]劉學(xué)英.基于J2EE的WAP增值應(yīng)用軟件的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與應(yīng)用,2002,38(23):144-148.
[8]吳軼婷,姚琳.基于WVC模式的WAP開發(fā)與設(shè)計(jì)[J].計(jì)算機(jī)應(yīng)用,2005,25(8):1887-1889.
[9]張永進(jìn),金海華,陳洪起.基于WAP的應(yīng)用系統(tǒng)開發(fā)技術(shù)研究[J].計(jì)算機(jī)工程與應(yīng)用,2005,41(30):201-203.
[10]楊波,馬秉堯,孫潤元.基于WAP的校園信息服務(wù)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].大連理工大學(xué)學(xué)報,2005,45(增刊):1887-1889.
[11]胡向東,魏琴芳,鮮繼清,等.WAP安全實(shí)現(xiàn)中的新型密碼算法[J].計(jì)算機(jī)應(yīng)用研究,2003,20(1):19-22.
[12]楊鋒,鐘誠,米愛中,等.基于WPKI的安全無線電子政務(wù)體系結(jié)構(gòu)的分析與設(shè)計(jì)[J].計(jì)算機(jī)應(yīng)用研究,2004,21(11):134-136.