杨岚
(大连外国语大学 软件学院,辽宁 大连 116044)
移动APP获取外部数据的方法探究——以大外“掌上课表”为例
杨岚
(大连外国语大学软件学院,辽宁大连116044)
本文是结合在大外“掌上课表”开发实现过程中的多种实践及经验,对移动应用平台架构、尤其是对开发实现APP时如何获取外部数据给出四种行之有效的方法,并进行了详细介绍和分析,以供校园APP开发者熟悉和了解该平台,共同开发种类繁多的校园APP,推动移动校园的使用和发展.
移动APP;掌上课表;获取外部数据
“开放、互联、快速、运营”是近年来人们用来描述移动互联网的几个常见.与互联网相比,移动互联网是一个全新的场景,它的出现极大地改变了人们的生活方式,同时3G、4G智能移动终端的普及,让数字校园的资源快速地钻进了学生的口袋,信息正以史无前例的速度传播,并产生惊人的影响.
1.1“掌上课表”需求
目前高校教育信息化正在向移动信息化、移动管理、移动办公发展,以移动技术为核心的数字化校园产品的构建需求迫切.移动终端上的课程表需求强烈,相继诞生了“超级课程表”、“课程格子”等一批新兴校园移动应用.第三方课表类应用虽广为人知,但使用时需要绑定学校教务系统的个人账号和口令,存在账号口令被盗取的安全隐患.且这些免费的互联网应用完全靠商业运作,广告及与垃圾消息推送等显露无疑,因而不是师生的首选方案.涉及学校数据的应用首先要考虑安全、权威的问题,还要基于校园信息化管理与建设的规划,大连外国语大学“掌上课表”正是基于此背景应运而生.
1.2移动应用平台
随着应用增多,尤其是和后台业务做相应集成的移动化应用增多,移动化建设不能单独从应用入口,而应该建立一个有效的IT基础架构,用于满足学校的整体移动化诉求.现今移动设备在结构上发生了重要的变化,这也导致很多传统应用开发的规则都不再适用.移动应用平台需要解决移动应用的统一开发规范以及统一的集成规范.
高校在WEB时代就有门户的概念,随着学校的移动应用增多,为满足用户使用便捷性需求,移动化门户诞生了,我们需要认真思考通过移动应用平台去解决高效、通用的移动APP开发、发布等系统解决方案.
1.3开发实施模式
移动APP需要从各个业务系统获取数据,而各个业务系统之间相对独立,而系统间的数据不一致还常导致长时间的数据核对,造成数据的滞后和不准确.因此在开发实施时,要充分考虑业务现状及数据源所在,基于移动应用平台内置各种标准协议组件,统一移动APP前后端标准开发技术;同时通过基于策略配置的数据缓存机制,聚合业务数据并发连接不同的后端业务系统,高效整合对接多种移动APP业务.
通过移动应用平台,可以对公共应用如通知公告等快速利用平台工具进行整合.重要的是通过集成应用开发,在PC版业务运行基础上,采用中间件、数据库同步、管理员维护、原生开发等多种手段实现数据集成或页面抓取工作.具体来讲,建设过程主要通过控制台维护(针对标准应用,如电子照片展示)、数据同步或导入(如班车信息等)、网页抓取(如校园新闻、通知公告等)、混合应用开发(如咨询问答)四种手段实现应用的定制开发工作.在应用开发完成并测试结束后,发布到应用市场供用户下载安装使用,其中还会涉及到相关权限控制、账号认证等.
1.4移动APP场景
给合学校的实际情况,分析移动APP的使用与业务场景,可以概括为如下几类:
(1)消息类应用:主要作为管理信息的接收载体,大多与高校使用的数字校园系统等后端业务系统做集成.
(2)现场类应用:主要面向不固定工作场所的应用场景的信息化解决方案.该部分应用还可与定位、条码/二维码、RFID等结合.
(3)管理类应用:主要面向各级部门管理人员,用以加速管理流程和信息实时获取.
(4)自助类应用:主要面向师生与业务部门实时互动.
考虑到移动业务很少生产数据的特点,对于移动应用平台而言,如何从PC版系统或外部系统获取数据,通过技术改造,利用自身的开发技术生成更多的应用就显得非常关键.下面重点介绍几种利用数据获取技术实现APP开发的技术手段,并对相关优缺点对比分析,以咨结合相关场景进行选择.
2.1中间件抓取技术
图1 基于中间件抓取类APP的逻辑架图
如图1,通过中间件技术,采用一个tomcat服务器集成现有系统的过程如下.
(1)客户端html页面调用js方法发送请求到中间件(包含目标网址);
(2)中间件代理客户端将目标网址发送到目标网站;
(3)目标网站将网页源码信息返回给中间件;
(4)中间件将网页源码信息html转化为xml,并拦截解析,通过xpath元素抓取技术与jquerymobile技术结合,构建手机页面,返回给客户端;
(5)客户端生成页面.
2.2移动应用控制台
图2 移动控制台数据同步类APP的逻辑架图
如图2,采用数据库同步技术,服务部署在移动控制台,手机客户端通过访问移动控制台的服务来获取信息,控制台的数据与学校的PC端系统数据定期(如每小时)同步.
(1)目标网站将数据库信息定时同步给移动控制台的数据库;
(2)客户端html页面调用js方法发送请求到移动控制台;
(3)移动控制台运行自己的业务流程,访问数据库,获取最新的数据;
(4)移动控制台将数据返回给客户端,客户端生成页面.
2.3集成WAP网站
图3 集成WAP网站类APP的逻辑架图
如图3,在学校新闻的wap网站基础上,手机客户端内直接访问wap网站.
(1)使用设备识别技术(识别web请求头部的userAgent),根据已有网站开发wap版本.访问同一网址时,pc浏览器跳转到正常网址,手机浏览器或客户端跳转到wap网址;
(2)进入客户端后直接访问wap网址;
(3)客户端展示wap网址网页内容.
2.4 Webservice接口技术
图4 通过webservice接口获取数据类APP的逻辑架图
如图4,手机客户端通过访问原网站的webservice接口获取新闻信息,并展示到页面.
(1)进入客户端后,html页面中调用js方法发送请求到移动控制台;
(2)移动控制台后台逻辑处理,调用目标网站的webservice接口;
(3)目标网站返回webservice响应信息(json,xml)给移动控制台;
(4)移动控制台将响应信息返回给客户端,客户端根据数据生成页面.
2.5对比分析
表1 基于移动应用平台的数据获取技术与APP开发对比
移动应用平台架构设计上充分考虑到最终用户、开发者和管理者.客户端需提供良好的用户体验;开发环境的支持平台对上层的应用进行统一部署、管理、维护,并通过开发工具提供开发支持;管理端则为管理者提供全面的维护、统计、分析的工具.
当前,我校数字校园已经取得了不错的效果,我们将充分利用数字校园的成果,利用移动应用平台及其上的移动中间件开发技术,将移动校园信息服务与数字校园服务深度结合.同时,充分利用云服务,对信息服务聚合和分布处理,扩展服务性能,提高系统稳定性,动员更多的师生参与到移动APP开发和建设过程中来,推动移动校园建设,让师生充分享受移动校园带来的便捷性.
〔1〕孙净宇,李澈,等.高校校园APP发展现状初探[J].数字与出版,2014.
〔2〕李旭红.长江大学“掌上校园”APP系统研发与运营研究[J].科技创业月刊,2014.
〔3〕张言林,李博,等.基于数字化校园的手机APP客户端设计初探——东北林业大学“移动校园”手机APP客户端设计,2014
〔4〕杜广飞.Web应用移动化适配器服务中间件的研究与实现[D].郑州大学,2012.
〔5〕邹轩.移动互联网跨平台应用中间件的研究[D].复旦大学,2013.
〔6〕朱宇翔.基于HTML5的移动中间件的研究与实现[D].北京邮电大学,2014.
〔7〕张晓.基于Android平台的校园信息系统APP的设计实现[D].计算机光盘软件与应用,2013.
〔8〕刘红英.基于安卓的校园服务系统设计与实现[J].电脑知识与技术,2014.
TP311.11
A
1673-260X(2016)10-0027-03
2016-06-23
本文系大连外国语大学2015年度教学改革研究重点项目(2015Z0112)