陈剑伟+李志芳
引言
随着“互联网+教育”计划的推广,教考分离、信息化教学是高校教育的发展趋势,以及各种大学生竞赛、创新性项目实验等,都对机房的管理和使用需求日益增加,而目前的人工管理+传统的C/S结构或单机版机房安排记录软件,都极大制约了机房的管理和利用。提高机房使用效率,优化校园机房资源配置,成为高校机房信息化管理工作亟待解决的问题。
同时,随着网络通讯和移动技术的快速发展,各种智能移动终端呈现井喷式发展,原有的信息发布结构在移动终端上会出现系统兼容性和界面友好性等问题。腾讯公司2011年推出的即时通讯工具“微信”,已成为当代大学生日常社交和学习必不可少工具。随着其产品不断升级,微信平台发展潜力巨大,不少高校纷纷开始利用其进行教育和管理工作,其中也不乏将已有系统与微信公众平台结合开发使用的案例。
混合式校园机房在线管理系统,目的在于利用传统的B/S结构,保证PC终端可以实现机房使用在线查询、申请和审核通知、课表安排、数据统计、以及发布公告、在线交流等功能;同时,也可以使用微信公众号平台,更方便、快捷的进行机房使用查询、在线申请、留言反馈等功能。改变了原有系统的单一访问和使用模式,为学校提供一种搭建服务和推送消息的新媒体方式。
1基于傳统B/S结构+微信公众平台的校园机房在线管理系统
1.1B/S结构
B/S结构,即浏览器/服务器结构,所有的软件都安装在服务器端,维护工作也集中在服务器端,与浏览器端无关,因此系统的维护更加便利,可靠性和稳定性也得到增强。在这种结构下,在客户端浏览器中实现用户界面显示,一部分事务逻辑在前端实现,主要事务逻辑在服务器端实现,形成所谓n层结构。随着软件系统的改进和升级越来越频繁,B/S架构的优势越来越明显,正逐渐取代传统的C/S(Client/Server)结构,成为应用系统的发展方向,同时促使动态Web应用程序的开发技术和数据库技术互相融合、互相促进、共同快速发展。
1.2微信公众号开发
根据不同的运营对象与类型,微信公众号分为订阅号、服务号和企业号。根据功能需求,本系统选用服务号进行二次开发。相比订阅号,服务号提供更加强大的业务处理和用户管理能力,功能更加齐全,用户使用满意度更高,具有自定义菜单功能等高级接口。而企业号主要是为企业或组织提供移动应用入口建立与员工、上下游供应链及企业应用间的连接。
微信公众号开发模式分为编辑模式和开发模式。编辑模式只能通过界面编辑的方式在公众平台简单设置自动回复等,并不能满足用户需求使用。而本系统通过开发模式连接数据库、编写代码进行数据存储与交换,同时选择新浪云SAE应用引擎进行开发。
使用新浪云SAE应用时,首先要申请一个新浪微博账号,进入新浪云控制台,选择创建新应用进行部署,填入域名,选择PHP语言进行开发,运行环境为标准环境,代码管理工具为SVN,上传微信开发接口代码及应用代码部署。登录微信公众号,进行开发接口基本配置,在URL服务器地址填入SAE中的配置好域名10790965101.sinaapp.com,Token的填写信息是与接口代码中的Token信息一致,这样一个微信应用平台环境搭建完成。整个开发过程如图1所示。
1.3数据库的使用
B/S结构的数据库使用SQL Server 2008对数据进行存储和管理、统计、分析等操作。微信客户端使用MySQL在新浪SAE云平台上提供的共享型MySQL数据库,相对于独享MySQL服务来说,没有其各种限制并且性能更高。用户执行的SQL语句时,系统能智能预处理判断并预截可能损伤系统的SQL语句,并且错误返回方式返回错误信息和错误码按照MySQL标准执行的。
同时,为了保证微信端的新浪云MySQL与本地服务器的SQL Server数据库数据同步,系统管理员利用Navicat工具进行数据同步传输,在每天工作结束后将本地数据传输到新浪云库。具体操作方法:
(1)首先安装OpenVPN,打开新浪云服务器的VPN隧道服务,使新浪云SAE的MySQL数据库能够被外部的本地数据库SQL Server 2008访问和操作。
(2)再安装Navicat数据库管理器,管理新浪云SAE中MySQL数据库和本地SQL Server 2008数据库;
(3)人工同步传输。
1.4系统特点
1.4.1实时信息共享
实时统计和发布机房使用最新消息,用户可以在PC端和微信端快速、便捷了解机房使用情况,随时随地申请使用机房;学校管理者也可以了解每个学期机房使用统计数据,合理安排教学工作;管理员和机房维护人员可以合理安排机房使用,并及时了解机房设备状况并维护。
1.4.2 B/S模式及移动微信的优势
B/S模式最大的优点是能随时通过浏览器查询数据并实现申请、留言等工作,不需要安装任何软件。而微信公众平台实现信息的推送方便、快捷及用户多种形式互动,操作简单,同时也方便与其他应用对接。已在政府、医疗、公共服务、教育、交通等多个领域得到了很好的应用。
1.4_3促进学校机房及网络实验室信息化建设
该系统可以有效地解决机房预约矛盾冲突。机房作为教学资源,让师生可以任意共享,提高机房服务效率,提高学生学习积极性、培养学生兴趣、挖掘学生创新能力和科研能力。
2系统功能设计与实现
2.1系统设计架构
系统分为PC端和微信客户端两个服务终端,系统架构如图2所示。
PC端是在Windows 7操作系统下,采用ASP.NET技术、C#开发语言、Microsoft Visual Studio 2008开发工具、和SQL Server 2008数据库实现的。微信客户端是将后台服务器搭建在新浪云平台上,利用HTML书写功能的静态网页页面以及CSS+DIV美化网页,采用PHP和MySQL编写数据库内容以及动态网页内容,并逐一写入要实现的功能。endprint
2.2系统功能设计
1、在B/S结构中,根据用户角色不同,功能包括:
(1)教师或学生用户查询机房使用情况和公告、在线申请、在线留言等。
(2)教学管理用户查询机房使用、在线申请、查看统计数据等。
(3)管理员可以进行课程添加、审核申请并邮件通知、数据统计、管理用户、发布公告、回复留言等。
2、微信公众号客户端功能包括:
(1)学生和教师可以直接进行机房使用在线查询与申请,并得到邮件回复,或进行电话咨询。
(2)对系统的使用及机房设备故障进行在线留言反馈,方便及时维护设备并提高服务。
(3)微社区是为微信公众平台这类的移动端类媒体提供一个功能,可以直接和微信公众号关联。关注本系统的微信公众号就可以发表主题与内容,社区站长可以设置留言公告,删帖,禁言。
2.3微信客户端关键功能实现
2.3.1在线查询
在MySQL数据库中,包含课程信息表,存储机房课程安排信息,用户可根据机房号和申请日期查询机房使用信息。在公众平台中,回复“查询”为在线查询。当服务器接收到“查询”时,平台弹出查询的一条单图文消息。如上述,获取用户的openlD,并从course表查询到机房使用信息,赋值给content,若无数据,则弹出对话框“今天没有课程,可以申请”。用户界面如图3所示。
关键实现代码如下:
2.3.2在线申请
用户通过公众平台提出在线申请时,在公众平台中,输入“申请”为在线申请。当服务器接收到“申请”时,平台弹出申请的图文消息。点击进入登录界面,登錄后进入申请界面如图4所示。
当用户填写完申请单,提交申请。系统会将申请表基本信息插入到新浪云MySQL数据库并发送一份申请成功的反馈邮件如图5所示。通过调用sendMail()函数,修改$mail->Username参数、$mail->From参数、$mail->FromName参数、$mail->Body参数,实现在提交在线申请表后,后台的163邮箱系统将给用户发送一封用户申请信息邮件,作为留底。同时当用户申请成功时,PC客户端会发送一份申请确认成功的邮件给用户。管理员收到申请并查询机房使用安排表,并以邮件方式通知申请者结果。
2.3.3建议反馈
只要关注校园机房微信公众服务号,对系统有任何意见或者机房某些设备出现故障,都无需登录即可填写意见反馈,同时管理员邮箱会收到用户填写的反馈信息邮件。用户界面如图6所示,关键实现代码如下:
3结束语
机房管理信息化建设是一个系统工程,需要学校、学院、教师和管理员、机房维护人员的合作和协调工作。混合式校园机房在线管理系统的使用,在一定程度上提高了机房设备利用率,同时有利于统计机房使用数据,便于学校有效资源配置,同时通过留言板的设备故障及系统反馈,管理员及维护人员可以及时维修设备。endprint