北京大学移动课堂设计与实现

2017-05-17 21:57杨公义王胜清
中国教育信息化·高教职教 2017年4期

杨公义+王胜清

摘 要:基于Flex+Spring+BlazeDS技术开发的北大移动课堂能通过rtmp流安全高效地获取远程服务器端的直播流和点播流。功能模块包括院系列表、统一身份认证、院系的课程列表、课程的所有视频列表、视频点播、直播教室的列表、教室直播、意见建议。在服务器端,通过J2EE应用的部署与配置把Spring管理的Bean通过BlazeDS发布成服务。在客户端,通过Flash Builder搭建Flex开发环境,并通过DCD技术调用服务器端BlazeDS远程服务。以开发“院系列表”为例介绍了Flex调用服务器端BlazeDS服务的机制。北大移动课堂实现了让北大师生通过安卓手机点播北京大学视频资源库的教学视频,在线观看北大网络教育电视台15个教室的教学实况,并与学校的统一认证进行了整合。

关键词:Flex;Spring BlazeDS集成;Android App开发;移动课堂

中图分类号:G434 文献标志码:A 文章编号:1673-8454(2017)07-0045-04

一、引言

移动课堂App是移动教育的重要工具,为了让北大师生用Google Android手机或移动终端点播北大视频资源库的教学视频,在线观看北大网络教育电视台15个教室的教学实况,北大自主研发了移动课堂。为保护版权,视频资源库和网络教育电视台均采用了Adobe公司的Flash流媒体服务器。从技术一致性考虑,北大移动课堂的开发采用了Adobe公司的Flex语言,因为用Flex语言能很好地调用基于rtmp协议的Flash流媒体服务器中的直播流或点播流。

二、北京大学移动课堂的界面与功能设计[1]

北大移动课堂App的安装,在Android手机上,用浏览器访问http://www.metc.pku.edu.cn/xiazai/course.apk下载并安装。如果手机上没有Adobe air运行环境,需要访问http://www.metc.pku.edu.cn/xiazai/air.apk下载并安装。course.apk运行之后,首页如图1所示。(为了抓图的方便,本文图片是来自FlashBuilder的手机模拟器,在手机上实际运行的效果会更美观)北大移动课堂与计算中心的统一认证进行了对接,经过认证的用户可以随时随地点播课程录像或看教室直播。用户在图1中单击任一院系名称或者在图6中单击任一教室名称,会进入图2要求通过计算中心的统一认证。“北大移动课堂”的功能主要包括直播和点播。点播:首页(图1)单击“院系课堂”进入“院系列表”,显示所有院系的院系名称、课程门数。系统实现了按“院系名称”模糊查询的功能,查询结果以“课程数量”降序排列。图1中单击任一院系名称,进入该院系的课程列表如图3所示,可浏览该院系的所有课程,并能按“课程名称”模糊查询。图3中单击任一课程名称,进入该课程的“视频列表”,如图4所示,图4中单击任意一个视频,可以全屏播放该视频,如图5所示。播放方式采用RTMP流,使用户只能在线观看,不能下载播放,保证了视频资源的安全性。[2]

直播:首页单击“直播教室”。如图6所示,可以浏览北大网络教育电视台中15个直播教室,图6中单击任一教室,进入如图7所示的视频画面,可以在线观看北大某一教室的教学实况。

意见建议:单击导航条的“意见建议”,可以电话、短信、Email的方式进行反馈。返回首页:按手机上面的返回键。这里用代码监听移动设备上的返回键,调用一段自定义代码。关闭:单击导航条的“退出”。

三、服务器端J2EE应用的部署与配置

北大移动课堂客户端程序,需要与远程服务器端的程序协作才能访问北大视频资源库的视频和北大网络教育電视台的频道。[3]应用服务器采用tomcat,Web应用名称为course,编程语言采用Java,开发框架采用Spring,Java后端与前端Flex的交互采用BlazeDS。BlazeDS是一个Adobe推出的基于服务器的Java远程调用和Web消息传递技术,使后台的Java应用程序和前端Flex应用程序能够相互通信。Spring BlazeDS Integration是Adobe与Spring联合开发的一个开源项目,使用该项目开发者可以通过BlazeDS公开Spring管理的Bean而无需额外配置文件。[4]关于这些技术单独使用的方法和需要部署的Jar等请参考官方文档。这几项技术集成及协同工作的关键技术是本文论述的重点。

以上以开发“院系列表”实例介绍了Flex调用服务器端BlazeDS服务的机制,大部分的业务逻辑的实现在服务器端,Flex手机应用只是对远程服务和方法的调用。

七、结语

北大移动课堂实现了让北大师生能通过安卓手机点播北京大学视频资源库的教学视频,在线观看北大网络教育电视台的15个教室的教学实况。播放方式均采用RTMP流,使用户只能在线观看,不能下载播放,保证了视频资源的安全性。北大移动课堂和北大的统一认证结合,只有合法用户才能正常访问。基于Flex+Spring+BlazeDS技术开发的北大移动课堂,良好稳定地满足了北大师生的需求。

参考文献:

[1]杨公义,张亦工.北京大学教室管理系统的设计与实现[J].现代教育技术,2015(4):115-120.

[2]杨公义,张亦工.基于Red5的网络教育电视台的设计与实现[J].现代教育技术,2012(8):109-112.

[3]陈飞,杨公义,李志刚等.基于Blackboard系统的“北大教学网”扩展开发研究[J].北京大学教育评论,2013(12):201-211.

[4]Spring BlazeDS Integration[EB/OL]. http://docs. spring.io/spring-flex/docs/1.5.x/javadoc-api/index.html.

[5]Flex Test Drive[EB/OL]. http://www.adobe.com/cn/devnet/flex/testdrive/articles/1_build_a_flex_app2.html.

(编辑:王天鹏)