基于J2EE的校园移动GIS的设计与实现

2014-06-26 07:41:26马海兵蔡永香黄智伟黄乐乐陈浩万莉华
城市勘测 2014年6期
关键词:服务端子系统客户端

马海兵 ,蔡永香,黄智伟,黄乐乐,陈浩,万莉华

(长江大学地球科学学院,湖北 武汉 430100)

1 引 言

随着移动互联网技术的蓬勃发展和移动智能终端的日益普及,基于3G 技术的移动互联网应用也日益增多。高校中有80%以上的大学生使用Android 系统的移动智能终端[1],移动校园应用的发展趋势给高校的数字化校园建设提出了新要求[2]。国外许多知名大学如斯坦福大学、杜克大学、耶鲁大学、加州伯克利大学等都纷纷推出了自己的移动应用[3],这些应用体现了“一人一机,走遍校园”便捷的、一站式、全方位、个性化、主动式的现代化高校服务管理理念[4]。

长江大学武汉校区刚建成不久,地处偏远的蔡甸郊区。根据全校不同院系专业内发放的300 份问卷调查结果显示,有80%以上的学生认为现在的校园存在着师生获取校园资讯不便、出行困难等问题,并希望建立移动校园平台,为师生带来工作与生活上的便利。为了解决以上问题,本文在分析并研究了J2EE 的结构基础上,采用网络信息抓取与SQLite 数据库技术实现现有网络数据的获取与离线存储,并结合ArcGIS 平台设计开发了校园移动GIS,让师生享受一站式的4A(Anything、Anytime、Anywhere、Anybody)学习与办公服务。

2 系统设计

2.1 系统总体结构

如图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 系统总体结构图

2.2 系统功能设计

根据调研和需求分析[5]的结果,系统可分为3 个子系统,每个子系统又包含若干个功能,各功能模块的划分情况如图2所示。

图2 系统功能结构图

(1)基础信息服务子系统

为了避免校园信息网络管理系统的重复建设,该子系统需要通过Http 请求方式与校园网连接,从校园网上获取动态信息,实现对现有资源的深度整合。目前主要提供师生需要频繁获取的三类信息:

①校园新闻动态:将学校重要部门的新闻消息整合在手机端,师生通过移动客户端即能方便快捷的获取学校的新闻消息,做到了信息的一站式阅读;

②个人成绩信息:学生直接采用在教务处的账号、密码即可登录查询自己的成绩,无需重新创建账号系统;

③校园师生课表:从校园教务信息后台获取课程信息,并离线保存在客户端数据库,当课程被调整时,用户可以自定义编辑保存课程信息。这样,师生可以快速,方便地掌握详细的课程信息。

(2)空间信息服务子系统

移动信息服务GIS 也应该具备作为GIS 应该具备的基本功能。该子系统用来完成GIS 的基本功能,包括地图的基本操作、地图定位与地图导航以及空间查询分析等功能:

①基本操作:对地图进行缩放,漫游,几何量算,快速浏览校园全貌;确定分级内容和级数,实现对校园地理信息的分类分级显示;

②地图服务:分为空间定位和室外地图导航;室外导航利用GPS 定位获取用户当前位置,根据用户在地图上选取的目的地实现地图的导航;

③空间查询分析:图属信息互查,用户可以与地图交互查询相关要素的属性信息,也可以通过输入要素名称或语音搜索查询相关图形信息;利用Dijkstra 路径搜索算法,根据起止点进行路径分析规划出最短路径[6];利用缓冲分析查询校园附近的基础服务设施。

(3)LBS(Location-Based Service 即基于位置的服务)子系统

该子系统用来提供基于地理位置的信息服务,为生活在偏远校区的师生提供生活上的便利。提供拼车业务,解决让师生烦恼的交通不便的问题;提供住宿信息、餐饮信息以及周围的娱乐信息等,为师生提供贴心的服务。

①拼车业务:乘客用户和司机用户拥有不同的登录入口,乘客通过软件发布拼车信息,并处理司机的拼车邀请,司机可以查看乘客的拼车消息,在地图上浏览拼车路线,并发送拼车邀请来完成整个拼车业务;

②住宿信息查询:通过GPS 定位获取用户当前位置,通过缓冲分析查询学校周边宾馆信息并在地图上冒泡显示,点击就进入宾馆详细信息;

③娱乐信息查询:通过GPS 定位获取用户当前位置,通过缓冲分析查询学校周边娱乐信息并在地图上冒泡显示,点击就进入相关娱乐场所的详细信息;

④餐饮信息查询:查询学校周边的餐饮信息,根据店铺类型进行快速筛选,提供查看店铺菜单、电话订餐、店铺评分和分享当前位置等功能。

2.3 系统数据库设计

该系统使用的数据库包含空间数据库与属性数据库,其中,空间数据库存储校园地图各图层信息。将数字化好的校园地图划分图层,主要分为点、线、面三大图层,其中,点图层主要包括各商铺及建筑物的位置点,线图层包括校园主要干道,面图层主要包括绿地及各建筑物面。属性数据库存放校内外采集的基础数据,主要有商家信息,用户信息等。

系统数据库总体设计如表1所示。

表1 数据库设计表

3 关键技术与方法

系统结合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 的操作方法来取出和操作信息。

4 系统实现

在系统实现过程中,首先对系统界面进行原型化设计,针对设计好的界面进行实现;然后对系统所用到的数据进行收集整理并入库;最后基于实现的界面和采集的数据进行功能开发。

为了快速显示地图的需要,客户端也存储了部分静态地图数据,采用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 校园地图界面

5 结 语

本文在分析了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.

猜你喜欢
服务端子系统客户端
不对中转子系统耦合动力学特性研究
GSM-R基站子系统同步方案研究
驼峰测长设备在线监测子系统的设计与应用
云存储中基于相似性的客户-服务端双端数据去重方法
县级台在突发事件报道中如何应用手机客户端
传媒评论(2018年4期)2018-06-27 08:20:24
孵化垂直频道:新闻客户端新策略
传媒评论(2018年4期)2018-06-27 08:20:16
基于Vanconnect的智能家居瘦客户端的设计与实现
电子测试(2018年10期)2018-06-26 05:53:34
新时期《移动Web服务端开发》课程教学改革的研究
消费导刊(2018年8期)2018-05-25 13:19:48
在Windows Server 2008上创建应用
车载ATP子系统紧急制动限制速度计算