国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

實(shí)驗(yàn)課協(xié)同化管理系統(tǒng)

2013-10-17 06:09:12李興瑩
關(guān)鍵詞:服務(wù)端實(shí)驗(yàn)課消息

李興瑩

(華中師范大學(xué)武漢傳媒學(xué)院電子商務(wù)教研室 湖北 430205)

0 引言

根據(jù)教育部印發(fā)的《關(guān)于加強(qiáng)高等學(xué)校本科教學(xué)工作提高教學(xué)質(zhì)量的若干意見(jiàn)》文件,實(shí)踐教學(xué)對(duì)于提高學(xué)生的綜合素質(zhì)、培養(yǎng)學(xué)生的創(chuàng)新精神與實(shí)踐能力具有特殊的作用。根據(jù)文件的要求,該系統(tǒng)注重更新實(shí)驗(yàn)教學(xué)內(nèi)容,提倡實(shí)驗(yàn)教學(xué)和科研課題相結(jié)合,加強(qiáng)了統(tǒng)籌建設(shè)和科學(xué)管理,實(shí)現(xiàn)資源共享,提高了使用效率。

該系統(tǒng)所使用的網(wǎng)絡(luò)技術(shù)是現(xiàn)在已經(jīng)應(yīng)用非常成熟的技術(shù),包括HTTP通訊、VOIP(IP語(yǔ)音技術(shù))、DBMS(數(shù)據(jù)庫(kù))技術(shù)、報(bào)表技術(shù)、網(wǎng)絡(luò)安全控制技術(shù)、搜索引擎技術(shù)、IM(及時(shí)通信)技術(shù)等,通過(guò)這些技術(shù)手段可以實(shí)現(xiàn)本系統(tǒng)的開發(fā)與應(yīng)用。

1 系統(tǒng)功能架構(gòu)

整個(gè)系統(tǒng)主要包含后臺(tái)管理系統(tǒng)、實(shí)驗(yàn)課協(xié)作平臺(tái)、答疑平臺(tái)三大子系統(tǒng)。

后臺(tái)管理系統(tǒng)提供對(duì)基礎(chǔ)數(shù)據(jù)的維護(hù)功能,比如學(xué)生/教師的資料管理、課堂進(jìn)度管理、實(shí)驗(yàn)報(bào)告管理、實(shí)驗(yàn)答疑管理等等。

實(shí)驗(yàn)課協(xié)作平臺(tái)提供實(shí)時(shí)遠(yuǎn)程文字、白板、語(yǔ)音、視頻等多種多媒體教學(xué)方式,讓學(xué)生與教師可以充分互動(dòng)。

答疑平臺(tái)提供類似留言板的問(wèn)答機(jī)制,幫助學(xué)生與老師針對(duì)某個(gè)知識(shí)點(diǎn)或問(wèn)題進(jìn)行離線溝通。

圖1 系統(tǒng)功能架構(gòu)圖

數(shù)據(jù)共享中心實(shí)現(xiàn)后臺(tái)管理系統(tǒng)、實(shí)驗(yàn)課協(xié)作平臺(tái)和答疑平臺(tái)之間的數(shù)據(jù)共享與同步。

整個(gè)系統(tǒng)基于J2EE和相關(guān)開源技術(shù)實(shí)現(xiàn),采用了開放的技術(shù)標(biāo)準(zhǔn),具有良好的穩(wěn)定性和擴(kuò)展性,便于維護(hù)和進(jìn)一步擴(kuò)充功能。

2 系統(tǒng)技術(shù)架構(gòu)

本系統(tǒng)采用B/S架構(gòu)設(shè)計(jì),客戶端使用Web Browser與系統(tǒng)交互。

2.1 后臺(tái)管理系統(tǒng)

后臺(tái)管理系統(tǒng)采用Struts2+AJAX+MyBatis+MySQL實(shí)現(xiàn)

這套系統(tǒng)基于J2EE MVC框架進(jìn)行設(shè)計(jì),使用了Struts2、MyBatis等成熟的開源框架,性能和擴(kuò)展性都能得到保障。

圖2 后臺(tái)管理系統(tǒng)的技術(shù)架構(gòu)圖

在這套系統(tǒng)中,我將應(yīng)用進(jìn)行分層設(shè)計(jì),分別為UI展現(xiàn)層、服務(wù)層、業(yè)務(wù)層和數(shù)據(jù)存儲(chǔ)層。UI層負(fù)責(zé)數(shù)據(jù)顯示和與用戶交互;服務(wù)層將各個(gè)獨(dú)立的功能進(jìn)行抽象;業(yè)務(wù)層負(fù)責(zé)業(yè)務(wù)流程的實(shí)現(xiàn);數(shù)據(jù)存儲(chǔ)層負(fù)責(zé)將各個(gè)實(shí)體對(duì)象映射成業(yè)務(wù)對(duì)象,并負(fù)責(zé)將數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫(kù)中。分層處理以后的系統(tǒng),結(jié)構(gòu)更加清晰,便于后期維護(hù)和擴(kuò)展。

UI層使用Struts和JQuery技術(shù)實(shí)現(xiàn),充分利用了成熟的WEB2.0技術(shù),使用戶的體驗(yàn)得到保障。在設(shè)計(jì)Service時(shí)考慮了線程安全性,使用ThreadLocal存放數(shù)據(jù)庫(kù)連接以及其他只能在線程內(nèi)訪問(wèn)的資源。Business層將各個(gè)獨(dú)立的業(yè)務(wù)進(jìn)行抽象,便于重用和擴(kuò)展。數(shù)據(jù)庫(kù)持久層采用MyBatis實(shí)現(xiàn),普通開發(fā)人員很容易上手,降低了后期開發(fā)和維護(hù)的成本。

2.2 實(shí)驗(yàn)課協(xié)作平臺(tái)

實(shí)驗(yàn)課協(xié)作平臺(tái)基于OpenMeetings(Openlaszlo+Red5+Ser vlet/JSP+Spring+Hibernate)實(shí)現(xiàn)。

OpenMeetings所采用的技術(shù)都是比較成熟的Java開源技術(shù)。OpenMeetings的開發(fā)語(yǔ)言是Java和LZX(Laszlo XML-based language,一種基于XML和JavaScript的語(yǔ)言),它的服務(wù)端運(yùn)行依賴于開源的流媒體服務(wù)器 Red5,客戶端源代碼是基于OpenLaszlo的應(yīng)用,即OpenMeetings是一個(gè)基于Flash前端的視頻會(huì)議解決方案。其中,OpenLaszlo是一個(gè)用于開發(fā)富客戶機(jī)應(yīng)用程序的Web框架,這種應(yīng)用程序可以很容易地編譯成Flash和DHTML。因此,OpenMeetings的最大特點(diǎn)是會(huì)議客戶端無(wú)需下載安裝,由于OpenMeetings系統(tǒng)將客戶端設(shè)置成swf形式,通過(guò)網(wǎng)頁(yè)瀏覽的方式自動(dòng)加載,因此,所有能支持Flash的瀏覽器都可以使用OpenMeetings進(jìn)行視頻會(huì)議或其他應(yīng)用。

在這套平臺(tái)上,教師可以進(jìn)行在線授課,使用白板、視頻等手段。只要是加入到課堂中的學(xué)生,都能看即時(shí)看到授課內(nèi)容。這里的白板和視頻使用了ScreenVideo技術(shù),可以向在線的學(xué)生共享當(dāng)前授課教師的桌面內(nèi)容。

2.3 遠(yuǎn)程答疑平臺(tái)

遠(yuǎn)程答疑平臺(tái)基于BBS技術(shù)實(shí)現(xiàn)。我們?cè)贐BS系統(tǒng)上根據(jù)課程設(shè)置相應(yīng)的專欄,針對(duì)具體的課程為學(xué)生與老師進(jìn)行遠(yuǎn)程答疑提供交互支持。學(xué)生在系統(tǒng)上提出自己的疑問(wèn)后,負(fù)責(zé)授課的老師會(huì)從系統(tǒng)收到提醒,然后對(duì)學(xué)生進(jìn)行在線講解。

2.4 數(shù)據(jù)共享中心

數(shù)據(jù)共享中心解決各個(gè)子系統(tǒng)之間的數(shù)據(jù)同步要求。數(shù)據(jù)共享中心對(duì)各個(gè)子系統(tǒng)的公共數(shù)據(jù)進(jìn)行集中管理,并且亦能將某個(gè)子系統(tǒng)的私有數(shù)據(jù)開放給其他子系統(tǒng)。為了能夠支持未來(lái)的擴(kuò)展,數(shù)據(jù)共享中心采用ESB技術(shù)實(shí)現(xiàn)。

3 核心技術(shù)問(wèn)題及解決方案

3.1 實(shí)時(shí)視頻和語(yǔ)音服務(wù)

本系統(tǒng)基于Red5 Media Server 1.0構(gòu)建,提供了基于Adobe Flash Player的強(qiáng)大的視頻流媒體和多用戶解決方案。Red5基于RTMP / Servlet實(shí)現(xiàn),能夠滿足本系統(tǒng)中的視頻教學(xué)要求。Red5支持ScreenVideo、On2 VP6、Sorenson H.263、H.264等多種視頻格式和ADPCM、NellyMoser、MP3、Speex、AAC等多種音頻格式。

遠(yuǎn)程教學(xué)需要具備一定的實(shí)時(shí)性,學(xué)生能立刻看到老師的教學(xué)過(guò)程,這樣才能增強(qiáng)教學(xué)效果。在這個(gè)方案中,我們采用了基于Flash的實(shí)時(shí)流媒體技術(shù),視頻/語(yǔ)音傳輸協(xié)議使用RTMP。

RTMP協(xié)議建立在TCP協(xié)議或輪詢HTTP協(xié)議之上。RTMP協(xié)議就像一個(gè)用來(lái)裝數(shù)據(jù)包的容器,這些數(shù)據(jù)可以是AMF格式的數(shù)據(jù),也可以是FLV中的視/音頻數(shù)據(jù)。一個(gè)單一的連接可以通過(guò)不同的通道傳輸多路網(wǎng)絡(luò)流,這些通道中的包都是按照固定大小的包傳輸?shù)摹?/p>

RTMP的協(xié)議凈核是用AMF格式來(lái)描述,AMF格式本身的產(chǎn)生就是為了RTMP協(xié)議服務(wù)的,最初的RTMP采用XML的形式傳輸數(shù)據(jù),但XML只是字符形式的值對(duì)的格式傳輸數(shù)據(jù),而隨著應(yīng)用的普及這完全不能滿足要求了,于是AMP代替了XML。AMF是采用二進(jìn)制壓縮和傳輸數(shù)據(jù),從而為Flash 播放器與Flash Remoting網(wǎng)關(guān)通信提供了一種輕量級(jí)的、高效能的通信方式。

RTMP協(xié)議中的消息包含兩個(gè)部分:包頭和消息體。包頭包含時(shí)間戳、消息長(zhǎng)度、消息類型以及消息流ID。消息體包含了消息的實(shí)際數(shù)據(jù)。

例如下面是一段RTMP消息的樣本:

其中,“消息類型”占一個(gè)字節(jié),“消息長(zhǎng)度”占三個(gè)字節(jié),這里指明消息體部分的有效長(zhǎng)度。時(shí)間戳用于標(biāo)識(shí)消息的生成時(shí)間?!跋⒘鱅D”是消息的唯一標(biāo)識(shí)。

RTMP通信以握手開始,包含三個(gè)固定長(zhǎng)度的消息塊。客戶端在和服務(wù)端在通訊中每次互相發(fā)送同樣三個(gè)消息塊??蛻舳税l(fā)送的消息塊被指定為C0、C1、C2;相對(duì)地,服務(wù)端發(fā)送的消息塊被指定為S0、S1、S2。握手以客戶端發(fā)送的C0和C1消息塊開始,客戶端在收到服務(wù)端發(fā)送的S1后再發(fā)送C2,并且在收到S2后再發(fā)送其他數(shù)據(jù)。相對(duì)地,服務(wù)端在收到C0后才能發(fā)送S0和S1,并且在收到C1后才能發(fā)送S2,在收到C2后才能發(fā)送其他數(shù)據(jù)。基于以上RTMP的傳輸機(jī)制,保證了服務(wù)端與客戶端在語(yǔ)音、視頻數(shù)據(jù)傳輸方面的實(shí)時(shí)性和可靠性。

系統(tǒng)將教師機(jī)上的操作畫面及語(yǔ)音信息通過(guò)RTMP共享到所有學(xué)生機(jī)上,并且在教師開放權(quán)限的條件下也允許學(xué)生操作教師機(jī)的屏幕。通過(guò)這樣師生在線互動(dòng)的授課模式,能大大提高教學(xué)效果。

3.2 數(shù)據(jù)持久化方案

本系統(tǒng)采用了基于MyBatis的持久化方案。MyBatis是輕量級(jí)的O-R框架,接近于JDBC模式,使得開發(fā)人員更容易上手。由于MyBatis已能自動(dòng)處理SQL數(shù)據(jù)類型到Object的轉(zhuǎn)換,所以開發(fā)速度要比JDBC快得多。而相比于Hibernate、JPA等技術(shù),它的配置更加簡(jiǎn)單,更重要的是設(shè)計(jì)人員可以直接對(duì)SQL進(jìn)行優(yōu)化,而不像Hibernate和JPA等技術(shù)對(duì)開發(fā)人員隱藏了SQL細(xì)節(jié)。通過(guò)使用MyBatis,可以將復(fù)雜的數(shù)據(jù)庫(kù)處理邏輯所形成的SQL定義在XML文件中,MyBatis能自動(dòng)處理SQL與Java對(duì)象之前的轉(zhuǎn)換。這樣可以將數(shù)據(jù)實(shí)體處理與業(yè)務(wù)邏輯分離,后期還可針對(duì)SQL單獨(dú)優(yōu)化。這樣即簡(jiǎn)化了設(shè)計(jì),又提高了系統(tǒng)的模塊化和健壯性。

為了減少開發(fā)人員的工作任務(wù),還開發(fā)了一套自動(dòng)化的模板程序。可以針對(duì)特定的系統(tǒng)進(jìn)行模板定制。當(dāng)我們需要開發(fā)新的模塊時(shí),可以通過(guò)這套自動(dòng)化程序生成類似Hibernate那樣的映射文件和相應(yīng)的程序。以此模板為基礎(chǔ),開發(fā)人員幾乎可以不用編寫額外代碼,只需做一些簡(jiǎn)單的配置就能完成新模塊的開發(fā)。

4 結(jié)束語(yǔ)

本文結(jié)合現(xiàn)有的成熟的J2EE和Web 2.0技術(shù),實(shí)現(xiàn)了一套切實(shí)可行的遠(yuǎn)程實(shí)驗(yàn)課教學(xué)系統(tǒng),在遠(yuǎn)程教學(xué)系統(tǒng)上進(jìn)行了實(shí)驗(yàn)課的初步探索,對(duì)遠(yuǎn)程教學(xué)的發(fā)展具有一定的實(shí)踐指導(dǎo)意義。但還有一些問(wèn)題沒(méi)有解決。比如,對(duì)于不同專業(yè)的實(shí)驗(yàn)課,實(shí)驗(yàn)課的開展方式和內(nèi)容都會(huì)有很大差異,僅僅通過(guò)視頻和語(yǔ)音這些共享手段是不夠的。比如,對(duì)于計(jì)算機(jī)網(wǎng)絡(luò)學(xué)實(shí)驗(yàn),必須能夠虛擬出各種網(wǎng)絡(luò)設(shè)備,然后進(jìn)行相應(yīng)的實(shí)驗(yàn)。所以如果能將實(shí)驗(yàn)課件系統(tǒng)融合到本系統(tǒng)中,那么就能真正體現(xiàn)這套系統(tǒng)的價(jià)值。所以,在下一步探索中,我將繼續(xù)研究如何將課件系統(tǒng)建模并形成統(tǒng)一的接口,然后再與現(xiàn)有的實(shí)驗(yàn)課件進(jìn)行整合,到時(shí)將會(huì)形成一個(gè)完整的遠(yuǎn)程實(shí)驗(yàn)環(huán)境。

[1]http://forums.adobe.com/index.jspa Adobe技術(shù)論壇

[2]http://code.google.com/p/openmeetings/ OpenMeetings主頁(yè)(包含了全部源代碼)

[3]http://struts.apache.org/2.x/ Struts2主頁(yè)(包含源代碼和相關(guān)文檔)

[4]http://www.red5.org/ Red5主頁(yè)

[5]http://code.google.com/p/red5/ Red5主頁(yè)

[6]http://www.mybatis.org/java.html MyBatis主頁(yè)

[7]http://www.openlaszlo.org/ Openlaszlo主頁(yè)

猜你喜歡
服務(wù)端實(shí)驗(yàn)課消息
一張圖看5G消息
云存儲(chǔ)中基于相似性的客戶-服務(wù)端雙端數(shù)據(jù)去重方法
新時(shí)期《移動(dòng)Web服務(wù)端開發(fā)》課程教學(xué)改革的研究
在Windows Server 2008上創(chuàng)建應(yīng)用
“自由”的實(shí)驗(yàn)課
上實(shí)驗(yàn)課
消息
消息
消息
創(chuàng)新策略在高中生物實(shí)驗(yàn)課中的應(yīng)用
散文百家(2014年11期)2014-08-21 07:17:12
运城市| 临海市| 海安县| 汾阳市| 苗栗县| 永宁县| 乳山市| 阿坝县| 湘西| 都安| 新昌县| 龙川县| 科尔| 富锦市| 垦利县| 商河县| 社旗县| 含山县| 邳州市| 黑龙江省| 宁国市| 镶黄旗| 工布江达县| 江城| 微山县| 思南县| 黄浦区| 盐池县| 晋江市| 武川县| 新田县| 浪卡子县| 万年县| 射洪县| 青铜峡市| 鄄城县| 青川县| 黑水县| 汕头市| 玉山县| 潞城市|