摘 要:可離線式的網(wǎng)絡(luò)課件平臺是目前新一代網(wǎng)絡(luò)課件創(chuàng)建平臺的一個發(fā)展趨勢,本文以XML技術(shù)創(chuàng)建了一個實例模型,以討論XML技術(shù)在這一類型平臺研發(fā)的優(yōu)勢。
關(guān)鍵詞:網(wǎng)絡(luò)課件 離線 XML XMLDOM
引言
教學(xué)資源的共享越來越受到人們的重視,網(wǎng)絡(luò)課件作為教學(xué)資源共享的一個重要載體越來越受到各大院校的認同,目前很多網(wǎng)絡(luò)課件創(chuàng)建平臺創(chuàng)建的課件只能在其本身平臺的環(huán)境下使用,很多教師在建設(shè)了網(wǎng)絡(luò)課件后在日常教學(xué)中還得用PPT等工具重新準備課件,這使得網(wǎng)絡(luò)課件使用的范圍大大減小。所以可分離的課件創(chuàng)建平臺必將成為一個重要的研究方向。
本文旨在研究用XML技術(shù)實現(xiàn)一個基礎(chǔ)的網(wǎng)絡(luò)課件創(chuàng)建平臺,除了達到基本的網(wǎng)絡(luò)課件創(chuàng)建功能,還要達到課件在線上生成后可以分離于平臺獨立使用的目的,所有線上的課程信息能單獨從平臺剝離并可以打包下載,離線后的課件要保持盡量一致的線上功能。
1 技術(shù)架構(gòu)
本人提出基于XML的技術(shù)架構(gòu)作為設(shè)計基礎(chǔ),并創(chuàng)建了一個實例模型。下圖為方案的架構(gòu)模型,該方案特點是結(jié)構(gòu)簡單,表現(xiàn)力強,實現(xiàn)容易,同時利用XML的特點能比較完好地支持線下功能。基本架構(gòu)如下圖:

架構(gòu)模型采用我們現(xiàn)在程序開發(fā)的常見的三層架構(gòu)體系,采用XML數(shù)據(jù)文件作為數(shù)據(jù)層,內(nèi)容打包引擎、數(shù)據(jù)展示引擎和信息編輯引擎作為業(yè)務(wù)邏輯層,網(wǎng)頁作為表現(xiàn)層。
平臺采用XML作為整個系統(tǒng)的數(shù)據(jù)源,XML是以文本形式來描述的一種文件格式,所以適合于各種平臺環(huán)境的數(shù)據(jù)交換。平臺設(shè)計考慮使用XML而不使用傳統(tǒng)型的關(guān)系型數(shù)據(jù)庫是因為由于XML的組織數(shù)據(jù)的靈活性和文本性訪問快的特點,同時在將課程打包下載時需要將數(shù)據(jù)導(dǎo)出,采用XML數(shù)據(jù)源可以有效地避免數(shù)據(jù)轉(zhuǎn)換這一環(huán)節(jié),減少了開發(fā)周期和降低了難度,同時也減輕了服務(wù)器的負荷,加快了訪問速度。
另一方面,XML數(shù)據(jù)離線下載后,需要能與線上一樣的展示方顯示,才能保持其可用性,可擴展標記語言(XML)由于支持半結(jié)構(gòu)化數(shù)據(jù),有自描述、可交換、與平臺無關(guān)等特點,通過XSL和客戶端腳本語言(通過XMLDOM操作XML)可對XML進行快速格式化顯示,由于XSL和XMLDOM可以靈活操作XML數(shù)據(jù)源,可以以幾乎任意的格式在網(wǎng)頁上展示XML數(shù)據(jù)。這種格式化顯示可以非常強大而復(fù)雜,使得平臺在實現(xiàn)課件離線的同時,能幾乎保持與線上一致的展現(xiàn)方式和功能。
2 實現(xiàn)重點
平臺實現(xiàn)的重點主要是解決以下三個方面的問題:
2.1XML數(shù)據(jù)文件的組織
為了便于課程的展示和在線打包,在平臺設(shè)計要注意文件布局合理,避免在線打包壓縮時進行大量的文件拷貝,這樣會在平臺規(guī)模比較大時占用大量的系統(tǒng)資源,同時大量文件拷貝也容易造成打包時間過長和打包文件不全,所以采用以下的文件存放模型對網(wǎng)站文件進行組織:
這個模型設(shè)計簡化了網(wǎng)站結(jié)構(gòu),每當(dāng)創(chuàng)建一門課程,系統(tǒng)均會創(chuàng)建一個單獨的文件存放該課相關(guān)的所有文件(頁面、XML數(shù)據(jù)、圖片、多媒體數(shù)據(jù)等),當(dāng)選定一個風(fēng)格樣式后,系統(tǒng)將該風(fēng)格樣式所相關(guān)的模板文件拷入到該課程文件夾中,更換新的風(fēng)格時替換掉原有風(fēng)格樣式文件,當(dāng)課程要進行離線時只要對該課程文件夾進行單獨打包壓縮就行了。同時對于只能在線上運作的功能,如課程BBS可以使用公用的系統(tǒng)文件進行處理,這部分文件可以存放于系統(tǒng)文件夾中。
2.2XML數(shù)據(jù)格式的設(shè)計與格式化顯示
由于課程信息需要支持線上和線下的顯示,所以在XML的格式化顯示方面采用一套程序編碼是一個便捷高效的方式,這一套程序編碼必須是客戶端的模式,通過XSL和XMLDOM對XML進行操作可以很好地解決這一問題。
2.2.1XML數(shù)據(jù)定義
由于這一領(lǐng)域沒有系統(tǒng)標準,我們利用XML的可自定義標記的特點可以以盡可能方便程序?qū)崿F(xiàn)的方式定義我們需要的XML格式,同時考慮顯示的速度,我們需要盡可能借鑒關(guān)系型數(shù)據(jù)庫索引的方式來組織一門課所有的XML數(shù)據(jù),以避免一個單一的XML文件過大而影響響應(yīng)速度。
2.2.2采用XSL對XML進行格式化顯示
雖然XSL(eXtensible Stylesheet Language)可以方便地處理XML文件,在平臺設(shè)計中考慮到如果XML的格式如果設(shè)計過于復(fù)雜的話,建議用XMLDOM對XML進行操作更為方便些,XSL用于順序型展示同時沒有復(fù)雜的變化操作時更為高效有優(yōu)勢。
2.2.3采用XMLDOM操作XML
XMLDOM是用來訪問和操作XML文檔的編程接口規(guī)范,XMLDOM被設(shè)計為可用于任何語言和任何操作系統(tǒng)。借助DOM我們可以遍歷菜單的XML,DOM將整個XML文檔視作一棵樹,根據(jù)每個樹叉的自定義的屬性值,對其代表的元素進行不同的處理,如顯示圖標、鏈接地址、狀態(tài)等。
2.3 課件在線打包和下載
要進行課程離線服務(wù),就必須對課程所有相關(guān)文件進行打包壓縮,供在線下載,在線壓縮可以使用RAR等壓縮軟件的開發(fā)接口。
2.3.1創(chuàng)建在線壓縮的類
Class rarClass
Public rarpath As String
Public desrarfile As String
Public sourcefold As String
Friend RetVal As Boolean
Sub rar()
rarpath = rarpath ″ a -r -ep1 -y ″ desrarfile
″ ″ sourcefold
Shell(rarpath,AppWinStyle.Hide,True,1000000)
RetVal = True
End Sub
End Class
2.3.2調(diào)用該類完成課程文件夾的打包壓縮
Dim rarpath As String = ″C:/Program Files/WinRAR/rar.exe″
Dim desrarfile As String = Server.MapPath(″kc/″ filename ″.rar″)
Dim sourcefolde As String = Server.MapPath
(″kc/″ filename)
ysinfo.Text = ″課程正在壓縮中″
Dim AarObject As New rarClass()
Dim Thread As New System.Threading.Thread _
(AddressOf AarObject.rar)
AarObject.rarpath = rarpath
AarObject.desrarfile = desrarfile
AarObject.sourcefold = sourcefolde
Thread.Start()
Thread.Join()
If AarObject.RetVal = True Then
ysinfo.Text = ″課程壓縮完成!″
End If
基于XML技術(shù)的可離線式網(wǎng)絡(luò)課件自動生成平臺研究主要為現(xiàn)代教育在網(wǎng)絡(luò)環(huán)境支撐方面摸索一個新的思路,主要是為了讓網(wǎng)絡(luò)課件更易組織,同時不再局限于服務(wù)器環(huán)境。
參考文獻:
[1]XML Handbook,F(xiàn)ourth Edition Charles F.Goldfarb Paul Prescod.
[2]The XSL CompanionNeil Bradley.
[3]XML Path Language (XPath) Version 1.0. http://www.w3.org/TR/xpath.
[4]XML-based Network Management Phil Shafer.