摘 要精品課程網絡資源建設是國家為實現優質教育資源共享,大力推進教育信息化的一項重大舉措。可復用性、共享性和可擴展性是精品課程資源在網絡開發和使用過程中面臨的一大難題。本文針對這些問題,提出了基于SCORM(可共享內容對象參考模型)規范,結合J2EE分布式環境框架,設計精品課程網絡資源庫,以實現精品課程優質資源的共享、重用。
關鍵詞 精品課程,網絡資源庫,SCORM,共享,J2EE
中圖分類號:G434文件標識碼:A 文章編號:1671-489X(2007)04-0054-04
Designation and Realization of Network Resources System for Excellent Courses based on SCORM Norm //Li hui ,Huang tanghong
AbstractNetwork resources building is an important measure for the country to achieve sharing of quality education resources and vigorously promoting information technology in education. Reusability, interoperability and scalability is a major challenge facing the process . This paper proposals designing network resources system for excellent courses based on SCORM norm and J2EE distributed environment framework to achieve sharing and reuse.
Key wordsexcellent course; network resources system; SCORM; sharing; J2EE
Author's address Computer Science Institute, Sichuan Normal University, Chengdu 610068
1 精品課程網絡資源建設中存在的主要問題
近年來,國內各高校進行了精品課程及其網絡化建設。然而,精品課程網絡資源的共享性和復用性作為建設中的一個重要問題,引起了越來越多的關注。一方面,精品課程網絡資源分散且孤立,難以共享或精確查找,嚴重阻礙了課程資源在高層次、大范圍上的共享和交流;另一方面,各高校都根據自己的需求定義出系統內部的資源描述格式或者使用已有的資源格式,并以不同方式組合,直接導致了現有的精品課程可移植性差,造成教育資源重復建設、開發的局面。
因此,要想在最大程度上利用現有的精品課程網絡資源,必須在共享資源的制作和管理上遵循標準化原則,實現資源復用和協同操作。SCORM標準及相關技術為實現此目標提供了強有力的支持。
2 SCORM規范概述
SCORM(Sharable Content Object Reference Model,可共享內容對象參考模型)是在已有的網絡教育技術標準(IMS,AICC,ARIADNE,IEEE LTSC等)的基礎上建立的具有可訪問性、協作性、持久性和可重用性的特定模型 [1]。通過對學習內容單元的元數據在開放系統進行登記,允許人們通過開放機制對其進行搜索、鏈接、組合、交換,以支持教育資源的有效利用和學習系統自動智能地發現、組建、共享和擴展教育資源。SCORM定義了內容聚合模型CAM(Content Aggregation Model)、運行環境RTE(Run-Time Environment)、序列與導航[2]。
SCORM規范的主要思想是:①將獨立的最小原始媒體內容單元(Raw Media Metadata,如文本,圖形/圖像,聲音,動畫等文件)與相關數據捆綁成數字資源對象(Digital Asset)。②將具有邏輯關系,可形成一個最小獨立邏輯整體的若干數字資源對象組合,并與描述該組合的元數據捆綁成\"可共享內容對象\"(Sharable Content Object,SCO)。③將SCO或由SCO組合成的內容段(Block)組合成內容元數據(Content Metadata)。④根據應用需要將若干“內容段”組合成課程(Course),其中內容段內可嵌套內容段,整個課程及其內容組合通過一個基于XML的內容結構格式(Content Structure Format, CSF)來定義,并與描述該組合的元數據捆綁,形成應用數字對象。⑤ SCORM運行環境在基于學習內容的共享學習對象(SCO)和學習管理系統(LMS)之間提供一種互操作的方法。根據相應的序列與導航,LMS通過Launch啟動網上學習資源。
3 系統設計
3.1 課程設計及制作
1)課程學習對象的制作。
學習對象的制作包含學習內容的制作和學習對象的元數據描述。當前的許多軟件已經具備將課程相關資源制作成學習對象元數據的功能,如Thesis(它支持Microsoft Word,Excel,PowerPoint,Visio,Producer 2003 data and web creation tools including FrontPage,Flash,DreamWeaver)[2]等應用軟件不僅可以用來創建和配置符合SCORM標準的多媒體學習內容,而且此內容可以在任何符合SCORM標準的學習管理系統上運行。對于已有的精品課程資源則必須經過分析、處理、分類、關聯、注釋和包裝等操作,將其轉換成符合SCORM規范的課程資源,并將這些課程資源分別定義成SCO、Assets 等學習對象。這里我們采用從Reload網站(http://www.reload.ac.uk/editor.html)下載的Reload
Editor2004免費軟件,該軟件提供相應的提示輸入的方法,讓使用者可以方便地創建和描述符合SCORM規范的學習對象元數據。
2) 課程學習對象開發。
課程學習對象開發包括交互代碼嵌入和學習對象包裝。交互代碼包括API(JavaScript語言腳本實現),提供學習者交互信息的表單和傳遞JavaScript的函數。是向LMS傳遞信息的一個簡單例子。

圖1 交互代碼嵌入實例
學習對象的包裝主要是為學習對象創建元數據文件、內容清單文件和包裝交換文件。學習者在創建這些學習對象后,從學習對象的元數據中提取必要信息注冊到學習資源注冊系統,而這些學習對象本身則存儲在某個LMS 系統的學習資源庫中。對學習對象的包裝也可以通過ReloadEditor2004軟件來實現。
3) 課程包裝。
課程包裝是把整個網絡課程看作一個學習對象,為其構建元數據文件,內容清單文件和包裝交換文件,課程包裝的操作可以參照上述學習對象包裝,但是在構建內容清單時最好采用子內容清單(submanifest)的方法構建。
4) 課程與LMS集成。
學習管理系統LMS(Learning Management System)提供學習內容傳送、跟蹤、報告、管理學習內容和學生學習進度、學生交互等一整套功能。在SCORM中,LMS可以被看作是一個智能化服務端,由它來決定傳送什么課程資源,何時傳送以及進行學習管理。將精品課程與支持學習對象標準的LMS集成才能更好地體現學習對象的可重用、易獲取、易更新、易管理,適應不同學習者需要以及可跨平臺使用等特性。集成時可以將整個網絡課程的包交換文件直接導入,也可以分學習對象逐個導入,LMS通過解析內容清單文件(imsmanifest.xml)即可生成課程目錄。圖2為課程與LMS集成示意圖。

圖2 課程與LMS集成
3.2 數據庫設計
數據庫采用SQL Server 2003。系統數據庫主要分為三大部分,即基本信息庫、XML數據庫和課程庫。基本信息庫用來存儲課程和用戶的基本信息;XML數據庫是對學習者學習過程進行記錄的數據庫,其中每門課程、課程的每個SCO都有自己的XML文件;課程庫則存儲所有的課程。
3.3 系統結構設計
資源庫系統采用B/S多層模式結構,軟件層采用J2EE平臺及JSP+Servlet+JavaBean 的開發結構,從而保證了系統具有良好的可維護性、可擴展性。為了貫徹系統靈活性的要求,我們將主要的業務邏輯與數據庫操作封裝在JavaBean 中。例如:對資源上載、資源導航、資源檢索、系統管理等功能模塊進行邏輯封裝,為JSP 和Servlet 提供各種方法和屬性調用。系統運行在Windows2003上。系統結構如圖3所示。

圖3 基于J2EE的精品課程網絡資源庫結構圖
4 關鍵技術的實現
4.1 SCO與LMS間接口的技術實現
在對SCO進行Wrapper時,我們建立API-Wrapper.js這樣一個JavaScript文件。在該文件中分別對應上述API Adapter的API函數建立相應的function,示例如下:
Function doLMSInitialize()
{
Var api=getAPIHandle( );
If (api==1)
{
Alert(\"無法完成LMS的API啟動\");
Return \"1\";
}
Var result=api.LMSInitialize(\" \"); //此處調用Adapter和LMS間的通信
If(result.toString()!=\"true\")
{
Var err=ErrorHandler( );
}
Return result.toString( );
}
在建立好相應的APIWrapper.js后,就可以在制作的學習對象中實現對這些function的調用以完成SCO與Adapter間的通信。例如,在可執行學習對象中加入這樣一段JavaScript:
Javascript:
……
Var result=doLMSInitialize( );
If( result !=true)
{……}
然后在學習制作工具中可以直接應用上述JavaScript:
Result :=ReadURL( \"javascript : doLMSInitialize( )\",100)
這樣就初步實現了SCO與APIAdapter間的通信,也為LMS的Launch工作做了初始化,但是對于LMS還是無法使用和顯示,因為APIWrapper.js只是對SCO的一個打包過程,使它符合Data Model,并沒有實現與Server端的LMS進行通信。要實現這一步,需要在Server端建立一個APIAdapter.java來完成Adapter與ServerLMS的通信,實現Data Model SCO的數據傳送[3]。
4.2 學習對象顯示接口的技術實現
APIAdapterApplet.java是一個嚴格按照標準制定的類,通過編寫該類實現SCO在LMS中的通信和共享所需要的符合SCORM規范的API。該Applet在LMS啟動時自動啟動,在該類中實現了全部的API函數,下面以LMSInitialize為例。
Public String LMSInitialize(String param) //該function是SCO調用的第一個API,而且對于一個SCO只能調用一次
{
String result;
Result =cmiBooleanFalse; //初始化為未啟動
String tempParm =String.valueOf (param);
If ((tempParm.equals(\"1\")|| tempParm.equals(\" \"))!=true)
{
This.lmsErrorManager.SetCurrentErrorCode(\"201\");
Return result;
}
If (this.isLMSInitialized==true) //開始接受數據
{ }
Return result;
}
5系統模塊及特點
5.1 系統模塊
系統主要包括3個功能模塊(圖4)

5.2 系統特點
①實用性強。系統基于J2EE分布式技術和應用組件技術,極大地增強了代碼的重用能力,提高了開發效率,減輕了維護量。學習資源以統一的方法描述,以被基于不同平臺,采用不同技術實現的各種LMS 系統識別、共享和重用。
②功能強大。基于學習對象元數據的精品課程網絡教育資源管理系統使得教育資源的管理變得科學,資源的查找也更加便捷。
③操作簡單。只要會電腦和網頁基本操作的人員就能使用本系統。
④可擴展性和跨平臺性。基于J2EE開發的系統可以隨時被迅速地布置到Server上,并與原有的Server協同工作甚至構造成集群,實現自動的負載均衡。同時,系統基于XML文檔規范,具有良好的跨平臺性。
⑤系統在對數據的訪問控制上,嚴格按照不同用戶的不同的權限進行控制,保證數據的一致性、完整性和安全性。
6 結論
建設可共享、可復用,面向對象的課程資源共享和管理平臺是精品課程建設的一個重要的方面。精品課程網絡資源建設只有基于標準化原則,才能避免低水平重復建設,實現提高效率,降低費用,共享優質資源的目標。
參考文獻:
[1]祝智庭,網絡教育技術標準研究 [J]電化教育研究,2001(8)
[2]王佑鎂,多媒體課件標準化的實現與測試[J]教育信息化,2005(11)
[3]吳永春 王軍,基于J2EE的教育資源庫系統設計與實現 [J] 現代教育技術,2005(4)