楊公義+王勝清
摘 要:基于Flex+Spring+BlazeDS技術(shù)開(kāi)發(fā)的北大移動(dòng)課堂能通過(guò)rtmp流安全高效地獲取遠(yuǎn)程服務(wù)器端的直播流和點(diǎn)播流。功能模塊包括院系列表、統(tǒng)一身份認(rèn)證、院系的課程列表、課程的所有視頻列表、視頻點(diǎn)播、直播教室的列表、教室直播、意見(jiàn)建議。在服務(wù)器端,通過(guò)J2EE應(yīng)用的部署與配置把Spring管理的Bean通過(guò)BlazeDS發(fā)布成服務(wù)。在客戶端,通過(guò)Flash Builder搭建Flex開(kāi)發(fā)環(huán)境,并通過(guò)DCD技術(shù)調(diào)用服務(wù)器端BlazeDS遠(yuǎn)程服務(wù)。以開(kāi)發(fā)“院系列表”為例介紹了Flex調(diào)用服務(wù)器端BlazeDS服務(wù)的機(jī)制。北大移動(dòng)課堂實(shí)現(xiàn)了讓北大師生通過(guò)安卓手機(jī)點(diǎn)播北京大學(xué)視頻資源庫(kù)的教學(xué)視頻,在線觀看北大網(wǎng)絡(luò)教育電視臺(tái)15個(gè)教室的教學(xué)實(shí)況,并與學(xué)校的統(tǒng)一認(rèn)證進(jìn)行了整合。
關(guān)鍵詞:Flex;Spring BlazeDS集成;Android App開(kāi)發(fā);移動(dòng)課堂
中圖分類號(hào):G434 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1673-8454(2017)07-0045-04
一、引言
移動(dòng)課堂App是移動(dòng)教育的重要工具,為了讓北大師生用Google Android手機(jī)或移動(dòng)終端點(diǎn)播北大視頻資源庫(kù)的教學(xué)視頻,在線觀看北大網(wǎng)絡(luò)教育電視臺(tái)15個(gè)教室的教學(xué)實(shí)況,北大自主研發(fā)了移動(dòng)課堂。為保護(hù)版權(quán),視頻資源庫(kù)和網(wǎng)絡(luò)教育電視臺(tái)均采用了Adobe公司的Flash流媒體服務(wù)器。從技術(shù)一致性考慮,北大移動(dòng)課堂的開(kāi)發(fā)采用了Adobe公司的Flex語(yǔ)言,因?yàn)橛肍lex語(yǔ)言能很好地調(diào)用基于rtmp協(xié)議的Flash流媒體服務(wù)器中的直播流或點(diǎn)播流。
二、北京大學(xué)移動(dòng)課堂的界面與功能設(shè)計(jì)[1]
北大移動(dòng)課堂App的安裝,在Android手機(jī)上,用瀏覽器訪問(wèn)http://www.metc.pku.edu.cn/xiazai/course.apk下載并安裝。如果手機(jī)上沒(méi)有Adobe air運(yùn)行環(huán)境,需要訪問(wèn)http://www.metc.pku.edu.cn/xiazai/air.apk下載并安裝。course.apk運(yùn)行之后,首頁(yè)如圖1所示。(為了抓圖的方便,本文圖片是來(lái)自FlashBuilder的手機(jī)模擬器,在手機(jī)上實(shí)際運(yùn)行的效果會(huì)更美觀)北大移動(dòng)課堂與計(jì)算中心的統(tǒng)一認(rèn)證進(jìn)行了對(duì)接,經(jīng)過(guò)認(rèn)證的用戶可以隨時(shí)隨地點(diǎn)播課程錄像或看教室直播。用戶在圖1中單擊任一院系名稱或者在圖6中單擊任一教室名稱,會(huì)進(jìn)入圖2要求通過(guò)計(jì)算中心的統(tǒng)一認(rèn)證?!氨贝笠苿?dòng)課堂”的功能主要包括直播和點(diǎn)播。點(diǎn)播:首頁(yè)(圖1)單擊“院系課堂”進(jìn)入“院系列表”,顯示所有院系的院系名稱、課程門數(shù)。系統(tǒng)實(shí)現(xiàn)了按“院系名稱”模糊查詢的功能,查詢結(jié)果以“課程數(shù)量”降序排列。圖1中單擊任一院系名稱,進(jìn)入該院系的課程列表如圖3所示,可瀏覽該院系的所有課程,并能按“課程名稱”模糊查詢。圖3中單擊任一課程名稱,進(jìn)入該課程的“視頻列表”,如圖4所示,圖4中單擊任意一個(gè)視頻,可以全屏播放該視頻,如圖5所示。播放方式采用RTMP流,使用戶只能在線觀看,不能下載播放,保證了視頻資源的安全性。[2]
直播:首頁(yè)單擊“直播教室”。如圖6所示,可以瀏覽北大網(wǎng)絡(luò)教育電視臺(tái)中15個(gè)直播教室,圖6中單擊任一教室,進(jìn)入如圖7所示的視頻畫面,可以在線觀看北大某一教室的教學(xué)實(shí)況。
意見(jiàn)建議:?jiǎn)螕魧?dǎo)航條的“意見(jiàn)建議”,可以電話、短信、Email的方式進(jìn)行反饋。返回首頁(yè):按手機(jī)上面的返回鍵。這里用代碼監(jiān)聽(tīng)移動(dòng)設(shè)備上的返回鍵,調(diào)用一段自定義代碼。關(guān)閉:?jiǎn)螕魧?dǎo)航條的“退出”。
三、服務(wù)器端J2EE應(yīng)用的部署與配置
北大移動(dòng)課堂客戶端程序,需要與遠(yuǎn)程服務(wù)器端的程序協(xié)作才能訪問(wèn)北大視頻資源庫(kù)的視頻和北大網(wǎng)絡(luò)教育電視臺(tái)的頻道。[3]應(yīng)用服務(wù)器采用tomcat,Web應(yīng)用名稱為course,編程語(yǔ)言采用Java,開(kāi)發(fā)框架采用Spring,Java后端與前端Flex的交互采用BlazeDS。BlazeDS是一個(gè)Adobe推出的基于服務(wù)器的Java遠(yuǎn)程調(diào)用和Web消息傳遞技術(shù),使后臺(tái)的Java應(yīng)用程序和前端Flex應(yīng)用程序能夠相互通信。Spring BlazeDS Integration是Adobe與Spring聯(lián)合開(kāi)發(fā)的一個(gè)開(kāi)源項(xiàng)目,使用該項(xiàng)目開(kāi)發(fā)者可以通過(guò)BlazeDS公開(kāi)Spring管理的Bean而無(wú)需額外配置文件。[4]關(guān)于這些技術(shù)單獨(dú)使用的方法和需要部署的Jar等請(qǐng)參考官方文檔。這幾項(xiàng)技術(shù)集成及協(xié)同工作的關(guān)鍵技術(shù)是本文論述的重點(diǎn)。
以上以開(kāi)發(fā)“院系列表”實(shí)例介紹了Flex調(diào)用服務(wù)器端BlazeDS服務(wù)的機(jī)制,大部分的業(yè)務(wù)邏輯的實(shí)現(xiàn)在服務(wù)器端,F(xiàn)lex手機(jī)應(yīng)用只是對(duì)遠(yuǎn)程服務(wù)和方法的調(diào)用。
七、結(jié)語(yǔ)
北大移動(dòng)課堂實(shí)現(xiàn)了讓北大師生能通過(guò)安卓手機(jī)點(diǎn)播北京大學(xué)視頻資源庫(kù)的教學(xué)視頻,在線觀看北大網(wǎng)絡(luò)教育電視臺(tái)的15個(gè)教室的教學(xué)實(shí)況。播放方式均采用RTMP流,使用戶只能在線觀看,不能下載播放,保證了視頻資源的安全性。北大移動(dòng)課堂和北大的統(tǒng)一認(rèn)證結(jié)合,只有合法用戶才能正常訪問(wèn)。基于Flex+Spring+BlazeDS技術(shù)開(kāi)發(fā)的北大移動(dòng)課堂,良好穩(wěn)定地滿足了北大師生的需求。
參考文獻(xiàn):
[1]楊公義,張亦工.北京大學(xué)教室管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代教育技術(shù),2015(4):115-120.
[2]楊公義,張亦工.基于Red5的網(wǎng)絡(luò)教育電視臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代教育技術(shù),2012(8):109-112.
[3]陳飛,楊公義,李志剛等.基于Blackboard系統(tǒng)的“北大教學(xué)網(wǎng)”擴(kuò)展開(kāi)發(fā)研究[J].北京大學(xué)教育評(píng)論,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.
(編輯:王天鵬)