姜 楓,儲久良
(1.南京理工大學(xué)泰州科技學(xué)院 計算機科學(xué)與技術(shù)系,江蘇 泰州 225300;2.南京理工大學(xué)泰州科技學(xué)院現(xiàn)代教育技術(shù)中心,江蘇 泰州 225300)
近年來,通過對我國各高校使用的課程管理系統(tǒng)(Course Management System,CMS)調(diào)查研究表明,這類系統(tǒng)主要分為兩種:購買商業(yè)化的CMS或高校自主研發(fā)的CMS,商業(yè)化的CMS由于是商家開發(fā)的通用產(chǎn)品,并不完全符合不同高校的實際教學(xué)需求,且費用昂貴;而自主開發(fā)的CMS則存在著開發(fā)、維護周期較長,實際使用成本較高等問題,因此,目前很多高校的CMS運行情況并不理想。為了解決這一難題,迫切需要一種功能強大、通用性強、使用方便、費用合理的CMS,文中對現(xiàn)有的幾大主流課程管理系統(tǒng)進行了分析和對比,并詳細介紹了利用Sakai開源項目構(gòu)建網(wǎng)絡(luò)課程管理系統(tǒng)的過程。
課程管理系統(tǒng)是指利用計算機軟、硬件和網(wǎng)絡(luò)技術(shù)構(gòu)建的具有組織、跟蹤、評估、發(fā)送、呈現(xiàn)、管理學(xué)習(xí)內(nèi)容與學(xué)習(xí)活動,促進學(xué)習(xí)者之間交互等一系列功能的平臺。國內(nèi)外很多學(xué)者對著名CMS產(chǎn)品進行了對比研究,文中主要從平臺功能和特點等方面對幾大著名的CMS平臺——Blackboard、Moodle、Claroline、Sakai——進行比較研究。
Blackboard是由美國Blackboard公司開發(fā)的一款商業(yè)軟件[1],旨在為教師和學(xué)生提供了一個強大的虛擬學(xué)習(xí)環(huán)境。教師可以在平臺上開設(shè)課程,學(xué)生可以自主選擇課程進行學(xué)習(xí),師生可以圍繞課程進行交流討論和輔導(dǎo)答疑,形成一個很好的學(xué)習(xí)環(huán)境。Blackboard界面直觀,工具簡單易用,用戶可以根據(jù)課程需要進行個性化的定制。由于Blackboard是一款商品軟件,需要購買,并按使用人數(shù)和年度付費。
Moodle[2]是由澳大利亞的多格瑪斯(Martin Dougiamas)博士主持開發(fā)的開源網(wǎng)絡(luò)教學(xué)平臺。Moodle的主要功能有創(chuàng)建課程頁面、發(fā)送通知、組織課程資料和課程活動、發(fā)布和評判作業(yè)、成績管理等。Moodle功能強大,易于安裝、實施和使用,并且完全免費,因此近來發(fā)展十分迅速。
Claroline[3]是由比利時魯汶大學(xué)于2000年開發(fā)的一個免費的開源學(xué)習(xí)管理系統(tǒng),具有在線課程管理、學(xué)員管理、課程討論、小組學(xué)習(xí)、作業(yè)、測試評估、進度狀態(tài)跟蹤等典型學(xué)習(xí)管理系統(tǒng)的幾乎所有功能。Claroline平臺簡單易用,教師不需要通過培訓(xùn)和幫助就可以通過幾個小時的時間來創(chuàng)建自己的課程。
Sakai[4]由美國4所高校于2004年共同發(fā)起,是一個基于協(xié)同學(xué)習(xí)思想的開源項目,并很快發(fā)展成為一個國際性的社區(qū)團體,目的是建立和完善多種適用于教師課堂教學(xué),學(xué)生課外自學(xué),科研機構(gòu)科研協(xié)作、管理的創(chuàng)新性的平臺。與其他學(xué)習(xí)管理系統(tǒng)相比,Sakai更加注重學(xué)生之間的協(xié)作學(xué)習(xí)和小組學(xué)習(xí),更加適合高校的教學(xué)和科研的特點。全世界的高校都可以完全免費地使用Sakai開放源代碼軟件,用以建立虛擬學(xué)習(xí)和科研環(huán)境,輔助和補充課堂教學(xué)和提供遠程教學(xué)管理。
表1給出了上述4種主流課程管理系統(tǒng)從開發(fā)技術(shù)、運行環(huán)境、費用、適用規(guī)模直至主要功能的對比。

表1 4種主流課程管理系統(tǒng)對比表Tab.1 Com parison table of four mainstream courses management system
從中不難看出,Blackboard的功能最為強大,唯一的問題是其高昂的購買及維護費用令眾多使用者望而卻步。而Moodle、Claroline以及Sakai 3種產(chǎn)品都是免費的開源平臺,功能大致相當(dāng),而Sakai以其先進的技術(shù)架構(gòu)(JavaEE),以及企業(yè)級的應(yīng)用能力(支持Oracle數(shù)據(jù)庫)獲得了越來越多高校的親睞,因此文中主要介紹利用Sakai構(gòu)建課程管理系統(tǒng)的具體情況。
Sakai的英文全稱是SynchronizedArchitectureforKnow-ledge Acquisition Infrastructure,該項目最初是由美國印地安那大學(xué)和密西根大學(xué)聯(lián)合倡導(dǎo)[5],不久得到OKI和uPortal協(xié)會的支助,此后美國另外兩所著名高校斯坦福大學(xué)和麻省理工學(xué)院也相繼加入該項目的研發(fā),最后在得到Mellon和Hewlett基金會的經(jīng)費資助后,Sakai項目于2004年1月正式啟動。
Sakai項目旨在通過面向服務(wù)架構(gòu) (Service-Oriented Architecture,SOA),融合各高校現(xiàn)有的各種工具和組件模塊,建立一套適用于高校和學(xué)術(shù)團隊組織的 “協(xié)作與學(xué)習(xí)環(huán)境”[6]。項目自啟動以來,隨著時間的推移和技術(shù)的發(fā)展,目前主要包含CLE(Collaboration and Learning,協(xié)作與學(xué)習(xí)環(huán)境)和OAE(Open Academic Environment,開放學(xué)術(shù)環(huán)境)兩個主打產(chǎn)品,其中CLE主要用于高校的教學(xué)、科研及協(xié)作;OAE主要用于學(xué)術(shù)組織內(nèi)、外部的交流合作。
據(jù)統(tǒng)計,目前全世界范圍內(nèi)有超過350家教育機構(gòu)基于Sakai系統(tǒng)開發(fā)了自己的課程管理系統(tǒng),其中不乏像斯坦福大學(xué)、耶魯大學(xué)、劍橋大學(xué)等世界一流大學(xué),并且使用的高校和注冊用戶仍在不斷增加中。在我國,Sakai項目的推廣和應(yīng)用工作也已逐步開展,北京郵電大學(xué)、復(fù)旦大學(xué)、上海交通大學(xué)密西根學(xué)院、華中師范大學(xué)等院校在這當(dāng)中走在了前列。
Sakai項目基于JavaEE,采用MVC設(shè)計模式,其開發(fā)框架是Spring+Hibernate+JSF,這些框架的利用使得Sakai能有效地將客戶層、表示層、業(yè)務(wù)層和數(shù)據(jù)層分開,以便更好的支持分布式計算環(huán)境,并且具有良好的安全性、可維護性和可擴展性,可支持多種數(shù)據(jù)庫的訪問。Sakai系統(tǒng)架構(gòu)由Sakai框架(SAF)和工具(Tool)兩部分組成,其中 SAF提供程序的表示層服務(wù),完成系統(tǒng)與用戶之間的UI交互功能,并為Tool提供接口以及服務(wù);Tool是獨立于Sakai框架之上的應(yīng)用程序,用于實現(xiàn)課程管理系統(tǒng)的各種功能,用戶可根據(jù)使用需求在SAF上添加新的工具或進行二次開發(fā)。
和其他一些同為開源、基于LAMP(Linux+Apache+MySQL+PHP)的學(xué)習(xí)開發(fā)管理系統(tǒng),如 Claroline、Dokeos、Moodle 等相比,Sakai最大的優(yōu)勢在于其獨特而先進的系統(tǒng)架構(gòu)使其可以很好地連接Oracle數(shù)據(jù)庫,從而輕松地實現(xiàn)百萬級的用戶,因此非常適用于開展參與人數(shù)多、規(guī)模大的課程學(xué)習(xí)與科研活動。
Sakai為用戶提供了3種不同的版本,包括Demo版本、Binary版本和Source版本。前兩種安裝版本都不能對程序代碼作修改,只有Source版本安裝后可以在原有基礎(chǔ)上進行本地化及二次開發(fā)。
Sakai是一個基于Java的系統(tǒng),可以運行在多種平臺上,表2列出了Sakai的運行環(huán)境。
由于Demo版本只適用于軟件功能評估以及小型應(yīng)用,Source版本安裝過程較為復(fù)雜,而Binary版本所提供的功能能夠滿足課程日常使用需求且安裝相對簡單,因此本文主要闡述Binary版本的安裝步驟。

表2 Sakai運行環(huán)境Tab.2 Sakai running environments
1)JDK的安裝配置
①安裝JDK。推薦使用Oracle公司的Java SE 6(或者稱為Java 1.6版本),如果操作系統(tǒng)使用的是Mac OS,其中已經(jīng)包含了完整的Java SE 6,則無需再行安裝。
②檢查JDK版本。安裝完成之后,在命令行使用命令“java–version”檢查JDK版本是否正確。
③設(shè)置Java環(huán)境變量。在不同操作系統(tǒng)中設(shè)置的方式不同,如表3所示。

表3 Java環(huán)境變量Tab.3 Java environm ent variables
④優(yōu)化JVM (Java Virtual Machine,Java虛擬機)。 由于JVM默認的設(shè)置不足以讓Sakai流暢運行,因此需要對其設(shè)置作適當(dāng)修改。對于Unix/Linux/Mac OS系統(tǒng),需要修改setenv.sh文件,對于Windows系統(tǒng),則需要修改setenv.bat文件,具體修改的參數(shù)配置如下:

2)Tomcat的安裝配置
①安裝Tomcat。建議安裝Tomcat 5.5.33版本,因為該版本與Sakai 2.8版本兼容性最好。需要說明的是,由于Sakai中使用了JSF(JavaServer Faces)工具,因此安裝時要注意在Tomcat的安裝路徑中不要出現(xiàn)空格字符。
②設(shè)置Tomcat環(huán)境目錄,如表4所示。
3)安裝Sakai Binary版本
首先從http://source.sakaiproject.org/release/站點獲得sakai-bin-2.8.1.zip(Windows系統(tǒng))文件或 sakai-bin-2.8.1.tar.gz(Linux/Mac OS系統(tǒng))文件,解壓至$CATALINA_HOME 目錄,然后啟動Tomcat服務(wù)器即可。

表4 Tomcat環(huán)境目錄Tab.4 Tom cat environm ent directories
1)配置
sakai.properties是整個Sakai系統(tǒng)的核心配置文件,默認存儲在$CATALINA_HOME/sakai子目錄下。sakai.properties并不是一個xm l文件,而是由一系列鍵/值配對組合而成的,這些設(shè)置可以控制和系統(tǒng)相關(guān)的所有配置,下面講4個常用的主要配置。
①設(shè)置上傳資源的大小限制,單位是MB。以下配置設(shè)置上傳文件大小最大為20 MB。

②設(shè)置sakai在啟動時是否自動生成數(shù)據(jù)庫對象,true為生成,false為不生成。以下配置設(shè)置在系統(tǒng)啟動時自動生成數(shù)據(jù)庫對象。

③設(shè)置數(shù)據(jù)庫類型。
org.hibernate.dialect.HSQLDialect為 HSQLDB,MySQL5Inno DBDialect 為 MySQL,Oracle9idialect 為 Oracle 9i,Oracle10g Dialect為Oracle 10g。以下配置設(shè)置連接的數(shù)據(jù)庫類型為Oracle 10g。
hibernate.dialect=org.hibernate.dialect.Oracle10gDialect
④設(shè)置文件系統(tǒng)根目錄,即資源存儲根目錄,默認為null,即將文件存儲到數(shù)據(jù)庫中。以下配置設(shè)置資源存儲的目錄為D盤根目錄下的sakai-date目錄。
bodyPath@org.sakaiproject.content.api.ContentHostingService=D:/sakai-date/
2)用戶類型
當(dāng)學(xué)生注冊一個新用戶時,默認的類型是registered,具備了創(chuàng)建站點等權(quán)限,而學(xué)生是不應(yīng)具備這些權(quán)限的,所以需要新創(chuàng)建一種用戶類型,當(dāng)注冊新的用戶賬戶時,默認的用戶類型設(shè)置為student。
先以管理員的身份登陸系統(tǒng),在管理員的工作室(administrator workspace)中選擇 Realm->new realms。 在各個輸入欄中對應(yīng)的輸入各項,如用戶類型名為user.template.student,然后再選擇各種權(quán)限,其中site.add屬性決定了用戶是否有創(chuàng)建站點的權(quán)限。再在user mode中選擇sakai.createuser.xml文件, 將<configuration name="create-type"value="registered"/>中的registered改成student,重新啟動Tomcat服務(wù)器即可。
3)中文亂碼問題
盡管Sakai已經(jīng)針對各國語言進行了本地化,但在使用工具“資源”時,如果文件名含有中文,則無法正確地上傳和下載,原因是Sakai、數(shù)據(jù)庫管理系統(tǒng)、tomcat服務(wù)器的編碼格式不統(tǒng)一,因此必須進行修改。
①修改Tomcat的編碼格式。在Tomcat的配置文件server.xml中找到關(guān)于默認服務(wù)端口的部分,在其中設(shè)置編碼格式,如:<Connector port="8080"URIEncoding="UTF-8"/>
②修改數(shù)據(jù)庫的編碼格式。如使用MySQL數(shù)據(jù)庫,設(shè)置方法如下

如使用Oracle數(shù)據(jù)庫,則按如下方法設(shè)置

③修改配置文件中連接器的編碼格式。在sakai.properties文件中作如下設(shè)置。注意如使用MySQL數(shù)據(jù)庫需要修改,而使用Oracle不需要修改。
#vendor@org.sakaiproject.db.api.SqlService=mysql

④對于Windows操作系統(tǒng)
設(shè)置Tomcat啟動屬性中-Dfile.encoding=UTF-8
4)創(chuàng)建課程站點
默認情況下,用戶在創(chuàng)建新課程站點(course site)時,由于不能選擇學(xué)期而無法創(chuàng)建。因此需要在Tomcat啟動屬性中添加參數(shù)-Dsakai.demo=true,這樣就可以默認啟動 sakai OOTB來配置學(xué)期信息,進而可以創(chuàng)建課程。可以通過數(shù)據(jù)庫中cm_academic_session_t表中存儲所儲的信息查看當(dāng)前可以用來創(chuàng)建課程站點的學(xué)期。
我院的Sakai課程管理系統(tǒng)于2011年12月開發(fā)完成,2012年1月開始在計算機科學(xué)與技術(shù)系范圍內(nèi)試用,目前注冊用戶1 887人,已開設(shè)5門課程:C語言程序設(shè)計、VB程序設(shè)計、VFP程序設(shè)計、數(shù)據(jù)庫原理及應(yīng)用、算法分析與設(shè)計。
Sakai課程管理系統(tǒng)教學(xué)系統(tǒng)最大在線人數(shù)438人,論壇發(fā)貼總數(shù)2 193貼,作業(yè)提交總次數(shù)8 395次,平均每天登錄次數(shù)1 637次。圖1給出了算法分析與設(shè)計這門課程在2012年4月份的使用統(tǒng)計情況。

圖1 算法分析與設(shè)計課程使用統(tǒng)計情況Fig.1 Usage statistics of algorithms analysis and designing course
以算法分析與設(shè)計這門課為例,網(wǎng)絡(luò)課程設(shè)計教學(xué)思路以算法分析與設(shè)計這門課為例,網(wǎng)絡(luò)課程設(shè)計教學(xué)思路是:結(jié)合課程特色,以教師課堂講授為主,充分發(fā)揮Sakai協(xié)同學(xué)習(xí)的作用,以項目+任務(wù)驅(qū)動的方式鼓勵學(xué)生自主學(xué)習(xí)和小組協(xié)作,鼓勵學(xué)生進行學(xué)術(shù)小組討論,同時加大教師在平臺與學(xué)生的學(xué)習(xí)交流,并且在教學(xué)實踐過程中不斷改進Sakai系統(tǒng)中存在的問題,經(jīng)過實踐,從學(xué)生提交的評價表和課程學(xué)習(xí)感受分析,課程整體教學(xué)效果較未使用課程管理系統(tǒng)時有了長足的進步。
文中主要介紹了利用Sakai開源項目構(gòu)建網(wǎng)絡(luò)教學(xué)管理系統(tǒng)的實踐步驟,并在學(xué)院內(nèi)進行了試用。該平臺對教學(xué)過程中提高學(xué)生的自我學(xué)習(xí)能力,以及提高學(xué)生通過小組討論實現(xiàn)協(xié)同學(xué)習(xí)的能力起到了十分積極的作用,不失為一種較新的課程管理系統(tǒng)建設(shè)解決方案。當(dāng)然基于Sakai的課程管理系統(tǒng)也存在一些不足,如系統(tǒng)對各課程適應(yīng)性、平臺教學(xué)與實際教育情況的適應(yīng)性還存在一定的問題,這需要在今后的研究過程中不斷加以優(yōu)化和解決。
[1]王秀榮,劉敏斯,孫良林.四款開源學(xué)習(xí)管理系統(tǒng)的對比與探究[J].現(xiàn)代教育技術(shù),2010,20(7):102-106.WANG Xiu-rong,LIU Min-si,SUN Liang-Lin.The comparative study of four learning management systems[J].Modern Educational Technology,2010,20(7):102-106.
[2]秦健,杜曉輝,馬紅亮.Moodle學(xué)習(xí)管理平臺交互性的實證分析[J].中國電化教育,2011(2):86-90.QIN Jian,DU Xiao-hui,MA Hong-liang.An interactive empirical analysis of moodle learning management platform[J].China Educational Technology,2011(2):86-90.
[3]李天華,鄭林曉.基于Claroline網(wǎng)絡(luò)教學(xué)平臺的構(gòu)建[J].軟件導(dǎo)刊,2012,11(3):125-127.LI Tian-hua,ZHENG Lin-xiao.The construction of network teaching platform based on claroline[J].Software Guide,2012,11(3):125-127.
[4]江麗君,謝新就,騰艷楊.開源Sakai的特色及應(yīng)用分析[J].現(xiàn)代教育技術(shù),2011,21(10):10-13.JIANG Li-jun,XIE Xin-jiu,TENG Yan-yang.The analysis on the features and application of Sakai[J].Modern Educational Technology,2011,21(10):10-13.
[5]陸正球,何廣軍.Sakai協(xié)同學(xué)習(xí)系統(tǒng)在高校的應(yīng)用[J].杭州師范大學(xué)學(xué)報:自然科學(xué)版,2009,8(6):476-480.LU Zheng-qiu,HE Guang-jun.The application of Sakai cooperative learning system in universities[J].Journal of Hangzhou Normal University:Natural Science Edition, 2009,8(6):476-480.
[6]胡敏,劉清堂,李浩,等.開源軟件Sakai的開發(fā)及應(yīng)用研究[J].中國教育信息化,2010(21):70-73.HU Min,LIU Qing-tang,LI Hao,et al.Development and app-lication research of open source software Sakai[J].China Education Info,2010(21):70-73.