韓玉飛等
摘 要: 針對數(shù)字化校園建設(shè)中存在的信息孤島問題,設(shè)計開發(fā)了基于客戶服務(wù)架構(gòu)的能支持多種手機客戶端的校園信息發(fā)布系統(tǒng)。分析了系統(tǒng)功能,描述了系統(tǒng)拓撲結(jié)構(gòu)和軟件架構(gòu),對數(shù)據(jù)交換接口、網(wǎng)頁和手機客戶端信息提醒等關(guān)鍵技術(shù)進行了探討。試用結(jié)果表明系統(tǒng)運行良好,達到了設(shè)計目的。
關(guān)鍵詞: 信息發(fā)布系統(tǒng); 手機客戶端; 數(shù)字化校園; 客戶服務(wù)架構(gòu); Android; iOS; Windows Phone
中圖分類號:TP319 文獻標志碼:A 文章編號: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è)水平已成為一所高校辦學水平和學校形象的重要體現(xiàn)。但是因為工程龐大,目前很多高校數(shù)字化校園建設(shè)還存在不少問題。例如,各部門及其建設(shè)的各個信息子系統(tǒng)之間存在著技術(shù)標準不一、各自為政、不能有效聯(lián)通的現(xiàn)象。各類信息資源缺乏有效整合,以致各部門之間最終形成一個個信息孤島[1]。信息孤島不僅隔斷了部門之間的內(nèi)在聯(lián)系,致使信息資源難以共享,而且常常出現(xiàn)不同子系統(tǒng)的基礎(chǔ)數(shù)據(jù)互相沖突的情況。此外,由于各類信息由多部門分散發(fā)布,廣大師生遺漏重要信息的情況也時有發(fā)生。因此有必要開發(fā)一個統(tǒng)一的校園信息發(fā)布系統(tǒng),集中各部門信息源,統(tǒng)一發(fā)布平臺,以避免信息孤島引起的數(shù)據(jù)沖突、信息遺漏等問題。
隨著智能手機和移動互聯(lián)網(wǎng)的普及,以及校園無線WIFI網(wǎng)絡(luò)的開通,使用智能手機等多種移動客戶端獲取信息將比傳統(tǒng)的PC瀏覽器方式更加方便快捷,且利于實現(xiàn)更為個性化的定制信息服務(wù)。目前的智能手機平臺以Android和iOS為主,此外Windows Phone也占有一定比例。因此設(shè)計開發(fā)一個能夠支持多種智能手機客戶端的校園信息發(fā)布系統(tǒng)將具有較好的實用價值。
1 系統(tǒng)功能
校園信息發(fā)布系統(tǒng)集成了信息發(fā)布和信息瀏覽兩大功能,支持PC瀏覽器和智能手機這兩大類客戶端。其中通過PC瀏覽器可以進行信息發(fā)布、信息瀏覽、用戶登錄和用戶信息查詢等操作,而考慮到手機客戶端屏幕尺寸及使用方式的限制沒有信息發(fā)布功能。
系統(tǒng)擁有學生中心、教師中心、部門中心、其他系統(tǒng)接入和系統(tǒng)管理等五大功能模塊系統(tǒng)共有四類用戶角色:學生、教師、部門和管理員。①管理員只能通過校園內(nèi)網(wǎng)的PC瀏覽器方式進入系統(tǒng)管理模塊進行系統(tǒng)管理相關(guān)操作。②部門賬戶由各個教學行政部門負責人管理。使用該類賬戶通過瀏覽器登入系統(tǒng)之后,可以發(fā)布與本部門職能相關(guān)類別的公開信息,以及向全校師生(如果為院級部門則只能面向本院師生)發(fā)送私有消息。③教師通過瀏覽器登入系統(tǒng)之后,進入教師個人中心。在教師個人中心,可以查看個人信息、私有消息,以及向自己所負責班級的學生發(fā)送私有消息,也可以使用第三方系統(tǒng)提供的功能。教師賬戶使用手機客戶端登入時不能發(fā)送私有消息。④學生可以通過瀏覽器或者手機客戶端登入系統(tǒng)并進入學生中心。在學生中心可以查看個人信息和私有消息,也可以使用第三方系統(tǒng)提供的功能。
本系統(tǒng)中學生、教師、部門、管理員信息以及通過教師帳戶或部門賬戶發(fā)布的信息都存儲在關(guān)系數(shù)據(jù)庫中,而接入的第三方系統(tǒng)的數(shù)據(jù)存儲在各自系統(tǒng)當中。第三方系統(tǒng)提供的功能只能在學生中心或者教師中心使用。用戶登入后,系統(tǒng)通過用戶賬號向第三方系統(tǒng)請求數(shù)據(jù),反饋的數(shù)據(jù)顯示在學生中心或者教師中心。
2 系統(tǒng)設(shè)計
2.1 拓撲結(jié)構(gòu)
系統(tǒng)分為服務(wù)端和客戶端兩大部分。①服務(wù)端的硬件由應(yīng)用服務(wù)器以及數(shù)據(jù)庫服務(wù)器構(gòu)成(規(guī)模較小時可以由同一臺物理服務(wù)器承擔),并接入校園網(wǎng)。②客戶端包括PC瀏覽器客戶端和智能手機移動客戶端兩大類。其中PC機通過校園網(wǎng)接入,如在校外需要訪問時可通過VPN撥入。手機客戶端可以通過兩種無線網(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控制器用以支持移動客戶,傳遞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端瀏覽器使用標準的HTML顯示信息,而手機客戶端與服務(wù)器之間交換數(shù)據(jù)的格式本系統(tǒng)選擇JSON。目前主流的跨系統(tǒng)數(shù)據(jù)交換格式有JSON和XML兩種。JSON擁有簡潔的語法,而XML擁有規(guī)范的標簽形式和良好的擴展特性,以及豐富的編碼工具。在需考慮流量和網(wǎng)絡(luò)傳輸效率的環(huán)境以及輕量級的應(yīng)用中,JSON成為首選的數(shù)據(jù)傳輸格式。比如在移動應(yīng)用開發(fā)中使用JSON 結(jié)合AJAX 的模式可以很好的解決移動設(shè)備帶寬受限及網(wǎng)絡(luò)流量要求較高的問題[2-3]。
3.2 網(wǎng)頁信息提醒
用戶通過瀏覽器查看信息時,在在瀏覽器頁面呈現(xiàn)之后,通過AJAX技術(shù)異步持續(xù)訪問服務(wù)器,以獲取最新信息并在頁面上給出數(shù)量提醒。AJAX訪問時僅獲取最新信息的數(shù)量,當用戶點擊之后跳轉(zhuǎn)至詳細信息頁面。如果用戶已經(jīng)登錄,還需要同時獲取最新私有消息的數(shù)量并提醒,點擊之后跳轉(zhuǎn)至私有消息頁面。采用jQuery技術(shù)實現(xiàn)如下。
3.3 手機客戶端信息提醒
Android平臺上,當客戶端在后臺運行時,后臺服務(wù)通過URL類向服務(wù)器獲取新信息,獲取到信息之后創(chuàng)建NotificationManager服務(wù)向用戶提醒。當客戶端在前臺運行時,通過Dialog向用戶提醒[4-5]。
Windows Phone平臺上,當客戶端在后臺運行時,通過Toast技術(shù)在屏幕頂部提醒,通過Tile技術(shù)將新信息數(shù)量通知在開始屏幕的磁貼上。當客戶端在前臺運行時,通過Raw技術(shù)向用戶發(fā)出通知。
iOS中,應(yīng)用程序只有前臺運行和掛起兩種狀態(tài)。
4 系統(tǒng)測試與運行
服務(wù)端系統(tǒng)在Windows Server 2008環(huán)境下進行部署測試。服務(wù)器端需要安裝配置Java 7運行環(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)為學校各部門提供了統(tǒng)一的信息發(fā)布平臺,該系統(tǒng)采用了靈活的、可縮放架構(gòu),以及可擴展的、標準化的數(shù)據(jù)交換協(xié)議,為系統(tǒng)后續(xù)的功能擴展提供了方便。該系統(tǒng)能夠支持多種智能手機客戶端,支持多種聯(lián)網(wǎng)方式,有助于校園信息的及時傳達,且能帶給用戶更便捷的使用體驗。校園信息發(fā)布系統(tǒng)還可以作為校內(nèi)其他應(yīng)用系統(tǒng)的接口,免去師生分別登錄學校各個系統(tǒng),不斷輸入各類賬號密碼的煩惱。目前該系統(tǒng)尚處于試用期,我們將根據(jù)用戶反饋不斷進行優(yōu)化及調(diào)整。
參考文獻:
[1] 吳浩.高等院校無線數(shù)字化校園建設(shè)[J].價值工程,2011.30(18):
161-161
[2] 高嘉澤,高強,吳國全等.面向移動應(yīng)用的后端服務(wù)平臺[J]. 計算機系
統(tǒng)應(yīng)用,2014.23(2):22-27
[3] 高靜,段會川.JSON數(shù)據(jù)傳輸效率研究[J].計算機工程與設(shè)計,
2011.32(7):2267-2270
[4] 姚昱旻,劉衛(wèi)國.Android的架構(gòu)與應(yīng)用開發(fā)研究[J].計算機系統(tǒng)應(yīng)用,
2008.11:110-112
[5] 韓玉飛,殷旭東.基于Android的公共自行車查詢系統(tǒng)設(shè)計與實現(xiàn)[J].
電腦編程技巧與維護,2013.18:41-47
[6] 李聰聰,呂衛(wèi),宋垣.基于iOS的互動電子周刊[J].計算機應(yīng)用與軟件,
2012.29(12):198-200