楊嵐
(大連外國語大學(xué) 軟件學(xué)院,遼寧 大連 116044)
移動(dòng)APP獲取外部數(shù)據(jù)的方法探究——以大外“掌上課表”為例
楊嵐
(大連外國語大學(xué)軟件學(xué)院,遼寧大連116044)
本文是結(jié)合在大外“掌上課表”開發(fā)實(shí)現(xiàn)過程中的多種實(shí)踐及經(jīng)驗(yàn),對移動(dòng)應(yīng)用平臺(tái)架構(gòu)、尤其是對開發(fā)實(shí)現(xiàn)APP時(shí)如何獲取外部數(shù)據(jù)給出四種行之有效的方法,并進(jìn)行了詳細(xì)介紹和分析,以供校園APP開發(fā)者熟悉和了解該平臺(tái),共同開發(fā)種類繁多的校園APP,推動(dòng)移動(dòng)校園的使用和發(fā)展.
移動(dòng)APP;掌上課表;獲取外部數(shù)據(jù)
“開放、互聯(lián)、快速、運(yùn)營”是近年來人們用來描述移動(dòng)互聯(lián)網(wǎng)的幾個(gè)常見.與互聯(lián)網(wǎng)相比,移動(dòng)互聯(lián)網(wǎng)是一個(gè)全新的場景,它的出現(xiàn)極大地改變了人們的生活方式,同時(shí)3G、4G智能移動(dòng)終端的普及,讓數(shù)字校園的資源快速地鉆進(jìn)了學(xué)生的口袋,信息正以史無前例的速度傳播,并產(chǎn)生驚人的影響.
1.1“掌上課表”需求
目前高校教育信息化正在向移動(dòng)信息化、移動(dòng)管理、移動(dòng)辦公發(fā)展,以移動(dòng)技術(shù)為核心的數(shù)字化校園產(chǎn)品的構(gòu)建需求迫切.移動(dòng)終端上的課程表需求強(qiáng)烈,相繼誕生了“超級課程表”、“課程格子”等一批新興校園移動(dòng)應(yīng)用.第三方課表類應(yīng)用雖廣為人知,但使用時(shí)需要綁定學(xué)校教務(wù)系統(tǒng)的個(gè)人賬號和口令,存在賬號口令被盜取的安全隱患.且這些免費(fèi)的互聯(lián)網(wǎng)應(yīng)用完全靠商業(yè)運(yùn)作,廣告及與垃圾消息推送等顯露無疑,因而不是師生的首選方案.涉及學(xué)校數(shù)據(jù)的應(yīng)用首先要考慮安全、權(quán)威的問題,還要基于校園信息化管理與建設(shè)的規(guī)劃,大連外國語大學(xué)“掌上課表”正是基于此背景應(yīng)運(yùn)而生.
1.2移動(dòng)應(yīng)用平臺(tái)
隨著應(yīng)用增多,尤其是和后臺(tái)業(yè)務(wù)做相應(yīng)集成的移動(dòng)化應(yīng)用增多,移動(dòng)化建設(shè)不能單獨(dú)從應(yīng)用入口,而應(yīng)該建立一個(gè)有效的IT基礎(chǔ)架構(gòu),用于滿足學(xué)校的整體移動(dòng)化訴求.現(xiàn)今移動(dòng)設(shè)備在結(jié)構(gòu)上發(fā)生了重要的變化,這也導(dǎo)致很多傳統(tǒng)應(yīng)用開發(fā)的規(guī)則都不再適用.移動(dòng)應(yīng)用平臺(tái)需要解決移動(dòng)應(yīng)用的統(tǒng)一開發(fā)規(guī)范以及統(tǒng)一的集成規(guī)范.
高校在WEB時(shí)代就有門戶的概念,隨著學(xué)校的移動(dòng)應(yīng)用增多,為滿足用戶使用便捷性需求,移動(dòng)化門戶誕生了,我們需要認(rèn)真思考通過移動(dòng)應(yīng)用平臺(tái)去解決高效、通用的移動(dòng)APP開發(fā)、發(fā)布等系統(tǒng)解決方案.
1.3開發(fā)實(shí)施模式
移動(dòng)APP需要從各個(gè)業(yè)務(wù)系統(tǒng)獲取數(shù)據(jù),而各個(gè)業(yè)務(wù)系統(tǒng)之間相對獨(dú)立,而系統(tǒng)間的數(shù)據(jù)不一致還常導(dǎo)致長時(shí)間的數(shù)據(jù)核對,造成數(shù)據(jù)的滯后和不準(zhǔn)確.因此在開發(fā)實(shí)施時(shí),要充分考慮業(yè)務(wù)現(xiàn)狀及數(shù)據(jù)源所在,基于移動(dòng)應(yīng)用平臺(tái)內(nèi)置各種標(biāo)準(zhǔn)協(xié)議組件,統(tǒng)一移動(dòng)APP前后端標(biāo)準(zhǔn)開發(fā)技術(shù);同時(shí)通過基于策略配置的數(shù)據(jù)緩存機(jī)制,聚合業(yè)務(wù)數(shù)據(jù)并發(fā)連接不同的后端業(yè)務(wù)系統(tǒng),高效整合對接多種移動(dòng)APP業(yè)務(wù).
通過移動(dòng)應(yīng)用平臺(tái),可以對公共應(yīng)用如通知公告等快速利用平臺(tái)工具進(jìn)行整合.重要的是通過集成應(yīng)用開發(fā),在PC版業(yè)務(wù)運(yùn)行基礎(chǔ)上,采用中間件、數(shù)據(jù)庫同步、管理員維護(hù)、原生開發(fā)等多種手段實(shí)現(xiàn)數(shù)據(jù)集成或頁面抓取工作.具體來講,建設(shè)過程主要通過控制臺(tái)維護(hù)(針對標(biāo)準(zhǔn)應(yīng)用,如電子照片展示)、數(shù)據(jù)同步或?qū)耄ㄈ绨嘬囆畔⒌龋?、網(wǎng)頁抓取(如校園新聞、通知公告等)、混合應(yīng)用開發(fā)(如咨詢問答)四種手段實(shí)現(xiàn)應(yīng)用的定制開發(fā)工作.在應(yīng)用開發(fā)完成并測試結(jié)束后,發(fā)布到應(yīng)用市場供用戶下載安裝使用,其中還會(huì)涉及到相關(guān)權(quán)限控制、賬號認(rèn)證等.
1.4移動(dòng)APP場景
給合學(xué)校的實(shí)際情況,分析移動(dòng)APP的使用與業(yè)務(wù)場景,可以概括為如下幾類:
(1)消息類應(yīng)用:主要作為管理信息的接收載體,大多與高校使用的數(shù)字校園系統(tǒng)等后端業(yè)務(wù)系統(tǒng)做集成.
(2)現(xiàn)場類應(yīng)用:主要面向不固定工作場所的應(yīng)用場景的信息化解決方案.該部分應(yīng)用還可與定位、條碼/二維碼、RFID等結(jié)合.
(3)管理類應(yīng)用:主要面向各級部門管理人員,用以加速管理流程和信息實(shí)時(shí)獲取.
(4)自助類應(yīng)用:主要面向師生與業(yè)務(wù)部門實(shí)時(shí)互動(dòng).
考慮到移動(dòng)業(yè)務(wù)很少生產(chǎn)數(shù)據(jù)的特點(diǎn),對于移動(dòng)應(yīng)用平臺(tái)而言,如何從PC版系統(tǒng)或外部系統(tǒng)獲取數(shù)據(jù),通過技術(shù)改造,利用自身的開發(fā)技術(shù)生成更多的應(yīng)用就顯得非常關(guān)鍵.下面重點(diǎn)介紹幾種利用數(shù)據(jù)獲取技術(shù)實(shí)現(xiàn)APP開發(fā)的技術(shù)手段,并對相關(guān)優(yōu)缺點(diǎn)對比分析,以咨結(jié)合相關(guān)場景進(jìn)行選擇.
2.1中間件抓取技術(shù)
圖1 基于中間件抓取類APP的邏輯架圖
如圖1,通過中間件技術(shù),采用一個(gè)tomcat服務(wù)器集成現(xiàn)有系統(tǒng)的過程如下.
(1)客戶端html頁面調(diào)用js方法發(fā)送請求到中間件(包含目標(biāo)網(wǎng)址);
(2)中間件代理客戶端將目標(biāo)網(wǎng)址發(fā)送到目標(biāo)網(wǎng)站;
(3)目標(biāo)網(wǎng)站將網(wǎng)頁源碼信息返回給中間件;
(4)中間件將網(wǎng)頁源碼信息html轉(zhuǎn)化為xml,并攔截解析,通過xpath元素抓取技術(shù)與jquerymobile技術(shù)結(jié)合,構(gòu)建手機(jī)頁面,返回給客戶端;
(5)客戶端生成頁面.
2.2移動(dòng)應(yīng)用控制臺(tái)
圖2 移動(dòng)控制臺(tái)數(shù)據(jù)同步類APP的邏輯架圖
如圖2,采用數(shù)據(jù)庫同步技術(shù),服務(wù)部署在移動(dòng)控制臺(tái),手機(jī)客戶端通過訪問移動(dòng)控制臺(tái)的服務(wù)來獲取信息,控制臺(tái)的數(shù)據(jù)與學(xué)校的PC端系統(tǒng)數(shù)據(jù)定期(如每小時(shí))同步.
(1)目標(biāo)網(wǎng)站將數(shù)據(jù)庫信息定時(shí)同步給移動(dòng)控制臺(tái)的數(shù)據(jù)庫;
(2)客戶端html頁面調(diào)用js方法發(fā)送請求到移動(dòng)控制臺(tái);
(3)移動(dòng)控制臺(tái)運(yùn)行自己的業(yè)務(wù)流程,訪問數(shù)據(jù)庫,獲取最新的數(shù)據(jù);
(4)移動(dòng)控制臺(tái)將數(shù)據(jù)返回給客戶端,客戶端生成頁面.
2.3集成WAP網(wǎng)站
圖3 集成WAP網(wǎng)站類APP的邏輯架圖
如圖3,在學(xué)校新聞的wap網(wǎng)站基礎(chǔ)上,手機(jī)客戶端內(nèi)直接訪問wap網(wǎng)站.
(1)使用設(shè)備識(shí)別技術(shù)(識(shí)別web請求頭部的userAgent),根據(jù)已有網(wǎng)站開發(fā)wap版本.訪問同一網(wǎng)址時(shí),pc瀏覽器跳轉(zhuǎn)到正常網(wǎng)址,手機(jī)瀏覽器或客戶端跳轉(zhuǎn)到wap網(wǎng)址;
(2)進(jìn)入客戶端后直接訪問wap網(wǎng)址;
(3)客戶端展示wap網(wǎng)址網(wǎng)頁內(nèi)容.
2.4 Webservice接口技術(shù)
圖4 通過webservice接口獲取數(shù)據(jù)類APP的邏輯架圖
如圖4,手機(jī)客戶端通過訪問原網(wǎng)站的webservice接口獲取新聞信息,并展示到頁面.
(1)進(jìn)入客戶端后,html頁面中調(diào)用js方法發(fā)送請求到移動(dòng)控制臺(tái);
(2)移動(dòng)控制臺(tái)后臺(tái)邏輯處理,調(diào)用目標(biāo)網(wǎng)站的webservice接口;
(3)目標(biāo)網(wǎng)站返回webservice響應(yīng)信息(json,xml)給移動(dòng)控制臺(tái);
(4)移動(dòng)控制臺(tái)將響應(yīng)信息返回給客戶端,客戶端根據(jù)數(shù)據(jù)生成頁面.
2.5對比分析
表1 基于移動(dòng)應(yīng)用平臺(tái)的數(shù)據(jù)獲取技術(shù)與APP開發(fā)對比
移動(dòng)應(yīng)用平臺(tái)架構(gòu)設(shè)計(jì)上充分考慮到最終用戶、開發(fā)者和管理者.客戶端需提供良好的用戶體驗(yàn);開發(fā)環(huán)境的支持平臺(tái)對上層的應(yīng)用進(jìn)行統(tǒng)一部署、管理、維護(hù),并通過開發(fā)工具提供開發(fā)支持;管理端則為管理者提供全面的維護(hù)、統(tǒng)計(jì)、分析的工具.
當(dāng)前,我校數(shù)字校園已經(jīng)取得了不錯(cuò)的效果,我們將充分利用數(shù)字校園的成果,利用移動(dòng)應(yīng)用平臺(tái)及其上的移動(dòng)中間件開發(fā)技術(shù),將移動(dòng)校園信息服務(wù)與數(shù)字校園服務(wù)深度結(jié)合.同時(shí),充分利用云服務(wù),對信息服務(wù)聚合和分布處理,擴(kuò)展服務(wù)性能,提高系統(tǒng)穩(wěn)定性,動(dòng)員更多的師生參與到移動(dòng)APP開發(fā)和建設(shè)過程中來,推動(dòng)移動(dòng)校園建設(shè),讓師生充分享受移動(dòng)校園帶來的便捷性.
〔1〕孫凈宇,李澈,等.高校校園APP發(fā)展現(xiàn)狀初探[J].數(shù)字與出版,2014.
〔2〕李旭紅.長江大學(xué)“掌上校園”APP系統(tǒng)研發(fā)與運(yùn)營研究[J].科技創(chuàng)業(yè)月刊,2014.
〔3〕張言林,李博,等.基于數(shù)字化校園的手機(jī)APP客戶端設(shè)計(jì)初探——東北林業(yè)大學(xué)“移動(dòng)校園”手機(jī)APP客戶端設(shè)計(jì),2014
〔4〕杜廣飛.Web應(yīng)用移動(dòng)化適配器服務(wù)中間件的研究與實(shí)現(xiàn)[D].鄭州大學(xué),2012.
〔5〕鄒軒.移動(dòng)互聯(lián)網(wǎng)跨平臺(tái)應(yīng)用中間件的研究[D].復(fù)旦大學(xué),2013.
〔6〕朱宇翔.基于HTML5的移動(dòng)中間件的研究與實(shí)現(xiàn)[D].北京郵電大學(xué),2014.
〔7〕張曉.基于Android平臺(tái)的校園信息系統(tǒng)APP的設(shè)計(jì)實(shí)現(xiàn)[D].計(jì)算機(jī)光盤軟件與應(yīng)用,2013.
〔8〕劉紅英.基于安卓的校園服務(wù)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].電腦知識(shí)與技術(shù),2014.
TP311.11
A
1673-260X(2016)10-0027-03
2016-06-23
本文系大連外國語大學(xué)2015年度教學(xué)改革研究重點(diǎn)項(xiàng)目(2015Z0112)