微信互动教学系统研究与实现

2015-08-07 12:14:27李莎王胜
微型电脑应用 2015年4期
关键词:应用服务开放平台教学系统

李莎,王胜

微信互动教学系统研究与实现

李莎,王胜

利用微信应用开发技术,结合传统网络教学系统的要求,对移动教学系统进行了技术预研,提出了基于微信APP的移动应用客户端、微信开放平台技术和传统互联网开放技术相结合的移动互动教学解决方案,并进行了相应的系统可行性及实现验证。

微信;移动教学;移动APP;模板技术

0 引言

微信[1][2]是一款通过网络快速发送语音短信、视频、图片和文字,支持多人群聊的手机聊天软件,目前微信注册用户已经超过一亿,用户群体主要是年轻人,学生群体更是其中的活跃成员。微信开放平台是在微信的基础上新增的功能模块,实现和特定群体的文字、图片、语音的全方位沟通、互动,为第三方移动程序提供接口,使用户可将第三方程序的内容发布给好友或分享至朋友圈,第三方内容借助微信平台获得更广泛的传播。

随着移动互联网技术的广泛应用,移动教学作为信息技术与教育融合的新教育形式为教育注入了新的活力:便捷的学习机会、多样的学习环境以及丰富的学习资源,使学习活动更加自主化、个性化,使教育的适应性得到大大加强。

1 系统分析

传统教学方式以教为主,学生多为被动式接受学习,不利于学习积极性的提高。“互动性”教学强调以学为主,按有效的个性化原则来组织教学与学习,充分调动学习积极性,注重培养学生自学能力,教师根据学生的及时反馈对学习内容进行适应性调整,实现因材施教和因人而异的教学方式,提供丰富的现场实习体验,发展情景教学,全面提高学生素质。学生可根据自己的实际情况,掌握学习进度、学习时间、学习地点、学习内容等。

微信开放平台的兼容性和开发性,使得跨平台、免安装的轻量级APP成为可能,用户只需要关注移动教学互动服务号,就可以使用。微信互动教学系统的实现可以在传统互联网移动教学服务[3-5]网站平台的基础上,增加微信服务接入功能,实现和微信开放平台的平滑对接,借用微信作为APP客户端的方式,达到移动互动教学的目的。

互动教学应用服务系统平台是整个系统的中枢如图1所示:

图1 微信互动教学系统物理架构图

不仅要实现传统互联网的教学服务展示,还需要对接移动应用,实现互动教学业务响应和即时互动教学调度功能。此外,为了能够有效服务移动教学,需要对教学资源进行高效管理维护,可以利用开放云存储平台存放各类教学资源文件。同时,为了能在微信APP上直接显示教学资源,在存储前需要利用各类格式转换工具软件把教学资源转换为移动终端设备通用音视频或文档格式,如3gp等。

互动教学系统需要具备互动学习自动服务和人工答疑服务,如图2所示:

图2 微信互动教学系统业务交互流程图

其中,人工答疑服务主要是利用了微信开放平台最新推出的多客服功能[2]实现。教师通过互动教学客户端软件登录互动教学服务后,自动以客服身份登录微信开放平台多客服,当互动教学服务收到微信平台转发的答疑请求时,需要根据答疑课程自动匹配相应的在线答疑教师(获取该教师的客服账号),在响应消息中要求微信平台把请求转发到指定客服,随后微信平台收到响应后,自动把当前发起请求的用户接入到响应消息指定的客服(教师),从而使得双方可以进行直接交流。

学生需要登录微信并关注微信互动教学后才能进行学习和提问如图3所示:

图3 互动教学微信APP图

进入服务后,学生可以首先请求业务导航,根据系统返回的操作导航提示进行相应的业务请求。

2 技术研究

2.1 通信机制

微信APP的通信原理可以理解为Restful机制的典型应用:当用户向公众平台账号发送微信后,微信服务器会将一段XML报文以HTTP POST 请求的方式发送到应用服务器,应用服务器经过处理后,通过HTTP 响应将另一段XML报文返回给微信服务器,这时候用户终端将会收到来自公众平台帐号的回复。微信服务器主要实现消息解析/封装和消息转发功能,通过提供统一的报文封装规范,屏蔽了不同应用的协议消息差异性。

2.2 验证消息合法性

在开启开发模式时,除了要填写应用服务的接入URL,还要填写一个token值,提交后微信服务器会发送一个请求给接入URL ,附带身份验证参数,应用服务可以根据 token 与参数校验合法性,合法时需要根据要求返回一个字符串,这样微信服务器才会确认应用服务的身份。以后每次微信服务器发送请求时,都会带上这些参数,可以以同样的方式来判断对方的合法性。

2.3 微信消息接口及封装

在系统实现中,需要对微信消息报文进行解析和封装,因此,需要进行消息接口的封装实现,如图4所示:

图4 消息封装的实现

微信消息接口基类BaseMessage包括所有消息的公有字段:ToUserName(微信接收方账号)、FromUserName(发送方帐号)、CreateTime(消息的创建时间)、MsgType(消息类型)。

请求消息都包含了MsgId(消息ID),继承BaseMessage后形成请求消息基类RequestMsg。文本请求消息类TextReqMsg、图片消息类ImageReqMsg、地理位置消息类LocationReqMsg、链接消息类LinkReqMsg、语音消息类VoiceReqMsg、视频消息类VideoReqMsg都继承了RequestMsg类,实现相应的请求消息实体类。

事件推送主要用于用户关注/取消关注、扫描二维码、上报地理位置信息和自定义菜单的应用场景。基类EventMsg直接继承自BaseMessage类,用于关注/取消关注事件,其派生类LocationEvent实现了地理位置信息上报接口,派生类KeyEventMsg实现了自定义菜单相关接口,其派生类TicketEventMsg实现了二维码相关操作接口。

响应消息都继承自BaseMessage,派生类TextRespMsg实现文本响应接口,MediaRespMsg实现了图片、语音和视频响应接口,NewsRespMsg为图文响应消息接口,MusicRespMsg为音乐响应消息接口。

3 系统实现

3.1 管理后台的实现

互动教学应用服务由移动应用服务和后台管理服务组成,前者负责接收微信用户发送的微信请求,按照相应的功能指令组织回复报文并应答,后者主要实现教学资源管理,提供模板生成移动教学的微网站页面。后台管理服务采用Servlet+FreeMarker[6]技术实现,Servlet实现了后台管理的事务处理控制逻辑,包括资源管理、生成教学页面等功能。

FreeMarker是基于模板生成文本输出的通用技术,可以生成HTML Web页面。把微网站需要在微信APP中展现的教学页面中所需要的样式放入FreeMarker文件中,然后将实现Html5页面所需要的数据动态绑定,并放入Map中,通过调用模板文件解析类的process方法完成静态页面的生成。

3.2 数据库设计及实现

用户表:记录系统教师用户的基本信息,包括微信号Token、登录密码和授课信息,用于后台管理系统登录验证,只有教师才可以登录管理后台。

客服表:记录在微信开放平台中注册的客服账号信息,在教师登录互动教学客户端时,系统将自动为该教师绑定预先在微信平台上注册的客服账号。

教学资源表:记录各类教学资源URL、对应课程等详细信息等信息,在自动服务中组织图文响应消息时,可以直接使用根据业务条件自动搜索到相应的资源URL。

课程表:记录系统支持的课程名称和简介,以及学生对课程资源评分基本信息。

课程页面表:存放每门课程的由FreeMarker生成的Html5文件的路径和章节对应关系,类型及前后章节的索引值。微信APP上的课程学习图文响应中章节的学习图文连接数据来源于此表。

答疑表:记录学生的提问和教师的答复,包括提问人信息、课程信息、教师答疑内容、答疑状态等信息。学习过程中的提问和教师答疑功能实现所用到的数据主要来源该表。

课程题库表:存放课程测试Html5文件的路径和对应解答信息,在实现学生对课程的掌握测试中使用。

3.3 移动应用实现

移动应用服务必须在WXServlet类中实现doGet和doPost这两个方法,如图5所示:

图5 移动应用服务事务处理机实现

doGet用于确认请求是否来自微信服务器,doPost中的WXService.processRequest方法是具体的业务处理逻辑,首先对消息类型进行分类判断,根据不同的消息类型获取请求消息的内容,然后针对内容进行相应的请求业务处理,获取响应需要的数据并封装调用相应的响应消息实体,最后利用response回送响应报文给微信服务器。

4 总结

利用微信公众平台实现移动交互教学,方便学生随时随地进行学习,有利于提升学生的学习兴趣和积极性,是教育领域的一项大胆尝试。经过初步测试,学生比较乐意接受这种新颖的学习互动模式,可以随时随地进行自主学习,有效提升学习效率,获得较为满意的教学效果。同时,微信在IOS、Android、WP等移动操作系统中具有良好的兼容性,支持HTML5技术,而且微信开放平台有便于开发性和能改进更新等特性,使得基于微信的APP开发的难度和周期得到大幅度的降低,可以实现功能更加强大,交互性越发友好的移动应用。

[1]企业号开发者中心.微信公众平台[EB/OL].http://qydev.weixin.qq.com/wiki/index.php?title =%E9%A6%96%E9%A1%B5.2014-12-22.

[2]微信公众平台开发者文档. 微信公众平台[EB/OL].http://mp.weixin.qq.com/wiki/home/index.html. 2014-12-22.

[3]逄珊.移动教学管理系统的设计与实现[J].计算机与信息技术.2007,7.

[4]杨吉伟.基于3G网络的WAP教学辅助管理系统的开发与实现[J].中国医科教育技术.2012. 26(2).

[5]黄家荣.基于移动学习的远程教学系统设计[J].通信技术.2009,2.

[6]FreeMarker2.3.10 Programmer'sGuide.

Research and Implementation of Mobile Teaching System Based on Wechat

Li Sha, Wang Sheng
(ShaanXi Radio &TV University, Xi’an 710119, China)

In this paper, combining with the requirements of traditional network teaching system, it uses Wechat Open Platform and Wechat mobile app development technology to conduct a technical pre-study on mobile network teaching system. The teaching solution is proposed based on Wechat technology and verifies the corresponding system feasibility and implementation.

Wechat; Mobile teaching; Mobile App; Template Technology.

TP311

A

2015.01.19)

1007-757X(2015)04-0032-03

陕西广播电视大学2013-2014年度教学改革课题(13DJ-A20)

李 莎(1979-),女,陕西广播电视大学,讲师,工学硕士,研究方向:移动技术应用,图像信号处理,西安,710119

王 胜(1974-),男,陕西广播电视大学,副教授,工学博士,研究方向:移动通信技术,西安,710119

猜你喜欢
应用服务开放平台教学系统
全球卫星互联网应用服务及我国的发展策略
卫星应用(2022年1期)2022-03-09 06:22:24
基于Unity的计算机硬件组装仿真教学系统设计
基于在线开放平台的混合式课堂教学模式构建与实践
国家不动产统一登记信息平台构建与应用服务
多地远程互动同步教学系统的设计与实现
基于AliGenie语音开放平台的传统家居智联网解决方案
电子制作(2018年17期)2018-09-28 01:56:46
搭建开放平台 收获真情实感——谈《品德与生活》教学中开放式教学的实施
基于交互式双板教学系统的高中地理教学研究
汽车配件营销实践教学系统开发
全国征集卫星应用服务解决方案
太空探索(2015年5期)2015-07-12 12:52:36