廖 宁,杨 文
(河源职业技术学院 电子与信息工程学院,广东 河源517000)
智慧校园移动信息服务平台的设计与实现
廖 宁,杨 文
(河源职业技术学院 电子与信息工程学院,广东 河源517000)
传统的数字校园平台中,面向师生的个性化移动信息服务方面非常薄弱,教师查询信息或办理相关业务只能通过电脑登录数字校园平台再进入各业务系统操作,因此师生普遍对数字校园建设无感。针对这种情况,提出了智慧校园移动信息服务平台的设计方案,该方案依托腾讯微信企业号平台及学校大数据中心的数据,通过多种数据交换方式将各业务系统中相关数据同步到大数据中心,并使用J2EE轻量级框架组合对微信企业号提供的API进行封装及统一调用,从而实现了系统与微信企业号端的信息交互,使师生通过微信企业号即可方便地查询个人所有信息以及办理各类常用业务。应用结果表明,该系统大大提高了师生查询信息及办理业务的便捷性。
智慧校园;移动信息服务;微信企业号;大数据中心
随着教育信息化技术的发展,各高校在十二五建设期间普遍都完成了一到两轮的数字校园建设。[1]传统的数字校园建设虽然将信息化覆盖了学校各主要业务,上线了OA、教务、学工、科研、财务、资产、图书馆、一卡通等众多的业务系统,并且将这些系统通过统一信息门户平台实现单点登录集成,通过数据交换实现各业务系统与数据中心的数据共享及互联互通。[2]但这些系统主要还是各业务部门管理教师使用,普通师生普遍对数字校园建设无感,想要查询个人相关数据或办理相关业务也只能在电脑端登录数字校园平台再进入分散的各业务系统中查询或办理,操作非常不方便。
目前,越来越多高校在十三五规划期间慢慢从数字校园建设阶段步入智慧校园建设阶段。[3]而作为智慧校园三个核心特征之一的移动综合信息服务平台就显得尤为重要,是各高校智慧校园建设中必不可少的建设项目。[4]近两年也有不少高校通过建设手机APP来提供移动信息服务,但手机APP的开发周期长、成本高,且推广难度较高,大部分师生都不愿意在手机里面安装太多APP。[5]因此本文提出基于微信企业号及大数据中心的智慧校园移动信息服务平台的设计方案,该系统用极小的成本打通了微信与学校各业务系统及数据中心之间的桥梁,使各师生只需在微信中关注学校的官方微信企业号,即可随时随地查询到个人所有信息及办理相关业务,大大提高了师生查询信息及办理业务的便捷性。
智慧校园移动信息服务平台整体架构如图1所示。
图1 智慧校园移动信息服务平台整体架构图
(1)企业号对接管理平台主要负责整个移动信息服务平台与微信企业号后台的对接管理,包括组织架构同步、用户信息同步、统一消息发送、班级群管理、回调模式管理等。[6]
(2)统一消息中心主要根据统一共享数据中心的各类数据自动分析产生各类提醒消息,包括成绩查询、奖助发放、水电费、工资查询、生日祝福消息等,另外提供统一消息WebService接口供其他业务系统直接调用,这些消息将集中保存,并由企业号对接管理平台的统一消息发送模块定时读取并分发这些消息到各用户微信端。
(3)公共应用平台主要负责具体处理各类应用请求的业务逻辑处理,包括工资、一卡通、图书借阅、教工订餐、教务查询、科研查询、移动OA等,并支持外部系统接入以及动态多数据源管理等。
(4)大数据中心主要负责将各业务系统数据库中各类共享数据通过DBLNK或ODI同步的方式同步到数据中心共享库中,再通过存储过程及调度计划分主题筛选这些数据并存入数据中心主题库,以方便移动信息服务平台查询各类数据。[7]
智慧校园移动信息服务平台主要由企业号对接管理平台、统一消息中心以及公共应用平台三大子系统组成,每个子系统又有多个功能模块。
(1)企业号对接管理平台功能设计
企业号对接管理平台子系统包括以下功能模块:①组织机构同步,包括学校部门、院系、专业、班级等信息在大数据中心与微信企业号后台之间的同步,并在数据库中保存各组织架构的学校内部ID与微信企业号后台的ID的映射关系。该功能由系统自动定时调度执行。②用户信息同步,包括教师、学生的工号/学号、所属部门、手机号码、邮箱号码等信息在大数据中心与微信企业号后台之间的同步。该功能由系统自动定时调度执行。③统一消息发送,系统自动定时读取统一消息中心产生的各类待推送消息,根据这些消息的优先级自动排队推送到各用户的微信端。④班级群管理,系统自动为各辅导员创建各班会话群,实现了各班级群的统一管理,不需要教师再手工创建各班级群,方便师生快速找到各班群,并在群中进行交流互动或发送公告通知。⑤回调模式管理,因微信后台要求回调模式必须使用公网域名,故系统采用该模块统一处理微信企业号各应用回调模式中的微信请求,实现各企业号中各应用与移动信息服务平台间的消息交互,从而节省了学校公网服务器资源。[8]⑥应用管理,系统提供严格的应用授权管理功能,只有通过授权的应用才能接入微信企业号中,该功能比微信企业号后台的应用管理功能更完善、更贴合学校实际。⑦多种身份认证,系统提供OAuth2.0认证[9],以及学校统一的CAS身份认证[10],师生只需扫描学校企业号二维码,并通过学校统一身份认证后才可成功关注,关注成功后进入各应用不再需要输入账号密码,直接通过微信提供的OAuth2.0认证接口自动认证。⑧微信API封装,系统对微信企业号提供的API进行了重新封装以及统一调用,并对调用API时必须的access_token获取机制进行了优化,保证 access_token不会过期失效,并且避免了因为多方调用微信API过于频繁导致超过微信规定的接口调用次数限制的问题。[11]
(2)统一消息中心功能设计
消息中心包括以下功能模块:①系统消息提醒,系统提供WebService接口,学校各业务系统的提醒消息均可调用该接口将消息提醒保存到统一消息中心,再由企业号对接管理平台从统一消息中心中读取并自动发送这些消息。[12]②成绩查询通知,当大数据中心中有新的成绩数据从教务系统推送过来时,统一消息中心将自动产生成绩查询通知提醒,让学生可以第一时间知道有新的成绩可供查询。③奖助发放通知,当大数据中心有新的奖助发放数据从一卡通系统推送过来时,统一消息中心将自动产生奖助发放通知提醒,让学生第一时间知道自己的奖助金已发放。④通知公告,OA系统及各业务系统中的通知公告均可通过WebServcie接口或数据同步接口推送到统一消息中心,并且也支持授权各辅导员、各院系、行政处室管理员在系统中手动发送公告通知给指定范围的用户。⑤水电费通知,当大数据中心有新的水电费数据从宿舍管理系统推送过来时,统一消息中心将自动产生水电费通知提醒,让学生第一时间知道自己宿舍当月水电费使用情况。⑥工资到账通知,当大数据中心有新的工资数据从财务系统推送过来时,统一消息中心将自动产生工资到账通知,让教师第一时间知道自己当月的工资发放情况。⑦生日祝福短信,统一消息中心每天会定时查询当天生日的师生,为这些师生生成生日祝福短信,并自动推送到用户微信端,体现了学校对师生的人文关怀。⑧OA办公提醒,包括自动实时发送邮件提醒、工作流提醒、校内动态、日程安排提醒等,这些数据来源于学校的OA系统中,统一消息中心会根据这些数据自动生成各类OA办公提醒消息。
(3)公共应用平台功能设计
公共应用平台包括以下功能模块:①工资查询,该应用供教师方便地查询各月工资发放情况,由于工资信息比较敏感,因此教师进入该应用前还可根据需要配置为“需进行二次认证才可进入查询”。②教工订餐,该应用供教师方便地订餐,同时还为教工饭堂管理人员提供了订餐数据统计查询的功能。③教务查询,包括最新课表查询、选修课程查询、已选课程查询、我上过的课程、教务成绩查询、网络考试查询等。④科研查询,包括我的科研项目、我的论文、我的著作、我的专利查询等。⑤一卡通查询,师生可在该应用中查询到自己一卡通的最新余额及消费明细。⑥图书借阅查询,师生可在该应用中查询自己图书借阅情况。⑦移动OA,包括电子邮件收发、OA公告通知、校内动态、工作流、日程安排、会议申请、公共文件柜等,这些应用功能使学校教师可以方便地通过微信企业号使用到学校OA的各常用功能。⑧外部系统应用接入,支持接入外部第三方业务系统的应用,如自助迎新、电子离校单等应用。
由于篇幅有限,本文以成绩查询功能为例介绍智慧校园移动信息服务平台的主要功能的实现。
(1)成绩数据推送到大数据中心
在教务系统数据库中创建学生成绩中间表,再在数据库中编写存储过程及定时调度,在该存储过程中将教务系统成绩源表中最新更新的数据同步到成绩同步中间表中,然后利用oracle的dblink或者odi等工具将成绩同步中间表中待同步数据推送到大数据中心对应的成绩中间表中。[13]
(2)成绩查询通知生成
在数据库中编写存储过程及定时调度,在该存储过程中查询各学生在大数据中心的成绩中间表中目前有多少条最新同步的数据,根据这些数据组装生成成绩查询提醒消息内容,并将该提醒消息保存到统一消息中心中的消息提醒表中,同时将这些待同步的数据同步到大数据中心的学生成绩主题表中。成绩数据推送实现过程如图2所示。
图2 成绩数据推送实现示意图
(3)微信企业号应用生成及配置
在微信企业号后台新建成绩查询应用,设置该应用的LOGO、可见范围及可信域名,并将该应用设置为回调模式,回调模式设置指向企业号对接管理平台的URL;[14]然后设置自定义菜单,自定义菜单设置的URL是企业号对接管理平台将成绩查询功能URL封装成OAuthor2.0链接地址。
(4)微信企业号应用对接后台的实现
在系统后台编写定时查询方法,查询大数据中心中消息提醒表的最新成绩查询提醒消息,并调用微信企业号的发送消息接口,将这些消息排队发送到对应学生的微信企业号成绩查询应用界面。成绩查询提醒消息发送流程如图3所示。
学生收到提醒消息后,可直接点击成绩查询应用中的菜单,当用户点击菜单时,后台接收到请求,并从请求中获得OAutho2.0链接地址中的code参数,然后根据该参数调用微信的OAuthor2.0认证接口,获取此次访问人员在企业号通讯录中对应的账号(学号),再根据该学号去查询大数据中心中的学生成绩正式表,最后将查询到的数据返回到页面中以列表形式展现出来。[15]成绩查询请求处理流程如图4所示。
图3 成绩查询提醒消息发送流程图
图4 成绩查询请求处理流程图
本文提出的智慧校园移动信息服务平台,是基于微信企业号及大数据中心的综合移动信息服务平台,其实现了校园内各业务系统及数据中心与微信企业号端的信息交互,使师生通过微信企业号即可方便地查询个人所有信息以及办理各类常用业务。该系统经过实际应用,效果良好,系统上线一个月内即实现了90%以上教职工以及8000多在校学生关注使用,该系统以极小的成本为师生提供了方便快捷的智慧校园移动信息服务,受到广大师生的普遍好评。
[1]胡钦太,郑凯,林南晖.教育信息化的发展转型:从“数字校园”到“智慧校园”[J].中国电化教育,2014(1):35-39.
[2]吴旻瑜,刘欢,任友群.“互联网+”校园:高校智慧校园建设的新阶段[J].远程教育杂志,2015(4):8-13.
[3]于长虹,王运武,马武.智慧校园的智慧性设计研究[J].中国电化教育,2014(9):7-9.
[4]王明亮,闵新力,姬江涛,刘阅军,高珊.基于微信的移动外勤管理系统设计与实现 [J].计算机应用与软件, 2015(7):83-84.
[5]孙海涛,李葆红,王婷.高校智慧校园建设研究[J].山东师范大学学报(自然科学版),2013(3):46-49.
[6]San-Tsai Sun,Eric Pospisil.Investigating Users’Perspectives of Web Single Sign-On[J].ACM Transactions on Internet Technology(TOIT),2013,13(1):20-25.
[7]单曙兵,孔磊.基于Acegi授权管理的高可用单点登录系统的研究与设计 [J].计算机应用与软件,2013(7): 112-115,179.
[8]杨树春,辛云飞,王义,张福蒸.基于微信企业号的高校移动平台设计与实现[J].华中科技大学学报(自然科学版),2016(S1):158-161.
[9]彭玢,代洁.基于中间库与WebService平台信息交互接口设计[J].计算机与数字工程,2013(11):1801-1803.
[10]Leiba B.Oauth web authorization protocol[J].IEEE Internet Computing,2012,16(1):74-77.
[11]刘姚.基于Spring和OAuth2.0的第三方授权框架[J].计算机技术与发展,2017(3):167-170.
[12]Wikipedia.WeChat[EB/OL].http://qydev.weixin. qq.com/wiki/.
[13]杨泽,张玲华,王松,聂玉涵.基于WeiPHP的校园微信服务系统的设计与实现[J].计算机技术与发展,2017 (1):195-199.
[14]Jones M,Hardt D.The Oautho 2.0 authorization framework:bearer token usage[R].[s.L]:[s.n.],2012.
[15]邱炳发,马燕.基于微信的研究生信息服务系统的设计与实现[J].计算机技术与发展,2016(1):190-194.
TP315
A
1673-8454(2017)23-0070-04
(编辑:王天鹏)