利用Sakai构建网络课程管理系统的研究与实践
2012-06-09储久良
姜 枫,储久良
(1.南京理工大学泰州科技学院 计算机科学与技术系,江苏 泰州 225300;2.南京理工大学泰州科技学院现代教育技术中心,江苏 泰州 225300)
近年来,通过对我国各高校使用的课程管理系统(Course Management System,CMS)调查研究表明,这类系统主要分为两种:购买商业化的CMS或高校自主研发的CMS,商业化的CMS由于是商家开发的通用产品,并不完全符合不同高校的实际教学需求,且费用昂贵;而自主开发的CMS则存在着开发、维护周期较长,实际使用成本较高等问题,因此,目前很多高校的CMS运行情况并不理想。为了解决这一难题,迫切需要一种功能强大、通用性强、使用方便、费用合理的CMS,文中对现有的几大主流课程管理系统进行了分析和对比,并详细介绍了利用Sakai开源项目构建网络课程管理系统的过程。
1 课程管理系统的比较
课程管理系统是指利用计算机软、硬件和网络技术构建的具有组织、跟踪、评估、发送、呈现、管理学习内容与学习活动,促进学习者之间交互等一系列功能的平台。国内外很多学者对著名CMS产品进行了对比研究,文中主要从平台功能和特点等方面对几大著名的CMS平台——Blackboard、Moodle、Claroline、Sakai——进行比较研究。
Blackboard是由美国Blackboard公司开发的一款商业软件[1],旨在为教师和学生提供了一个强大的虚拟学习环境。教师可以在平台上开设课程,学生可以自主选择课程进行学习,师生可以围绕课程进行交流讨论和辅导答疑,形成一个很好的学习环境。Blackboard界面直观,工具简单易用,用户可以根据课程需要进行个性化的定制。由于Blackboard是一款商品软件,需要购买,并按使用人数和年度付费。
Moodle[2]是由澳大利亚的多格玛斯(Martin Dougiamas)博士主持开发的开源网络教学平台。Moodle的主要功能有创建课程页面、发送通知、组织课程资料和课程活动、发布和评判作业、成绩管理等。Moodle功能强大,易于安装、实施和使用,并且完全免费,因此近来发展十分迅速。
Claroline[3]是由比利时鲁汶大学于2000年开发的一个免费的开源学习管理系统,具有在线课程管理、学员管理、课程讨论、小组学习、作业、测试评估、进度状态跟踪等典型学习管理系统的几乎所有功能。Claroline平台简单易用,教师不需要通过培训和帮助就可以通过几个小时的时间来创建自己的课程。
Sakai[4]由美国4所高校于2004年共同发起,是一个基于协同学习思想的开源项目,并很快发展成为一个国际性的社区团体,目的是建立和完善多种适用于教师课堂教学,学生课外自学,科研机构科研协作、管理的创新性的平台。与其他学习管理系统相比,Sakai更加注重学生之间的协作学习和小组学习,更加适合高校的教学和科研的特点。全世界的高校都可以完全免费地使用Sakai开放源代码软件,用以建立虚拟学习和科研环境,辅助和补充课堂教学和提供远程教学管理。
表1给出了上述4种主流课程管理系统从开发技术、运行环境、费用、适用规模直至主要功能的对比。
表1 4种主流课程管理系统对比表Tab.1 Com parison table of four mainstream courses management system
从中不难看出,Blackboard的功能最为强大,唯一的问题是其高昂的购买及维护费用令众多使用者望而却步。而Moodle、Claroline以及Sakai 3种产品都是免费的开源平台,功能大致相当,而Sakai以其先进的技术架构(JavaEE),以及企业级的应用能力(支持Oracle数据库)获得了越来越多高校的亲睐,因此文中主要介绍利用Sakai构建课程管理系统的具体情况。
2 Sakai简介
Sakai的英文全称是SynchronizedArchitectureforKnow-ledge Acquisition Infrastructure,该项目最初是由美国印地安那大学和密西根大学联合倡导[5],不久得到OKI和uPortal协会的支助,此后美国另外两所著名高校斯坦福大学和麻省理工学院也相继加入该项目的研发,最后在得到Mellon和Hewlett基金会的经费资助后,Sakai项目于2004年1月正式启动。
Sakai项目旨在通过面向服务架构 (Service-Oriented Architecture,SOA),融合各高校现有的各种工具和组件模块,建立一套适用于高校和学术团队组织的 “协作与学习环境”[6]。项目自启动以来,随着时间的推移和技术的发展,目前主要包含CLE(Collaboration and Learning,协作与学习环境)和OAE(Open Academic Environment,开放学术环境)两个主打产品,其中CLE主要用于高校的教学、科研及协作;OAE主要用于学术组织内、外部的交流合作。
据统计,目前全世界范围内有超过350家教育机构基于Sakai系统开发了自己的课程管理系统,其中不乏像斯坦福大学、耶鲁大学、剑桥大学等世界一流大学,并且使用的高校和注册用户仍在不断增加中。在我国,Sakai项目的推广和应用工作也已逐步开展,北京邮电大学、复旦大学、上海交通大学密西根学院、华中师范大学等院校在这当中走在了前列。
3 Sakai的实现技术
Sakai项目基于JavaEE,采用MVC设计模式,其开发框架是Spring+Hibernate+JSF,这些框架的利用使得Sakai能有效地将客户层、表示层、业务层和数据层分开,以便更好的支持分布式计算环境,并且具有良好的安全性、可维护性和可扩展性,可支持多种数据库的访问。Sakai系统架构由Sakai框架(SAF)和工具(Tool)两部分组成,其中 SAF提供程序的表示层服务,完成系统与用户之间的UI交互功能,并为Tool提供接口以及服务;Tool是独立于Sakai框架之上的应用程序,用于实现课程管理系统的各种功能,用户可根据使用需求在SAF上添加新的工具或进行二次开发。
和其他一些同为开源、基于LAMP(Linux+Apache+MySQL+PHP)的学习开发管理系统,如 Claroline、Dokeos、Moodle 等相比,Sakai最大的优势在于其独特而先进的系统架构使其可以很好地连接Oracle数据库,从而轻松地实现百万级的用户,因此非常适用于开展参与人数多、规模大的课程学习与科研活动。
4 基于Sakai的课程管理系统构建
Sakai为用户提供了3种不同的版本,包括Demo版本、Binary版本和Source版本。前两种安装版本都不能对程序代码作修改,只有Source版本安装后可以在原有基础上进行本地化及二次开发。
4.1 Sakai的运行环境
Sakai是一个基于Java的系统,可以运行在多种平台上,表2列出了Sakai的运行环境。
4.2 Sakai的安装步骤
由于Demo版本只适用于软件功能评估以及小型应用,Source版本安装过程较为复杂,而Binary版本所提供的功能能够满足课程日常使用需求且安装相对简单,因此本文主要阐述Binary版本的安装步骤。
表2 Sakai运行环境Tab.2 Sakai running environments
1)JDK的安装配置
①安装JDK。推荐使用Oracle公司的Java SE 6(或者称为Java 1.6版本),如果操作系统使用的是Mac OS,其中已经包含了完整的Java SE 6,则无需再行安装。
②检查JDK版本。安装完成之后,在命令行使用命令“java–version”检查JDK版本是否正确。
③设置Java环境变量。在不同操作系统中设置的方式不同,如表3所示。
表3 Java环境变量Tab.3 Java environm ent variables
④优化JVM (Java Virtual Machine,Java虚拟机)。 由于JVM默认的设置不足以让Sakai流畅运行,因此需要对其设置作适当修改。对于Unix/Linux/Mac OS系统,需要修改setenv.sh文件,对于Windows系统,则需要修改setenv.bat文件,具体修改的参数配置如下:
2)Tomcat的安装配置
①安装Tomcat。建议安装Tomcat 5.5.33版本,因为该版本与Sakai 2.8版本兼容性最好。需要说明的是,由于Sakai中使用了JSF(JavaServer Faces)工具,因此安装时要注意在Tomcat的安装路径中不要出现空格字符。
②设置Tomcat环境目录,如表4所示。
3)安装Sakai Binary版本
首先从http://source.sakaiproject.org/release/站点获得sakai-bin-2.8.1.zip(Windows系统)文件或 sakai-bin-2.8.1.tar.gz(Linux/Mac OS系统)文件,解压至$CATALINA_HOME 目录,然后启动Tomcat服务器即可。
表4 Tomcat环境目录Tab.4 Tom cat environm ent directories
4.3 Sakai使用注意事项
1)配置
sakai.properties是整个Sakai系统的核心配置文件,默认存储在$CATALINA_HOME/sakai子目录下。sakai.properties并不是一个xm l文件,而是由一系列键/值配对组合而成的,这些设置可以控制和系统相关的所有配置,下面讲4个常用的主要配置。
①设置上传资源的大小限制,单位是MB。以下配置设置上传文件大小最大为20 MB。
②设置sakai在启动时是否自动生成数据库对象,true为生成,false为不生成。以下配置设置在系统启动时自动生成数据库对象。
③设置数据库类型。
org.hibernate.dialect.HSQLDialect为 HSQLDB,MySQL5Inno DBDialect 为 MySQL,Oracle9idialect 为 Oracle 9i,Oracle10g Dialect为Oracle 10g。以下配置设置连接的数据库类型为Oracle 10g。
hibernate.dialect=org.hibernate.dialect.Oracle10gDialect
④设置文件系统根目录,即资源存储根目录,默认为null,即将文件存储到数据库中。以下配置设置资源存储的目录为D盘根目录下的sakai-date目录。
bodyPath@org.sakaiproject.content.api.ContentHostingService=D:/sakai-date/
2)用户类型
当学生注册一个新用户时,默认的类型是registered,具备了创建站点等权限,而学生是不应具备这些权限的,所以需要新创建一种用户类型,当注册新的用户账户时,默认的用户类型设置为student。
先以管理员的身份登陆系统,在管理员的工作室(administrator workspace)中选择 Realm->new realms。 在各个输入栏中对应的输入各项,如用户类型名为user.template.student,然后再选择各种权限,其中site.add属性决定了用户是否有创建站点的权限。再在user mode中选择sakai.createuser.xml文件, 将<configuration name="create-type"value="registered"/>中的registered改成student,重新启动Tomcat服务器即可。
3)中文乱码问题
尽管Sakai已经针对各国语言进行了本地化,但在使用工具“资源”时,如果文件名含有中文,则无法正确地上传和下载,原因是Sakai、数据库管理系统、tomcat服务器的编码格式不统一,因此必须进行修改。
①修改Tomcat的编码格式。在Tomcat的配置文件server.xml中找到关于默认服务端口的部分,在其中设置编码格式,如:<Connector port="8080"URIEncoding="UTF-8"/>
②修改数据库的编码格式。如使用MySQL数据库,设置方法如下
如使用Oracle数据库,则按如下方法设置
③修改配置文件中连接器的编码格式。在sakai.properties文件中作如下设置。注意如使用MySQL数据库需要修改,而使用Oracle不需要修改。
#vendor@org.sakaiproject.db.api.SqlService=mysql
④对于Windows操作系统
设置Tomcat启动属性中-Dfile.encoding=UTF-8
4)创建课程站点
默认情况下,用户在创建新课程站点(course site)时,由于不能选择学期而无法创建。因此需要在Tomcat启动属性中添加参数-Dsakai.demo=true,这样就可以默认启动 sakai OOTB来配置学期信息,进而可以创建课程。可以通过数据库中cm_academic_session_t表中存储所储的信息查看当前可以用来创建课程站点的学期。
5 Sakai系统应用分析
我院的Sakai课程管理系统于2011年12月开发完成,2012年1月开始在计算机科学与技术系范围内试用,目前注册用户1 887人,已开设5门课程:C语言程序设计、VB程序设计、VFP程序设计、数据库原理及应用、算法分析与设计。
Sakai课程管理系统教学系统最大在线人数438人,论坛发贴总数2 193贴,作业提交总次数8 395次,平均每天登录次数1 637次。图1给出了算法分析与设计这门课程在2012年4月份的使用统计情况。
图1 算法分析与设计课程使用统计情况Fig.1 Usage statistics of algorithms analysis and designing course
以算法分析与设计这门课为例,网络课程设计教学思路以算法分析与设计这门课为例,网络课程设计教学思路是:结合课程特色,以教师课堂讲授为主,充分发挥Sakai协同学习的作用,以项目+任务驱动的方式鼓励学生自主学习和小组协作,鼓励学生进行学术小组讨论,同时加大教师在平台与学生的学习交流,并且在教学实践过程中不断改进Sakai系统中存在的问题,经过实践,从学生提交的评价表和课程学习感受分析,课程整体教学效果较未使用课程管理系统时有了长足的进步。
6 结束语
文中主要介绍了利用Sakai开源项目构建网络教学管理系统的实践步骤,并在学院内进行了试用。该平台对教学过程中提高学生的自我学习能力,以及提高学生通过小组讨论实现协同学习的能力起到了十分积极的作用,不失为一种较新的课程管理系统建设解决方案。当然基于Sakai的课程管理系统也存在一些不足,如系统对各课程适应性、平台教学与实际教育情况的适应性还存在一定的问题,这需要在今后的研究过程中不断加以优化和解决。
[1]王秀荣,刘敏斯,孙良林.四款开源学习管理系统的对比与探究[J].现代教育技术,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学习管理平台交互性的实证分析[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网络教学平台的构建[J].软件导刊,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的特色及应用分析[J].现代教育技术,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协同学习系统在高校的应用[J].杭州师范大学学报:自然科学版,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的开发及应用研究[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.