馬海兵 ,蔡永香,黃智偉,黃樂樂,陳浩,萬莉華
(長江大學地球科學學院,湖北 武漢 430100)
隨著移動互聯網技術的蓬勃發展和移動智能終端的日益普及,基于3G 技術的移動互聯網應用也日益增多。高校中有80%以上的大學生使用Android 系統的移動智能終端[1],移動校園應用的發展趨勢給高校的數字化校園建設提出了新要求[2]。國外許多知名大學如斯坦福大學、杜克大學、耶魯大學、加州伯克利大學等都紛紛推出了自己的移動應用[3],這些應用體現了“一人一機,走遍校園”便捷的、一站式、全方位、個性化、主動式的現代化高校服務管理理念[4]。
長江大學武漢校區剛建成不久,地處偏遠的蔡甸郊區。根據全校不同院系專業內發放的300 份問卷調查結果顯示,有80%以上的學生認為現在的校園存在著師生獲取校園資訊不便、出行困難等問題,并希望建立移動校園平臺,為師生帶來工作與生活上的便利。為了解決以上問題,本文在分析并研究了J2EE 的結構基礎上,采用網絡信息抓取與SQLite 數據庫技術實現現有網絡數據的獲取與離線存儲,并結合ArcGIS 平臺設計開發了校園移動GIS,讓師生享受一站式的4A(Anything、Anytime、Anywhere、Anybody)學習與辦公服務。
如圖1所示,系統以B/S(Browser/Server)結構為主,M/S(Mobile/Server)結構為輔。服務層中的校園移動GIS 服務器由Web 應用服務器與GIS 應用服務器組成。其中Web 應用服務器采用Apache Tomcat 7.0,GIS 應用服務器采用ArcGIS Server 10.0。服務端數據庫平臺采用SQL Server 2008 R2,實現對空間數據和屬性數據的一體化管理。

圖1 系統總體結構圖
根據調研和需求分析[5]的結果,系統可分為3 個子系統,每個子系統又包含若干個功能,各功能模塊的劃分情況如圖2所示。

圖2 系統功能結構圖
(1)基礎信息服務子系統
為了避免校園信息網絡管理系統的重復建設,該子系統需要通過Http 請求方式與校園網連接,從校園網上獲取動態信息,實現對現有資源的深度整合。目前主要提供師生需要頻繁獲取的三類信息:
①校園新聞動態:將學校重要部門的新聞消息整合在手機端,師生通過移動客戶端即能方便快捷的獲取學校的新聞消息,做到了信息的一站式閱讀;
②個人成績信息:學生直接采用在教務處的賬號、密碼即可登錄查詢自己的成績,無需重新創建賬號系統;
③校園師生課表:從校園教務信息后臺獲取課程信息,并離線保存在客戶端數據庫,當課程被調整時,用戶可以自定義編輯保存課程信息。這樣,師生可以快速,方便地掌握詳細的課程信息。
(2)空間信息服務子系統
移動信息服務GIS 也應該具備作為GIS 應該具備的基本功能。該子系統用來完成GIS 的基本功能,包括地圖的基本操作、地圖定位與地圖導航以及空間查詢分析等功能:
①基本操作:對地圖進行縮放,漫游,幾何量算,快速瀏覽校園全貌;確定分級內容和級數,實現對校園地理信息的分類分級顯示;
②地圖服務:分為空間定位和室外地圖導航;室外導航利用GPS 定位獲取用戶當前位置,根據用戶在地圖上選取的目的地實現地圖的導航;
③空間查詢分析:圖屬信息互查,用戶可以與地圖交互查詢相關要素的屬性信息,也可以通過輸入要素名稱或語音搜索查詢相關圖形信息;利用Dijkstra 路徑搜索算法,根據起止點進行路徑分析規劃出最短路徑[6];利用緩沖分析查詢校園附近的基礎服務設施。
(3)LBS(Location-Based Service 即基于位置的服務)子系統
該子系統用來提供基于地理位置的信息服務,為生活在偏遠校區的師生提供生活上的便利。提供拼車業務,解決讓師生煩惱的交通不便的問題;提供住宿信息、餐飲信息以及周圍的娛樂信息等,為師生提供貼心的服務。
①拼車業務:乘客用戶和司機用戶擁有不同的登錄入口,乘客通過軟件發布拼車信息,并處理司機的拼車邀請,司機可以查看乘客的拼車消息,在地圖上瀏覽拼車路線,并發送拼車邀請來完成整個拼車業務;
②住宿信息查詢:通過GPS 定位獲取用戶當前位置,通過緩沖分析查詢學校周邊賓館信息并在地圖上冒泡顯示,點擊就進入賓館詳細信息;
③娛樂信息查詢:通過GPS 定位獲取用戶當前位置,通過緩沖分析查詢學校周邊娛樂信息并在地圖上冒泡顯示,點擊就進入相關娛樂場所的詳細信息;
④餐飲信息查詢:查詢學校周邊的餐飲信息,根據店鋪類型進行快速篩選,提供查看店鋪菜單、電話訂餐、店鋪評分和分享當前位置等功能。
該系統使用的數據庫包含空間數據庫與屬性數據庫,其中,空間數據庫存儲校園地圖各圖層信息。將數字化好的校園地圖劃分圖層,主要分為點、線、面三大圖層,其中,點圖層主要包括各商鋪及建筑物的位置點,線圖層包括校園主要干道,面圖層主要包括綠地及各建筑物面。屬性數據庫存放校內外采集的基礎數據,主要有商家信息,用戶信息等。
系統數據庫總體設計如表1所示。

表1 數據庫設計表
系統結合GIS、Android、J2EE 的技術,采用了目前主流的三層架構設計。客戶端基于Android 平臺,采用java 語言和Http 通信技術開發而成[7],服務端采用了Structs2 +Spring3 的輕量級框架,以SQLServer 2008 R2 作為數據庫平臺,以ArcGIS Server 作為地圖服務器,采用tomcat 來構建Web 服務。涉及的主要技術有以下幾點:
①針對服務端的開發性能問題,采用J2EE 體系架構。因為它提供的企業級計算模式所需的各種服務,使得部署在J2EE 平臺上的多層應用系統可獲得高可用性、安全性、可擴展性和可靠性等性能[8]。
②針對客戶端的數據緩存問題,采用SQLite 數據庫實現,因為SQLite 是一款輕型的數據庫,是遵守ACID 的關聯式數據庫管理系統,它的設計目標是嵌入式的,目前已經在很多嵌入式產品中被使用,且占用的資源非常低,在嵌入式設備中,只需要幾百K 的內存。本應用程序采用SQLite 存取基礎數據,比如課程信息更改周期長,可以將請求得到的數據保存在本地,使用的時候直接操作本地數據庫,這樣效率高,應用程序操作起來更流暢,用戶體驗更佳。
③針對獲取網頁動態數據的問題,我們采用網頁信息抓取技術,利用現有的Jsoup 包抓取網頁上的信息。因為Jsoup 是一款用java 語言開發的HTML 解析器,可直接解析出指定的URL 地址、HTML 文本內容。它提供一套非常省力的API,可通過DOM(Document Object Model),CSS 以及類似于jQuery 的操作方法來取出和操作信息。
在系統實現過程中,首先對系統界面進行原型化設計,針對設計好的界面進行實現;然后對系統所用到的數據進行收集整理并入庫;最后基于實現的界面和采集的數據進行功能開發。
為了快速顯示地圖的需要,客戶端也存儲了部分靜態地圖數據,采用ArcGIS 10.2 Geodatabase 進行管理;服務器端屬性數據與空間數據采用一體化存儲,利用ArcSDE10.0 實現SQL Server2008 R2 對空間數據的存儲與管理。表現層部分以對手機客戶端的接口(數據訪問接口,即客戶端所有數據通過訪問該接口獲得)形式存在,手機客戶端、服務端之間數據傳輸格式采用易于閱讀和編寫并易于機器解析生成的JSON 數據格式。服務端以鍵值對的形式{“key”:“value”}組織數據,如:{“resrlt”:“success”}。易于閱讀和編寫,客戶端解析時只需要通過對應的鍵取得相應的值。
手機客戶端的開發工具除了Eclipse 外,還需要安裝Android SDK 2.2 及其相關開發插件ADT,服務端是在MyEclipse 10.0 下采用J2EE 技術框架開發。
課表信息通過網絡數據抓取和頁面布局實現,界面如圖3所示;長大拼車與生活達人通過客戶端向服務端發送請求從而返回數據來實現,界面如圖4、5 所示;校園地圖模塊一進入就能看到數字化的校園地圖,用戶可以基于該地圖做一系列的操作,核心的操作如導航、路徑分析等都通過調用ArcGIS for Android API實現[9],如圖6所示。

圖3 課表信息界面

圖4 長大拼車界面

圖5 生活達人界面

圖6 校園地圖界面
本文在分析了J2EE 的體系架構的基礎上設計并實現了基于J2EE 的校園移動GIS,系統的服務范圍定位于校園,以師生需求為中心設計功能。通過對現有數據資源的整合,為師生提供學習、餐飲、娛樂、出行等方面的個性化信息服務。從移動校園的應用前景、服務對象來看,該系統具有廣泛的發展前途。然而,該系統功能目前并不完善,針對新生入學,后續可以加入校園迎新功能,真實模擬新生報到的所有流程,為學校減輕人力負擔。真正實現一個信息展示與互動的移動校園平臺,為后來的研究提供一個較好的參考,具有一定的推廣價值。
[1]岳國斌,王潔,張增艷.基于Android 平臺的移動智慧校園系統設計與實現[J].網絡與通信,2012,24:79 ~80.
[2]劉歡,盧蓓蓉,馬晨輝.淺談高校校園移動應用開發[J].武漢大學學報(理學版),2012,58(S1):171 ~174.
[3]張凱,宓詠,閆華等.“i 復旦”——復旦大學校園移動應用的開發與實踐[J].武漢大學學報,2012,58(S1):265~270.
[4]曹敏.移動校園的可行性分析[J].理論視野,2011(7):266.
[5]吳信才等.地理信息系統設計與實現[M].第二版.北京:電子工業出版社,2010:22 ~24.
[6]鄔琦,林靖,楊江濤.基于Android 的校園導航系統路徑規劃的研究與應用[J].電腦知識與技術,2014 ,10(6):1294 ~1297.
[7]吳林,秦超,姜良軍等.LBS 與SNS 下的信息服務平臺設計與實現[J].地理空間信息,2012 ,10(2):82 ~84.
[8]鄭俊峰,康建初.基于J2EE 模式的移動電子商務平臺[J].計算機工程與設計,2003,24 (11):84 ~88.
[9]周靖雄,陳友飛.基于ArcGIS Android API 的GPS 手機導航系統關鍵技術的研究與實現[J].數字技術與應用,2012(4):45 ~48.