做好系统部署规划提高Moodle课程管理系统应用绩效

2010-10-13 07:37倪玉兴
中国教育信息化 2010年23期
关键词:部署服务器数据库

倪玉兴

(江南大学 田家炳教育科学学院,江苏 无锡214122)

做好系统部署规划提高Moodle课程管理系统应用绩效

倪玉兴

(江南大学 田家炳教育科学学院,江苏 无锡214122)

Moodle自引进国内以来为我国课程信息化进程做出了贡献,但对Moodle系统体系结构认识不到位、系统部署规划不合理等会严重影响其应用绩效。本文在概述Moodle系统体系结构的基础上,论述了Moodle系统部署规划的基本内涵,包括系统总体部署、运行环境和运行过程规划。

Moodle;课程管理系统;体系结构;部署规划

一、Moodle发展概况

随着E-learning理念的不断深入,教育领域对课程管理系统(CMS,Course Management System)的需求量越来越大,可供选择的系统产品平台也越来越多。来自澳大利亚的Moodle软件包自2002年发布1.0版以来,以其全面的功能和优异的性能赢得大量用户的青睐,逐渐成为这个领域最流行的开源网络平台。我国从2005年开始进行Moodle软件的本土化工作并大力推广运用,在我国课程信息化进程中发挥了较好的功效。截至2010年7月,中国大陆在Moodle官方网站(moodle.org)注册的Moodle课程网站已超过300个,全球200多个国家注册的Moodle网站则已超过了5万个,但更多的Moodle网站并没有到官网注册或仅运行在企业、学校的内部网络中。[1]

Moodle可运用在三大领域:学校(含远程教育/网络教育)、社会培训机构和企业人力资源培训部门。从国内学术杂志发表的300多篇Moodle研究文章和大量相关学位论文来看,Moodle的应用及其研究主要集中在正规学校教育领域。上海师范大学黎加厚教授为此曾提出推广Moodle应用的目标口号:“今天每一位教师用PPT设计和展示自己的讲稿,明天每一位教师用Moodle设计和管理自己的课程。”[2]这样的目标虽然略显理想化,且随着可供选择的CMS或LMS等相关软件平台越来越多,这个目标更不可能完全实现,但他给信息化课程设计和管理等指明了前进的方向。当前虽然有越来越多的Moodle网站正在或即将建设,但很多现有Moodle网站却运行在较低绩效水平甚至濒于关闭,造成越来越多的Moodle网站不再可以访问或束之高阁而成为网络垃圾。形成这种局面的原因有很多,既有教育体制、教育信息化环境等宏观方面的因素,也有课程、教师、学生等微观方面的因素,也包括Moodle系统自身缺陷等内在因素。从技术和系统运行角度分析,Moodle用户对系统体系结构认识不到位和系统建设运营管理者对系统部署及运行规划不合理也是造成Moodle应用绩效不能达到理想状态的重要因素。

二、Moodle系统体系结构概述

系统部署规划是指系统部署和运行的全面的长远的发展计划,是在对系统相关的整体性、长期性、基本性问题做出有效考量和设计的基础上,给出系统未来稳定、有效、有序、可持续运行的整体部署方案。做好系统部署规划工作需要详细考察系统部署前、系统运行中及系统持续发展前景等诸方面的因素,还要对系统本身有足够的认识和驾驭能力以及对系统所生存环境的有效控制。因此,在实施Moodle课程管理系统部署规划和运行前,需要认真解读Moodle系统体系结构,掌握系统工作原理和运行模式,认清系统构成要素及各要素之间的相互作用关系,并能有效掌控Moodle系统的运行环境,这样才能做出切实可行的部署行动方案,获得较好的运行效果。

从技术角度看,Moodle是采用PHP语言开发的基于数据库支持的B/S结构Web应用程序,既提供传统Web1.0内容服务,也提供Web2.0交互式个性化应用。Moodle系统以社会建构主义为指导思想、以课程为基本管理对象实现了很多实用的课程管理与教学交互功能,为教师和学生提供一个基于网络通信平台的电子化信息化课程环境。[3]Moodle是Modular Object-Oriented Dynamic Learning Environment的缩写,其完整名称是面向对象的模块化的动态学习环境,这个名称比较清晰地描述了Moodle系统的基本架构特征。完整的Moodle系统是教师、学生、教学内容、教学手段、教学活动等要素构成的网络学习生态环境系统,其提供的教学内容和交互服务采用面向对象的程序设计理念和时下盛行的动态化Web技术来实现,内部结构采用模块化的方式来构建,给用户提供了良好的使用体验和管理模式,并且易于扩展和升级维护。Moodle系统及其运行环境所构成的完整体系结构可以用下图来概要地描述。

从教师和学生角度看,Moodle系统表现为一个具有各种内容和交互服务的Web网站。在这个网站中,每个课程相对独立、自成一体,并共享网站提供的各种功能,可以把每个课程理解为网站根之下的逻辑子网站。每个课程子网站采用一个复杂的课程页面来组织该课程所容纳的一切,每个课程页面均可以自定义该课程所需的功能(表现为版块)和内容(表现为资源)等。另外Moodle系统也为每个用户设置了相对独立的用户逻辑子网站,以实现面向用户的服务功能如消息、博客、报告等。与Sakai等课程管理系统平台不同,Moodle只是从逻辑上把每个课程和用户功能看作是一个个独立的子网站,用这种理解方式来看待Moodle系统的内部结构有利于清晰地实现对课程和用户的管理与使用。

从数据存储和处理角度看,Moodle应用程序采用前台Web页面实现课程数据的输入输出和应用交互,在后台通过PHP脚本引擎实现数据的处理和存储。Moodle系统把大多数数据存放在后台数据库中,并通过规范的数据库接口技术进行交互,而在Moodle系统运行过程中产生的用户上传文件数据、系统缓存数据、会话临时数据等,则是通过标准文件输入输出方法来直接操控磁盘文件系统上Moodle数据目录中的文件。

三、Moodle系统部署规划

1.总体部署规划

(1)用户需求分析

用户需求永远是部署运行Web应用程序的基本出发点和归宿,它决定了系统部署的方式、规模、性能与功能需求、成本等诸方面。在部署Moodle系统之前,首先应确定使用Moodle为教师和学生提供怎样的电子化课程,即对Moodle系统服务模式有一个准确的定位。然后需要认真分析教师和学生对Moodle课程管理系统的功能需求和性能需求,以及对Moodle网站的可访问性、可靠性、安全性等方面的需求,既要考察用户当前的明确需求,还要从长远角度考虑用户可能的潜在需求。最后需要依据相关教育教学理论等认真分析教师和学生在使用基于网络的教学工具过程中应具备的意识、能力、态度和现实条件等。当前有很多Moodle网站部署都没有经过仔细的用户需求分析,属于临时性部署或实验性部署,因此其生命周期可能比较短暂,所能展现的服务绩效也很有限。

(2)部署规模界定

通过用户需求分析和现场调查等,结合系统未来发展趋势,应能清晰地界定Moodle系统的部署规模和能力需求。Moodle系统的部署规模主要由以下几个方面来确定:①系统用户总数和网站并发用户数;②系统承载的课程数量以及各课程的内容数据容量与交互特征;③用户对课程数据访问性能和数据安全性能等方面的需求;④用户和课程的成长性趋势。Moodle是采用模块化的方式构建的Web应用程序,对适应不同的部署规模具有一定的适应性,而Moodle运行所需的操作系统、Web服务器和数据库服务器等支撑运行环境对适应不同部署规模的需求也应具备足够的适应能力。

(3)总体部署模式

根据用户需求和部署规模等可以有效地做出Moodle系统总体部署规划方案。Moodle虽然采用模块化的方式构建,但在部署和运行过程中要求所有模块必须部署在同一个物理机器中,而不能根据功能和性能需求等拆分部署到多个服务器上,由此大幅度降低了Moodle部署的灵活性和适用范围。依据Moodle系统的体系结构特征,可做出以下几种部署模式:①单个服务器的小规模部署:把Moodle系统及其所需的所有支撑运行环境全部部署在单个服务器上,适用于用户和课程数量较少的情景。②多个Moodle服务器和单个独立运行数据库服务器的中规模部署:根据需要在不同的区域或场所部署多个提供前端网站服务的Moodle服务器,各Moodle服务器数据均存放到一个共享的独立运行的后台数据库服务器中,适用于用户较多、课程数量适中且数据访问性能需求不高的情景。③多个Moodle服务器和多个数据库服务器的大规模部署:适用于用户与课程数量较多且数据访问性能需求较高的情景。④多个Moodle服务器和多个数据库服务器集群式的大规模高性能部署:采用集群技术实现各个服务器之间的负载均衡和安全机制,适用于用户与课程数量很多且对数据访问性能与数据安全性能需求较高的情景。Moodle系统自身没有实现集群机制和负载均衡等技术,只能依赖外部运行环境来提供相关支持,由此降低了整个系统的服务性能和部署弹性。对于多服务器部署模式应着重解决的问题是各个服务器之间的服务协作和数据共享,但Moodle系统自身存在不可调和的缺陷,无力提供有效的解决方案。Moodle系统虽然提供了Web Service、SSO等机制可以实现多个Moodle服务器的关联与协作,但这个解决方案还停留在较低水平,因而无法提供可靠的、灵活的多Moodle服务器的整合部署。同样,Moodle系统虽然采用了很多国际标准化技术进行开发并采用源代码开放的发布策略,使它能够与越来越多的其他服务系统进行整合,但这种整合比较松散和牵强。

我们国家在贸易上发展快速,产品多层次化、多样化、高精尖化,在产品升级改造过程当中,应继续增加其产品的附加值,对产品的新加工力度不断加强,实现全线产品的升级改造,将更多的高精尖技术融合到我们的传统产业当中,加大更多的研发投入,尤其是自主知识产权的开发,要掌握更多的核心技术。例如我们国家正大力投入的芯片技术,增加其投入和科技含量,树立自己的品牌,不断加大生产过程中贸易投入产品的比重,同时减少国产投入的比重,来避免人民币汇率波动以及相应的金融工具改变对出口产品价格的影响,升级改造产品结构就是要提升产品的价格竞争力以及科技含量竞争力。

2.运行环境部署规划

(1)网络通信环境规划

Moodle服务器、后台数据库服务器和各种Moodle整合系统的运行都需要TCP/IP通信环境,而TCP/IP能运行在各种物理网络通信平台,由此使得Moodle可被有效部署在各种局域网、广域网和城域网平台。Moodle服务器虽可采用动态IP参数运行,但为了取得稳定可靠的服务性能应为之分配固定IP参数。Moodle后台数据库如果与Moodle运行在同一个机器,则对于IP参数没有要求,当二者不在同一个服务器时,必须为数据库服务器分配静态IP参数。如果采用域名机制来部署Moodle服务器,则必须能通过DNS服务器解析Moodle服务器域名,因此在企业内部网及城域网部署Moodle时应同时部署DNS服务器,在Internet上部署Moodle时必须为之注册有效的DNS域名。后台数据库服务器对域名的需求不是必须的。部署Moodle服务器时应指定访问Moodle网站的地址,可以采用IP地址或DNS域名,在局域网中还可以采用本地计算机名称,但这个地址一旦指定就不能轻易更改且访问时必须采用该地址,否则可能会导致很多超级链接和引用文件失效,因为Moodle内部没有实现各种不同类型地址的自动映射与转换机制。Moodle系统的部分功能需要通过电子邮件来实现,可以使用Internet提供的电子邮件服务,而在企业内部部署Moodle时可一并部署电子邮件服务系统,方便用户使用并提升服务性能,降低Moodle对外部网络的依赖性。

(2)服务器硬件需求规划

Moodle服务器及其后台数据库服务器对硬件的需求随着部署规模的不同而不同,主要表现在CPU、内存、外存和网络接口等几个方面。为取得合适的服务性能,应尽量在专门的专业服务器上部署Moodle系统并适当规划服务器硬件系统的扩展性。如果是独立部署Moodle服务器,则可以采用一定的模拟软件通过系统功能测试来确定具体的硬件需求,Moodle官方也给出了有关硬件资源需求参考信息。如果在部署Moodle系统的服务器上还规划运行其他的网络服务,则必须显著提升服务器的硬件配置,尤其是内存容量。如果部署规模相对较小还可采用托管服务器来运行Moodle系统,此时应根据实际需求和成本预算等选择合适的托管服务器。

(3)服务器软件需求规划

对于Moodle系统本身,应尽量选用较新的成熟稳定的软件版本来实施系统部署,多个协作型服务器共同部署时应尽量选用同一个版本,对于PHP执行引擎的软件版本需求也是同样的要求。应综合考虑多个方面因素尤其是系统管理员的需求等来选用支撑Moodle运行的Web服务器平台软件,如IIS、Apache、Nginx等,在配置和管理得当的前提下,Moodle在这些Web平台上的表现差异并不是很大。在实际生产环境中部署Moodle系统尤其是大中规模部署时,应尽量避免采用XAMPP之类的集成软件包。对于底层操作系统,应与Web平台的选择结合起来考虑,主流的 Windows、Linux、Netware等都是不错的选择,但在大中规模部署时一定要选用服务器版的操作系统。考虑到用户身份验证和用户文件管理等方面的需求,选用和部署操作系统平台时应把相应的功能需求规划进去。如果需要实施Moodle和其他服务系统的整合,在部署Moodle系统时也应把需要的软件和支撑服务等一并规划到位。

(4)数据库系统需求规划

Moodle系统优选的后台数据库平台是MySQL,它在大多数中小规模部署情景中都能很好地满足系统需求且成本低廉,实际部署时也应选用能稳定运行的较高版本。当把数据库系统和Moodle系统或其他服务系统部署在同一个服务器时,须对服务器的硬件配置进行大幅度提升。当企业中已经有部署好的Oracle、SQL Server等大型数据库系统平台时,Moodle也可采用这些数据库系统平台而无需另行部署新的数据库系统。当实施大规模高性能高可靠性的Moodle系统部署时,也建议选用这些成熟稳定的大型数据库平台。

(5)文件存储需求规划

Moodle系统文件按Web服务器部署的需求放置到合适的服务器磁盘位置,它们所占用的空间有限。后台数据库的数据文件应根据数据库部署策略选用合适的存储方式和存储位置,当Moodle和数据库服务器部署在同一个机器上时,应尽量把数据库文件存储到独立的服务器磁盘上。Moodle系统运行过程中所依赖的Moodle数据文件则应特别规划其存储位置,既要考虑文件的读写性能和存储容量成长性,也要考虑文件访问的安全性和可控性。

(6)客户端软件规划

Moodle是一个Web应用程序,所有用户通过浏览器来操作系统提供的功能和服务。Moodle系统能支持各种主流浏览器,只需满足最低版本需求即可。在客户端可能根据需要还要部署相关的应用软件如Office等,以满足课程内容组织、管理与使用等方面的需要。

3.系统运行过程规划

(1)系统功能和管理规划

Moodle是一个完全模块化的应用系统,除核心模块之外,实现系统功能和管理的各个组件都是采用动态加载或卸载的独立模块来实现,如版块、资源、插件、语言包、主题包等。在系统部署过程中应明确装载需要的模块并去除不必要或不需要的模块,一方面给用户提交一个适用的干净系统,另一方可以节省系统资源提高系统安全性能等。在系统服务过程中开启或关闭功能模块必须有明确的需求和有效的节制。

(2)用户管理和安全需求规划

用户是Moodle系统服务价值体现的根本,对系统用户做好必要的规划直接影响到用户使用Moodle系统所产生的效益和安全性。首先必须规划好Moodle系统的用户验证方案,这既涉及用户帐户的来源,也关乎整个系统运行的安全。Moodle系统支持三类用户验证机制,第一种是Moodle内置的验证机制,第二种是通过整合系统实现的验证机制如Mahara等,第三种是通过第三方提供的标准验证机制如POP3、NNTP、RADIUS等。其次必须规划好用户帐户信息的管理机制和用户权限的分配策略,如用户角色的管理等。最后还必须对用户相关的数据做好必要的管理规划工作,如日志、课程评价等。在大中规模部署情景中,应更多地考虑采用成熟安全的用户验证和管理机制来实现Moodle系统,既保护原有网络服务系统的投入,又能有效降低Moodle管理的工作量,但不可否认的是Moodle在这方面依然比较薄弱。

(3)课程规划

课程是Moodle系统实现内容服务和交互应用的基本单位,Moodle呈现的一切功能及其价值都是通过课程来承载的。在Moodle系统层面,课程规划第一步要做的工作就是课程类别的划分,这是Moodle实现课程管理的基本手段,也是帮助用户快速定位课程的基本手段,应根据分类学原理认真规划课程分类的依据和策略。第二步必须做好选课系统及其相应支撑系统的规划工作,这涉及到课程提供者和消费者的利益。第三步做好课程基本信息的规划工作,如课程名称、课程代号等。在课程层面也需要认真做好每个课程的实施规划,如课程功能、课程资源、课程评价等。

(4)数据备份规划

Moodle系统提供了以课程为单元进行打包的功能,并可基于课程包实施课程的再部署,因此可以利用这个功能实现课程数据的备份。作为Moodle系统实施者还须制定基于数据库级别的数据备份策略和基于文件系统的Moodle数据目录备份策略,以确保整个系统运行数据的安全性。Moodle系统目前尚不能提供项目级别或组件级别的数据备份。

(5)系统扩展和整合规划

Moodle系统采用模块化的方式构建,根据应用需要可以随时增加或卸载模块,但这个工作不能随意实施而应纳入整个系统的规划范围,以确保整个系统的一致性和规整性。在实施系统部署前还应对必要的系统整合做出相应规划,而不是在需要的时候任意实施整合,从而可能导致系统运行紊乱甚至崩溃。

(6)系统升级和二次开发规划

Moodle是一个开源网络平台系统,提供了简单易行的升级机制。随着代码贡献者越来越多,系统升级的频度也比较高,为了有效规避系统升级可能带来的负面影响和安全风险,应该为生产环境的Moodle系统制定切实可行的系统升级策略。Moodle绝不是万能的课程管理系统,并不能完全适应各种课程管理的需要。当Moodle不能满足用户局部需要时可以通过二次开发来弥补,因为Moodle向开发者开放了必要的API。[4]同样应该为二次开发的Moodle组件部署做出合理规划,以免扰乱正常的系统运行。

四、结束语

现今可供选用的课程管理系统(CMS)平台越来越多,各有各的特点和功能,但从综合应用效果来看,Moodle依然是“最佳选择”。[5]随着教育信息化进程的不断加速,随着教育管理者、教师、学生等观念意识与技术能力的不断提高,随着Moodle自身的不断发展与网络通信平台的不断完善,人们对Moodle这样的CMS需求也会不断增长。只有在充分理清Moodle系统体系结构的基础上,认真做好各项系统规划和运营工作,发挥教师的创造能力和学生的主观能动性,才能把Moodle系统的教育绩效发挥到极致。

[1]Registered Sites[EB/OL].http://moodle.org/sites/index.php?country=CN,2010.

[2]黎加厚.信息化课程设计——Moodle信息化学习环境的创设[M].上海:华东师范大学出版社,2007.

[3]臧艳美.基于Moodle平台的网络课程设计[D].西安:第四军医大学,2009.

[4]牟波.Moodle网络教学平台的二次开发与应用[D].金华:浙江师范大学,2009.

[5]黎加厚,赵怡.课程管理系统(CMS)及其选择[J].现代教育技术,2008(9).

(编辑:金冉)

G40-057

A

1673-8454(2010)23-0009-04

猜你喜欢
部署服务器数据库
一种基于Kubernetes的Web应用部署与配置系统
晋城:安排部署 统防统治
部署
通信控制服务器(CCS)维护终端的设计与实现
PowerTCP Server Tool
数据库
得形忘意的服务器标准
部署“萨德”意欲何为?
计算机网络安全服务器入侵与防御
数据库