韓玉飛等
摘 要: 針對(duì)數(shù)字化校園建設(shè)中存在的信息孤島問題,設(shè)計(jì)開發(fā)了基于客戶服務(wù)架構(gòu)的能支持多種手機(jī)客戶端的校園信息發(fā)布系統(tǒng)。分析了系統(tǒng)功能,描述了系統(tǒng)拓?fù)浣Y(jié)構(gòu)和軟件架構(gòu),對(duì)數(shù)據(jù)交換接口、網(wǎng)頁和手機(jī)客戶端信息提醒等關(guān)鍵技術(shù)進(jìn)行了探討。試用結(jié)果表明系統(tǒng)運(yùn)行良好,達(dá)到了設(shè)計(jì)目的。
關(guān)鍵詞: 信息發(fā)布系統(tǒng); 手機(jī)客戶端; 數(shù)字化校園; 客戶服務(wù)架構(gòu); Android; iOS; Windows Phone
中圖分類號(hào):TP319 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1006-8228(2014)05-71-03
Abstract: For the information isolated island problem existing in building digital campus, a college information publishing system based on client server architecture is designed and developed, which supports multiple mobile clients. The system functions are analyzed, the system topology is described, and the key technologies are discussed. These technologies include data exchanging interface and information notification for Web pages and mobile clients, etc. Trial results show that the system is running well and the designed goal is reached.
Key words: information publishing system; mobile client; digital campus; client server architecture; Android; iOS; Windows Phone
0 引言
高校數(shù)字化校園的建設(shè)水平已成為一所高校辦學(xué)水平和學(xué)校形象的重要體現(xiàn)。但是因?yàn)楣こ听嫶螅壳昂芏喔咝?shù)字化校園建設(shè)還存在不少問題。例如,各部門及其建設(shè)的各個(gè)信息子系統(tǒng)之間存在著技術(shù)標(biāo)準(zhǔn)不一、各自為政、不能有效聯(lián)通的現(xiàn)象。各類信息資源缺乏有效整合,以致各部門之間最終形成一個(gè)個(gè)信息孤島[1]。信息孤島不僅隔斷了部門之間的內(nèi)在聯(lián)系,致使信息資源難以共享,而且常常出現(xiàn)不同子系統(tǒng)的基礎(chǔ)數(shù)據(jù)互相沖突的情況。此外,由于各類信息由多部門分散發(fā)布,廣大師生遺漏重要信息的情況也時(shí)有發(fā)生。因此有必要開發(fā)一個(gè)統(tǒng)一的校園信息發(fā)布系統(tǒng),集中各部門信息源,統(tǒng)一發(fā)布平臺(tái),以避免信息孤島引起的數(shù)據(jù)沖突、信息遺漏等問題。
隨著智能手機(jī)和移動(dòng)互聯(lián)網(wǎng)的普及,以及校園無線WIFI網(wǎng)絡(luò)的開通,使用智能手機(jī)等多種移動(dòng)客戶端獲取信息將比傳統(tǒng)的PC瀏覽器方式更加方便快捷,且利于實(shí)現(xiàn)更為個(gè)性化的定制信息服務(wù)。目前的智能手機(jī)平臺(tái)以Android和iOS為主,此外Windows Phone也占有一定比例。因此設(shè)計(jì)開發(fā)一個(gè)能夠支持多種智能手機(jī)客戶端的校園信息發(fā)布系統(tǒng)將具有較好的實(shí)用價(jià)值。
1 系統(tǒng)功能
校園信息發(fā)布系統(tǒng)集成了信息發(fā)布和信息瀏覽兩大功能,支持PC瀏覽器和智能手機(jī)這兩大類客戶端。其中通過PC瀏覽器可以進(jìn)行信息發(fā)布、信息瀏覽、用戶登錄和用戶信息查詢等操作,而考慮到手機(jī)客戶端屏幕尺寸及使用方式的限制沒有信息發(fā)布功能。
系統(tǒng)擁有學(xué)生中心、教師中心、部門中心、其他系統(tǒng)接入和系統(tǒng)管理等五大功能模塊系統(tǒng)共有四類用戶角色:學(xué)生、教師、部門和管理員。①管理員只能通過校園內(nèi)網(wǎng)的PC瀏覽器方式進(jìn)入系統(tǒng)管理模塊進(jìn)行系統(tǒng)管理相關(guān)操作。②部門賬戶由各個(gè)教學(xué)行政部門負(fù)責(zé)人管理。使用該類賬戶通過瀏覽器登入系統(tǒng)之后,可以發(fā)布與本部門職能相關(guān)類別的公開信息,以及向全校師生(如果為院級(jí)部門則只能面向本院師生)發(fā)送私有消息。③教師通過瀏覽器登入系統(tǒng)之后,進(jìn)入教師個(gè)人中心。在教師個(gè)人中心,可以查看個(gè)人信息、私有消息,以及向自己所負(fù)責(zé)班級(jí)的學(xué)生發(fā)送私有消息,也可以使用第三方系統(tǒng)提供的功能。教師賬戶使用手機(jī)客戶端登入時(shí)不能發(fā)送私有消息。④學(xué)生可以通過瀏覽器或者手機(jī)客戶端登入系統(tǒng)并進(jìn)入學(xué)生中心。在學(xué)生中心可以查看個(gè)人信息和私有消息,也可以使用第三方系統(tǒng)提供的功能。
本系統(tǒng)中學(xué)生、教師、部門、管理員信息以及通過教師帳戶或部門賬戶發(fā)布的信息都存儲(chǔ)在關(guān)系數(shù)據(jù)庫中,而接入的第三方系統(tǒng)的數(shù)據(jù)存儲(chǔ)在各自系統(tǒng)當(dāng)中。第三方系統(tǒng)提供的功能只能在學(xué)生中心或者教師中心使用。用戶登入后,系統(tǒng)通過用戶賬號(hào)向第三方系統(tǒng)請(qǐng)求數(shù)據(jù),反饋的數(shù)據(jù)顯示在學(xué)生中心或者教師中心。
2 系統(tǒng)設(shè)計(jì)
2.1 拓?fù)浣Y(jié)構(gòu)
系統(tǒng)分為服務(wù)端和客戶端兩大部分。①服務(wù)端的硬件由應(yīng)用服務(wù)器以及數(shù)據(jù)庫服務(wù)器構(gòu)成(規(guī)模較小時(shí)可以由同一臺(tái)物理服務(wù)器承擔(dān)),并接入校園網(wǎng)。②客戶端包括PC瀏覽器客戶端和智能手機(jī)移動(dòng)客戶端兩大類。其中PC機(jī)通過校園網(wǎng)接入,如在校外需要訪問時(shí)可通過VPN撥入。手機(jī)客戶端可以通過兩種無線網(wǎng)絡(luò)接入校園網(wǎng)
2.2 系統(tǒng)架構(gòu)
該系統(tǒng)采用瀏覽器/服務(wù)器(B/S)架構(gòu)??紤]到Java技術(shù)的高度可移植性,能夠適應(yīng)Linux和Windows等多種服務(wù)器操作系統(tǒng),本系統(tǒng)服務(wù)端采用Java EE技術(shù),并使用Tomcat作為應(yīng)用服務(wù)器。服務(wù)端軟件使用分層技術(shù)開發(fā),從上到下依次為控制層、服務(wù)層、持久層。其中控制層為了支持兩類不同客戶,分別開發(fā)各自的控制器。Web控制器用以支持瀏覽器客戶,傳遞HTML數(shù)據(jù);Mobile控制器用以支持移動(dòng)客戶,傳遞JSON數(shù)據(jù)。數(shù)據(jù)庫選擇開源的MySQL關(guān)系數(shù)據(jù)庫系統(tǒng)。3 關(guān)鍵技術(shù)分析
3.1 接口與數(shù)據(jù)傳輸
為獲得最大限度的通用性,兼容盡可能多的無線通信網(wǎng)絡(luò),本系統(tǒng)的服務(wù)端與客戶端之間使用HTTP協(xié)議交換數(shù)據(jù),文本編碼采用UTF-8。PC端瀏覽器使用標(biāo)準(zhǔn)的HTML顯示信息,而手機(jī)客戶端與服務(wù)器之間交換數(shù)據(jù)的格式本系統(tǒng)選擇JSON。目前主流的跨系統(tǒng)數(shù)據(jù)交換格式有JSON和XML兩種。JSON擁有簡(jiǎn)潔的語法,而XML擁有規(guī)范的標(biāo)簽形式和良好的擴(kuò)展特性,以及豐富的編碼工具。在需考慮流量和網(wǎng)絡(luò)傳輸效率的環(huán)境以及輕量級(jí)的應(yīng)用中,JSON成為首選的數(shù)據(jù)傳輸格式。比如在移動(dòng)應(yīng)用開發(fā)中使用JSON 結(jié)合AJAX 的模式可以很好的解決移動(dòng)設(shè)備帶寬受限及網(wǎng)絡(luò)流量要求較高的問題[2-3]。
3.2 網(wǎng)頁信息提醒
用戶通過瀏覽器查看信息時(shí),在在瀏覽器頁面呈現(xiàn)之后,通過AJAX技術(shù)異步持續(xù)訪問服務(wù)器,以獲取最新信息并在頁面上給出數(shù)量提醒。AJAX訪問時(shí)僅獲取最新信息的數(shù)量,當(dāng)用戶點(diǎn)擊之后跳轉(zhuǎn)至詳細(xì)信息頁面。如果用戶已經(jīng)登錄,還需要同時(shí)獲取最新私有消息的數(shù)量并提醒,點(diǎn)擊之后跳轉(zhuǎn)至私有消息頁面。采用jQuery技術(shù)實(shí)現(xiàn)如下。
3.3 手機(jī)客戶端信息提醒
Android平臺(tái)上,當(dāng)客戶端在后臺(tái)運(yùn)行時(shí),后臺(tái)服務(wù)通過URL類向服務(wù)器獲取新信息,獲取到信息之后創(chuàng)建NotificationManager服務(wù)向用戶提醒。當(dāng)客戶端在前臺(tái)運(yùn)行時(shí),通過Dialog向用戶提醒[4-5]。
Windows Phone平臺(tái)上,當(dāng)客戶端在后臺(tái)運(yùn)行時(shí),通過Toast技術(shù)在屏幕頂部提醒,通過Tile技術(shù)將新信息數(shù)量通知在開始屏幕的磁貼上。當(dāng)客戶端在前臺(tái)運(yùn)行時(shí),通過Raw技術(shù)向用戶發(fā)出通知。
iOS中,應(yīng)用程序只有前臺(tái)運(yùn)行和掛起兩種狀態(tài)。
4 系統(tǒng)測(cè)試與運(yùn)行
服務(wù)端系統(tǒng)在Windows Server 2008環(huán)境下進(jìn)行部署測(cè)試。服務(wù)器端需要安裝配置Java 7運(yùn)行環(huán)境、Tomcat 7 Web服務(wù)器,以及MySQL 5.6數(shù)據(jù)庫服務(wù)器。從Oracle官網(wǎng)上下載JDK 免安裝版,解壓到D盤根目錄下,修改目錄名為“Jdk7”,配置環(huán)境變量:JAVA_HOME=”D:\Jdk7”。從Apache官網(wǎng)上下載Tomcat 7.0免安裝版,將下載的文件解壓到D盤根目錄。5 結(jié)束語
校園信息發(fā)布系統(tǒng)為學(xué)校各部門提供了統(tǒng)一的信息發(fā)布平臺(tái),該系統(tǒng)采用了靈活的、可縮放架構(gòu),以及可擴(kuò)展的、標(biāo)準(zhǔn)化的數(shù)據(jù)交換協(xié)議,為系統(tǒng)后續(xù)的功能擴(kuò)展提供了方便。該系統(tǒng)能夠支持多種智能手機(jī)客戶端,支持多種聯(lián)網(wǎng)方式,有助于校園信息的及時(shí)傳達(dá),且能帶給用戶更便捷的使用體驗(yàn)。校園信息發(fā)布系統(tǒng)還可以作為校內(nèi)其他應(yīng)用系統(tǒng)的接口,免去師生分別登錄學(xué)校各個(gè)系統(tǒng),不斷輸入各類賬號(hào)密碼的煩惱。目前該系統(tǒng)尚處于試用期,我們將根據(jù)用戶反饋不斷進(jìn)行優(yōu)化及調(diào)整。
參考文獻(xiàn):
[1] 吳浩.高等院校無線數(shù)字化校園建設(shè)[J].價(jià)值工程,2011.30(18):
161-161
[2] 高嘉澤,高強(qiáng),吳國(guó)全等.面向移動(dòng)應(yīng)用的后端服務(wù)平臺(tái)[J]. 計(jì)算機(jī)系
統(tǒng)應(yīng)用,2014.23(2):22-27
[3] 高靜,段會(huì)川.JSON數(shù)據(jù)傳輸效率研究[J].計(jì)算機(jī)工程與設(shè)計(jì),
2011.32(7):2267-2270
[4] 姚昱旻,劉衛(wèi)國(guó).Android的架構(gòu)與應(yīng)用開發(fā)研究[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,
2008.11:110-112
[5] 韓玉飛,殷旭東.基于Android的公共自行車查詢系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].
電腦編程技巧與維護(hù),2013.18:41-47
[6] 李聰聰,呂衛(wèi),宋垣.基于iOS的互動(dòng)電子周刊[J].計(jì)算機(jī)應(yīng)用與軟件,
2012.29(12):198-200