操鳳萍+徐錦川
摘要:隨著移動(dòng)終端在校園的普及,靈活多樣的校園APP的孕育而生,但這些獨(dú)立APP往往側(cè)重某一方面,未能覆蓋學(xué)生校園學(xué)習(xí)和生活的關(guān)鍵方面。為滿足用戶校園生活個(gè)性化、細(xì)微化的信息服務(wù)的需求,設(shè)計(jì)并實(shí)現(xiàn)基于Android平臺(tái)的掌上校園“微服務(wù)”系統(tǒng)。實(shí)踐表明,該系統(tǒng)有力地提升了校園服務(wù)的交互性和及時(shí)性,滿足了在校大學(xué)生學(xué)習(xí)及生活的“微服務(wù)”個(gè)性化需求,具有良好的用戶體驗(yàn)。
關(guān)鍵詞:移動(dòng)終端;掌上校園;微服務(wù);APP
中圖分類號(hào):TP391.7 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2017)26-0064-03
Abstract: Rich mobile library service practice, put forward the mobile library Android service Based on micro wisdom APPs solutions, the system includes information service, library library self-study seat reservation service, remote assistant wisdom service module. Library self-study seat remote reservation, the use of infrared sensors, with the help of the equipment will be connected to the real time database. The actual application of the test, show that the mobile library service system is divided into several micro services integrated APPs server, to enhance the library service interaction, shorten the service response time, while providing a personalized library service, access to a good user experience.
Key words: mobile library; seat reservation; micro-services; APP
隨著移動(dòng)終端的普及,在校大學(xué)生獲取和處理信息的方式逐漸轉(zhuǎn)移到手機(jī)終端,如課程格子、超級(jí)課程表等靈活多樣的APP的孕育而生,但這些APP往往側(cè)重某一方面,未能覆蓋學(xué)生校園學(xué)習(xí)和生活的關(guān)鍵方面。
為滿足成賢學(xué)院學(xué)生對(duì)課表、自習(xí)室、圖書等校園學(xué)習(xí)、生活細(xì)微信息服務(wù)的需求,調(diào)研了學(xué)院現(xiàn)有的WEB信息服務(wù)系統(tǒng),以新穎豐富的移動(dòng)校園“微服務(wù)”為研究對(duì)象。設(shè)計(jì)并實(shí)現(xiàn)了基于Android的掌上校園“微服務(wù)”系統(tǒng),來(lái)滿足移動(dòng)網(wǎng)絡(luò)通信環(huán)境下在校大學(xué)生學(xué)習(xí)及生活的“微服務(wù)”個(gè)性需求,彌補(bǔ)學(xué)院現(xiàn)有的web信息服務(wù)系統(tǒng)交互性弱等問(wèn)題。
1 相關(guān)通訊技術(shù)
1.1 基于TCP協(xié)議的網(wǎng)絡(luò)通信
TCP/IP通信協(xié)議是一種可靠的傳輸協(xié)議,通過(guò)虛擬網(wǎng)路鏈路的鏈接進(jìn)行數(shù)據(jù)通信[1]。其兩端的通信流依據(jù)Java使用封裝的Socket產(chǎn)生的I/O數(shù)據(jù)流,是一種對(duì)端協(xié)議。[2]TCP通過(guò)鏈接、信息收集、數(shù)據(jù)還原保證數(shù)據(jù)包在傳送過(guò)程中的無(wú)誤。掌上校園微服務(wù)系統(tǒng)的大部分應(yīng)用請(qǐng)求就是基于TCP協(xié)議通信,將客戶端用戶請(qǐng)求發(fā)送給后臺(tái)服務(wù)器,通過(guò)Servlet響應(yīng)并返回響應(yīng)結(jié)果。
1.2 Scoket通信技術(shù)
是否默認(rèn)和指定IP地址來(lái)區(qū)別Socket的兩個(gè)不同構(gòu)造器,制定遠(yuǎn)程主機(jī)時(shí)可以使用InetAdress和String對(duì)象來(lái)指定,本文程序中使用String對(duì)象(如192.168.0.1)來(lái)指定遠(yuǎn)程IP。常使用默認(rèn)IP地址的構(gòu)造器鏈接一個(gè)只有一個(gè)IP的服務(wù)主機(jī)。當(dāng)客戶端、服務(wù)器端產(chǎn)生了對(duì)應(yīng)的Socket之后,Socket提供了兩個(gè)方法來(lái)獲取輸入流和輸出流:1)InputStream getInputStream();2) OutPutStream getOutPutStream()。[3] 掌上校園微服務(wù)系統(tǒng)好友聊天就是通過(guò)Socket通信技術(shù)來(lái)進(jìn)行信息傳遞,完成聊天服務(wù)的功能。
1.3 XMPP協(xié)議實(shí)現(xiàn)消息推送技術(shù)
Android消息的的推送由服務(wù)器端和客戶端兩部分組成,其中各部分都是由XMPP協(xié)議的組成部件和其封裝的jar包提供的外在接口組合而成。掌上校園微服務(wù)系統(tǒng)就是利用其協(xié)議連接后臺(tái)服務(wù)器,監(jiān)聽(tīng)服務(wù)器的數(shù)據(jù)然后反饋給客戶端并進(jìn)行消息的通知提示。
2 掌上校園“微服務(wù)”設(shè)計(jì)
2.1 設(shè)計(jì)思路
掌上校園“微服務(wù)”系統(tǒng),以學(xué)生基本信息、座位信息、圖書信息、新聞資訊、業(yè)務(wù)管理信息為基礎(chǔ),結(jié)合移動(dòng)終端的移動(dòng)性、聯(lián)動(dòng)性、定位性、交互性等特性為用戶提供更為便捷、個(gè)性化的校園“微服務(wù)”信息交互服務(wù),移動(dòng)端和服務(wù)端功能結(jié)構(gòu)如圖1、圖2所示。
2.2 系統(tǒng)微服務(wù)內(nèi)容
基于Android移動(dòng)終端的校園“微服務(wù)”系統(tǒng)設(shè)計(jì)并實(shí)現(xiàn)了學(xué)習(xí)天地、自習(xí)室預(yù)訂、圖書助手、校園生活等微服務(wù)模塊。
1) 學(xué)習(xí)天地。抓取現(xiàn)有的基于WEB的教務(wù)的數(shù)據(jù)包并將其顯示在手機(jī)終端上來(lái)滿足學(xué)生日常學(xué)習(xí)中課表查詢及成績(jī)查詢的需求,同時(shí)提供學(xué)生日程管理的需要,同時(shí)可以進(jìn)行日程管理和安排并設(shè)置鬧鐘提醒。
2) 自習(xí)室預(yù)訂。提供學(xué)生去自習(xí)室之前進(jìn)行自習(xí)室座位的查詢和預(yù)約避免盲目尋坐。校園用戶可以選擇學(xué)校開(kāi)放的自習(xí)室,進(jìn)行自習(xí)室的空位選擇,客戶端會(huì)實(shí)時(shí)更新座位列表信息。endprint
3) 圖書助手。滿足用戶在館圖書進(jìn)行查詢和預(yù)約服務(wù),并根據(jù)用戶的興趣愛(ài)好進(jìn)行圖書推薦。智能圖書館的應(yīng)用能快速幫助用戶查找相關(guān)圖書數(shù)據(jù)信息,并提讀者在線圖書預(yù)約,到點(diǎn)取書的服務(wù),同時(shí)系統(tǒng)還支持依據(jù)用戶的個(gè)人愛(ài)好進(jìn)行智能化的圖書個(gè)性化推薦。
4) 校園生活。用戶借助校園生活獲取學(xué)院最新推送咨詢,并通過(guò)機(jī)器人助手解答校園生活疑惑,同時(shí)還可以借助校園導(dǎo)航功能進(jìn)行校園路徑規(guī)劃。
2.3 系統(tǒng)架構(gòu)
校園“微服務(wù)”系統(tǒng)的實(shí)現(xiàn)依據(jù)客戶端、服務(wù)器端、數(shù)據(jù)庫(kù)三位一體,通過(guò)客戶端請(qǐng)求信息的不斷發(fā)送、處理判斷、信息反饋的操作來(lái)完成系統(tǒng)的整體信息動(dòng)態(tài)更新操作。系統(tǒng)的客戶端與服務(wù)器端的總體架構(gòu)如圖3所示。
3 移動(dòng)圖書館微服務(wù)的初步實(shí)現(xiàn)
校園“微服務(wù)”系統(tǒng)的服務(wù)器端采用Spring MVC框架搭建的J2EE開(kāi)發(fā),通過(guò)HTTP網(wǎng)絡(luò)傳輸通信協(xié)議與用AndroidStudio軟件開(kāi)發(fā)的Android客戶端進(jìn)行數(shù)據(jù)傳輸通信。系統(tǒng)后臺(tái)基于Javabean+Servlet的模式,通過(guò)HTTP通信傳輸協(xié)議獲取系統(tǒng)手機(jī)移動(dòng)終端用戶發(fā)來(lái)的請(qǐng)求信息,Web端Servlet進(jìn)行判斷處理客戶端發(fā)來(lái)的信息請(qǐng)求頭,通過(guò)訪問(wèn)JDBC API完成與數(shù)據(jù)庫(kù)的鏈接,客戶端解析信息并響應(yīng)處理客戶端頁(yè)面。
3.1 課程查詢
利用HttpWatch抓包工具(現(xiàn)在瀏覽器多自帶,開(kāi)發(fā)者模式即可),獲取用戶post的數(shù)據(jù)和要跳轉(zhuǎn)的頁(yè)面URL地址,下載Cookie信息,然后通過(guò)Jsoup jar包解析cookie信息,提取內(nèi)容。系統(tǒng)根據(jù)登陸用戶的信息進(jìn)入學(xué)校官網(wǎng)獲取網(wǎng)頁(yè)的cookie信息,利用JSoup進(jìn)行cookie網(wǎng)頁(yè)信息的解析,獲取課程信息,然后傳送到系統(tǒng)的后臺(tái),方便用戶下次登陸時(shí)信息的獲取,避免了每次查詢需要都需要用戶輸入用戶名和密碼,如課程更新內(nèi)容在用戶再次登陸刷新即可獲取。利用同樣的方法查詢用戶成績(jī)和課程的選修。
3.2 日程管理
該應(yīng)用可以依據(jù)日歷表創(chuàng)建自定義的日程信息,包括日程的開(kāi)始結(jié)束時(shí)間、提醒時(shí)間、重復(fù)提醒次數(shù)和日程相關(guān)備注等設(shè)置。點(diǎn)擊日程前面的完成按鈕標(biāo)記日程是否完成并上傳到服務(wù)器端,同時(shí)支持對(duì)某指定日期的所有日程進(jìn)行查詢和管理。該服務(wù)基于網(wǎng)絡(luò)通信的傳輸協(xié)議,將用戶自定義的日程規(guī)劃封裝成json數(shù)據(jù)格式,鏈接服務(wù)器端的servlet,servlet訪問(wèn)MySQL數(shù)據(jù)庫(kù)的JDBC API,存儲(chǔ)用戶的日程,用戶在客戶端端選擇日期可以查看當(dāng)天的所有日程,用戶也可以點(diǎn)擊日程前面完成按鈕,完成當(dāng)天日程,并設(shè)置日程提醒鬧鈴。
3.3 自習(xí)室預(yù)訂
該服務(wù)依據(jù)用戶選擇座位發(fā)送到服務(wù)器,服務(wù)器更新后臺(tái)存儲(chǔ)數(shù)據(jù),并實(shí)時(shí)更新座位信息。用戶當(dāng)天只能根據(jù)自己的校園卡選擇一個(gè)座位在預(yù)約時(shí)留下的時(shí)間到到達(dá),否則視為惡意占座。用戶可以在客戶端選擇的位置,點(diǎn)擊選擇空位和日期,完成座位預(yù)定。另外,用戶還可以直接到自習(xí)室就座,配合門禁系統(tǒng)獲取這類用戶的校園卡信息,系統(tǒng)依次分配空座位給這類用戶。如果用戶需要換座,可以在自習(xí)室管理電腦進(jìn)行換位操作,同時(shí)服務(wù)器將座位信息上傳到客戶端。服務(wù)器可以根據(jù)用戶刷卡情況判斷用戶是否已經(jīng)就坐自習(xí),如果未履行約定,系統(tǒng)為自動(dòng)將其拉入黑名單,根據(jù)用戶的爽約次數(shù),依次累加進(jìn)行不同程度的懲罰,從而避免惡意占座。自習(xí)室管理員管理自習(xí)室的座位異常,維護(hù)自習(xí)室座位信息。座位預(yù)訂如圖5所示。
3.4 圖書助手
用戶登錄該應(yīng)用進(jìn)行圖書的相關(guān)信息查詢,輸入圖書名稱進(jìn)行相應(yīng)圖書的查找。同時(shí)該應(yīng)用還依據(jù)用戶的點(diǎn)擊、收藏、借閱的歷史綜合判斷用戶的圖書興趣,進(jìn)行圖書的綜合推薦,方便用戶多方面信息的了解。該服務(wù)根據(jù)用戶輸入的圖書名稱模糊查詢圖書館所有與之相關(guān)的圖書,并列表顯示。同時(shí)根據(jù)用戶的收藏、點(diǎn)擊查看和預(yù)定情況進(jìn)行3表關(guān)聯(lián),根據(jù)預(yù)定3分,收藏2分,點(diǎn)擊查看1分相加的六分制規(guī)則獲取用戶的興趣愛(ài)好,并以此作為依據(jù)進(jìn)行圖書推薦,同時(shí)應(yīng)用還實(shí)現(xiàn)了圖書定位的功能,用戶點(diǎn)擊可以最優(yōu)路徑的顯示獲取圖書館藏路線,節(jié)省學(xué)生尋找圖書時(shí)間。圖書推薦如圖6所示。
3.5 校園生活
該服務(wù)包含機(jī)器人問(wèn)答服務(wù),回答用戶相關(guān)信息的同時(shí)還可以自行對(duì)話交流。作為學(xué)校各類大事件信息發(fā)布系統(tǒng)和宣傳校園信息的公告欄。學(xué)校用戶可以在此服務(wù)上瀏覽觀看學(xué)校的相關(guān)新聞公告,用戶可以選擇自己感興趣的新聞種類,后臺(tái)以此作為依據(jù)進(jìn)行新聞推送,保證信息獲取的及時(shí),用戶也可以關(guān)閉新聞推送。同時(shí)還可以通過(guò)多種方式進(jìn)行用戶好友的添加,實(shí)現(xiàn)在線聊天服務(wù)。
4 結(jié)束語(yǔ)
為豐富移動(dòng)校園個(gè)性化服務(wù)實(shí)踐,本文提出了掌上校園微服務(wù)系統(tǒng),對(duì)系統(tǒng)設(shè)計(jì)思路和特色做了描述,設(shè)計(jì)并初步實(shí)現(xiàn)了掌上校園微服務(wù)系統(tǒng),實(shí)現(xiàn)了學(xué)習(xí)天地、自習(xí)室預(yù)訂、圖書助手、校園生活等微服務(wù)模塊。系統(tǒng)在學(xué)院完成了測(cè)試和評(píng)估,系統(tǒng)體現(xiàn)了良好的交互性及個(gè)性化服務(wù),為豐富移動(dòng)校園服務(wù)實(shí)踐提供了思路。
參考文獻(xiàn):
[1] 華建祥.基于Android系統(tǒng)的校園信息查詢系統(tǒng)客戶端設(shè)計(jì)與實(shí)現(xiàn)[J].軟件導(dǎo)刊, 2014(3):101-103.
[2] 趙躍新,李小咩.基于Android系統(tǒng)的校園信息系統(tǒng)的設(shè)計(jì)研究[J].山東工業(yè)技術(shù), 2016(11):148-148.
[3] Ma N,Yuan M, Cao G.Integration of Digital Campus Resources Based on Cloud
[4] Computing[C]//Proceedings of the 2012 International Conference on Cybernetics andInformatics. Springer New York, 2014: 1957-1963.endprint