掌上校园微服务系统的研究与实践
2017-11-20操凤萍徐锦川
操凤萍+徐锦川
摘要:随着移动终端在校园的普及,灵活多样的校园APP的孕育而生,但这些独立APP往往侧重某一方面,未能覆盖学生校园学习和生活的关键方面。为满足用户校园生活个性化、细微化的信息服务的需求,设计并实现基于Android平台的掌上校园“微服务”系统。实践表明,该系统有力地提升了校园服务的交互性和及时性,满足了在校大学生学习及生活的“微服务”个性化需求,具有良好的用户体验。
关键词:移动终端;掌上校园;微服务;APP
中图分类号:TP391.7 文献标识码:A 文章编号: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
随着移动终端的普及,在校大学生获取和处理信息的方式逐渐转移到手机终端,如课程格子、超级课程表等灵活多样的APP的孕育而生,但这些APP往往侧重某一方面,未能覆盖学生校园学习和生活的关键方面。
为满足成贤学院学生对课表、自习室、图书等校园学习、生活细微信息服务的需求,调研了学院现有的WEB信息服务系统,以新颖丰富的移动校园“微服务”为研究对象。设计并实现了基于Android的掌上校园“微服务”系统,来满足移动网络通信环境下在校大学生学习及生活的“微服务”个性需求,弥补学院现有的web信息服务系统交互性弱等问题。
1 相关通讯技术
1.1 基于TCP协议的网络通信
TCP/IP通信协议是一种可靠的传输协议,通过虚拟网路链路的链接进行数据通信[1]。其两端的通信流依据Java使用封装的Socket产生的I/O数据流,是一种对端协议。[2]TCP通过链接、信息收集、数据还原保证数据包在传送过程中的无误。掌上校园微服务系统的大部分应用请求就是基于TCP协议通信,将客户端用户请求发送给后台服务器,通过Servlet响应并返回响应结果。
1.2 Scoket通信技术
是否默认和指定IP地址来区别Socket的两个不同构造器,制定远程主机时可以使用InetAdress和String对象来指定,本文程序中使用String对象(如192.168.0.1)来指定远程IP。常使用默认IP地址的构造器链接一个只有一个IP的服务主机。当客户端、服务器端产生了对应的Socket之后,Socket提供了两个方法来获取输入流和输出流:1)InputStream getInputStream();2) OutPutStream getOutPutStream()。[3] 掌上校園微服务系统好友聊天就是通过Socket通信技术来进行信息传递,完成聊天服务的功能。
1.3 XMPP协议实现消息推送技术
Android消息的的推送由服务器端和客户端两部分组成,其中各部分都是由XMPP协议的组成部件和其封装的jar包提供的外在接口组合而成。掌上校园微服务系统就是利用其协议连接后台服务器,监听服务器的数据然后反馈给客户端并进行消息的通知提示。
2 掌上校园“微服务”设计
2.1 设计思路
掌上校园“微服务”系统,以学生基本信息、座位信息、图书信息、新闻资讯、业务管理信息为基础,结合移动终端的移动性、联动性、定位性、交互性等特性为用户提供更为便捷、个性化的校园“微服务”信息交互服务,移动端和服务端功能结构如图1、图2所示。
2.2 系统微服务内容
基于Android移动终端的校园“微服务”系统设计并实现了学习天地、自习室预订、图书助手、校园生活等微服务模块。
1) 学习天地。抓取现有的基于WEB的教务的数据包并将其显示在手机终端上来满足学生日常学习中课表查询及成绩查询的需求,同时提供学生日程管理的需要,同时可以进行日程管理和安排并设置闹钟提醒。
2) 自习室预订。提供学生去自习室之前进行自习室座位的查询和预约避免盲目寻坐。校园用户可以选择学校开放的自习室,进行自习室的空位选择,客户端会实时更新座位列表信息。endprint
3) 图书助手。满足用户在馆图书进行查询和预约服务,并根据用户的兴趣爱好进行图书推荐。智能图书馆的应用能快速帮助用户查找相关图书数据信息,并提读者在线图书预约,到点取书的服务,同时系统还支持依据用户的个人爱好进行智能化的图书个性化推荐。
4) 校园生活。用户借助校园生活获取学院最新推送咨询,并通过机器人助手解答校园生活疑惑,同时还可以借助校园导航功能进行校园路径规划。
2.3 系统架构
校园“微服务”系统的实现依据客户端、服务器端、数据库三位一体,通过客户端请求信息的不断发送、处理判断、信息反馈的操作来完成系统的整体信息动态更新操作。系统的客户端与服务器端的总体架构如图3所示。
3 移动图书馆微服务的初步实现
校园“微服务”系统的服务器端采用Spring MVC框架搭建的J2EE开发,通过HTTP网络传输通信协议与用AndroidStudio软件开发的Android客户端进行数据传输通信。系统后台基于Javabean+Servlet的模式,通过HTTP通信传输协议获取系统手机移动终端用户发来的请求信息,Web端Servlet进行判断处理客户端发来的信息请求头,通过访问JDBC API完成与数据库的链接,客户端解析信息并响应处理客户端页面。
3.1 课程查询
利用HttpWatch抓包工具(现在浏览器多自带,开发者模式即可),获取用户post的数据和要跳转的页面URL地址,下载Cookie信息,然后通过Jsoup jar包解析cookie信息,提取内容。系统根据登陆用户的信息进入学校官网获取网页的cookie信息,利用JSoup进行cookie网页信息的解析,获取课程信息,然后传送到系统的后台,方便用户下次登陆时信息的获取,避免了每次查询需要都需要用户输入用户名和密码,如课程更新内容在用户再次登陆刷新即可获取。利用同样的方法查询用户成绩和课程的选修。
3.2 日程管理
该应用可以依据日历表创建自定义的日程信息,包括日程的开始结束时间、提醒时间、重复提醒次数和日程相关备注等设置。点击日程前面的完成按钮标记日程是否完成并上传到服务器端,同时支持对某指定日期的所有日程进行查询和管理。该服务基于网络通信的传输协议,将用户自定义的日程规划封装成json数据格式,链接服务器端的servlet,servlet访问MySQL数据库的JDBC API,存储用户的日程,用户在客户端端选择日期可以查看当天的所有日程,用户也可以点击日程前面完成按钮,完成当天日程,并设置日程提醒闹铃。
3.3 自习室预订
该服务依据用户选择座位发送到服务器,服务器更新后台存储数据,并实时更新座位信息。用户当天只能根据自己的校园卡选择一个座位在预约时留下的时间到到达,否则视为恶意占座。用户可以在客户端选择的位置,点击选择空位和日期,完成座位预定。另外,用户还可以直接到自习室就座,配合门禁系统获取这类用户的校园卡信息,系统依次分配空座位给这类用户。如果用户需要换座,可以在自习室管理电脑进行换位操作,同时服务器将座位信息上传到客户端。服务器可以根据用户刷卡情况判断用户是否已经就坐自习,如果未履行约定,系统为自动将其拉入黑名单,根据用户的爽约次数,依次累加进行不同程度的惩罚,从而避免恶意占座。自习室管理员管理自习室的座位异常,维护自习室座位信息。座位预订如图5所示。
3.4 图书助手
用户登录该应用进行图书的相关信息查询,输入图书名称进行相应图书的查找。同时该应用还依据用户的点击、收藏、借阅的历史综合判断用户的图书兴趣,进行图书的综合推荐,方便用户多方面信息的了解。该服务根据用户输入的图书名称模糊查询图书馆所有与之相关的图书,并列表显示。同时根据用户的收藏、点击查看和预定情况进行3表关联,根据预定3分,收藏2分,点击查看1分相加的六分制规则获取用户的兴趣爱好,并以此作为依据进行图书推荐,同时应用还实现了图书定位的功能,用户点击可以最优路径的显示获取图书馆藏路线,节省学生寻找图书时间。图书推荐如图6所示。
3.5 校园生活
该服务包含机器人问答服务,回答用户相关信息的同时还可以自行對话交流。作为学校各类大事件信息发布系统和宣传校园信息的公告栏。学校用户可以在此服务上浏览观看学校的相关新闻公告,用户可以选择自己感兴趣的新闻种类,后台以此作为依据进行新闻推送,保证信息获取的及时,用户也可以关闭新闻推送。同时还可以通过多种方式进行用户好友的添加,实现在线聊天服务。
4 结束语
为丰富移动校园个性化服务实践,本文提出了掌上校园微服务系统,对系统设计思路和特色做了描述,设计并初步实现了掌上校园微服务系统,实现了学习天地、自习室预订、图书助手、校园生活等微服务模块。系统在学院完成了测试和评估,系统体现了良好的交互性及个性化服务,为丰富移动校园服务实践提供了思路。
参考文献:
[1] 华建祥.基于Android系统的校园信息查询系统客户端设计与实现[J].软件导刊, 2014(3):101-103.
[2] 赵跃新,李小咩.基于Android系统的校园信息系统的设计研究[J].山东工业技术, 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