许园甫
摘要:eFront是一款支持SCORM标准的高效易用的开源学习管理系统,它基于PHP语言开发,拥有漂亮的Ajax图形界面,使用直观并支持模块化扩展技术,具有较好的通用性。文章从eFront的基本架构组成和网络服务的拓扑结构两个方面详细分析了它的体系结构,旨在为更好地使用eFront建立高效通用的网络教学平台奠定基础。
关键词:eFront;学习管理系统;网络教学;架构;服务
中图分类号:G434 文献标识码:A 文章编号:1009-3044(2015)25-0103-02
Analysis of eFront Architecture of Open Source Learning Management System
XU Yuan-fu
(Guilin Medical University Information Center, Guilin 541004, China)
Abstract: eFront is a efficient and easy to use open source learning management system, which supports SCORM standard. It based on PHP code, with nice Ajax GUI, using intuitive and supports modular extension technology, has good versatility. This paper makes a detailed analysis of eFront architecture from the basic structure and topology of network services, designed to make better use of eFront establish a basis for the general E-Learning platform.
Key words: eFront; Learning Management System; E-Learning; Architecture; Service
网络技术的迅速发展带来了教育信息化的不断深入,E-Learning(数字化学习)系统为网络信息化教学提供了一个高效便捷、随时随地学习的开放性平台。在E-Learning 领域,存在着多种开源、免费的学习管理系统,它们的应用领域越来越广,涉及教育教学、人才培训、知识管理等,eFront就是其中一款高效易用的开源学习管理系统。
eFront旨在帮助创建一个具有丰富人机交互功能的网上课程,它是一个利用互联网作为平台传送教学内容,实施网络教学,进行在线交流和学习的信息系统。它拥有漂亮的Ajax图形界面,使用直观,并且支持SCORM标准(数字内容教材制作和开发的通用标准)认证,是一个多语言支持平台,它能够让用户利用其提供的各种工具来创建和管理网络课程。
在国外,eFront的应用已经得到广泛的好评,对它的研究也已经比较透彻,使其功能日趋完善,成为开发网络课程、构建网络教学环境的有力工具。而国内对网络教学环境的研究要比国外晚一些,目前国内应用较多的网络教学开发工具是Moddle平台,对eFront的研究与应用还处在发展阶段,对它的认识还不够深入。为了更好地使用eFront来建立高效通用的网络教学平台,本文将从eFront的基本架构组成和网络服务的拓扑结构两个方面来详细阐述它的体系结构。
1 eFront的系统架构
eFront是采用面向对象方法设计和基于三层架构来构建的,即将整个业务应用划分为:表现层、逻辑层、数据层。三个层次中,表示层位于顶层,用于接收和显示用户输入的数据,为用户提供一种交互式操作的界面;逻辑层处于表示层和数据层中间的关键位置,起到数据交换中承上启下的作用,主要负责业务规则的制定、业务流程的实现等与业务逻辑有关的系统功能;数据层位于底层,其功能主要负责数据库的访问和对数据进行操作。图1所示详细描述了eFront的三层架构。
1) eFront的表示层。表示层在服务器端建立,是基于HTML代码和Javascript脚本代码组成,这些代码被传送至客户端的Web浏览器上执行,如图2所示。表示层使用PHP模板引擎Smartyfen分离逻辑代码和外在内容,它提供了一种易于管理与使用的方法,将原本与HTML代码混杂在一起PHP代码逻辑和前端页面内容设计分离。为了更好地支持Ajax技术,Javascript的基础类库PrototypeJS、与之等价的GUI图形库以及能提供高交互性的可视化组件Scriptaculous程序库被广泛地应用于整个软件系统。此外,表示层还使用了一个轻量级的基于浏览器的所见即所得编辑器TinyMCE来创建用户自定义内容。
2) eFront的逻辑层。逻辑层完全采用PHP代码编写,负责定义服务器端的功能。它通过Ajax查询形式与表示层进行通信。如图3所示,逻辑层由多个不同的互操作组件组成,以eFront系统类为核心,每个系统类代表一个特定的实体,例如一个用户,一门课程或一个文件等,论坛和聊天功能被从核心逻辑中分离出来。逻辑层使用PHP应用扩展库PEAR帮助开发者编写可移植、可重用的代码;此外,还集成了用于生成联机PDF文档的TCPDF库和用于动态创建Flash图表的PHP-OFC库。程序逻辑还允许用户可以根据各自的功能需求扩展自定义模块,并导入eFront系统。
3) eFront的数据层。数据层使用AdoDB库作为中间接口,将所有来自逻辑层的数据存储到数据库中,如图4所示。它可以很容易地将应用扩展到除了MySQL之外的其他数据库系统中。另外,考虑到用户的一些特殊查询要求,数据层还支持LDAP(Lightweight Directory Access Protocol,轻量目录访问协议)数据源。为了实现LDAP数据源的连接,系统支持包括Active Directory活动目录在内的所有主要的LDAP目录,但只限于只读访问。最终,由用户生成的数据内容可以存储在文件系统中的物理文件上。
2 eFront的网络服务拓扑结构
如图5所示的网络拓扑结构描述了一个eFront学习管理系统的服务如何“横向”扩展支持更多的用户和内容。
eFront的这种拓扑结构是基于假设所有的用户都被一个集中的基础架构所支持,包括前端Web服务和后台数据服务两个组成部分。前端Web服务是一个支持网络负载平衡的Web服务器集群体系结构,为了解决安装防火墙后外部网络的访问用户不能访问内部网络服务器的问题,设立了一个介于非安全系统与安全系统之间的专用网络区域DMZ(Demilitarized zone,这里称“隔离区”)。这是一种安全配置,为要保护的内部网络增加一道额外的安全防线。在这个网络区域内可以放置一些必须公开的服务器设备,如Web服务器、FTP服务器、E-Mail服务器和流媒体服务器等。将eFront数字化学习软件系统安装到Web服务器上,在投入运行使用之前,利用E-Learning QC Web服务器进行质量检测,学习者和教师通过互联网或互联网服务商提供的网络云端,利用网络浏览器访问eFront服务。后台数据服务包括数字化学习系统所需的数据库服务器和文件服务器,使用高性能的磁盘阵列存储数据文件,以集群的形式处理数据冗余和文件复制,从而实现数据文件的共享和访问。
用户在使用eFront服务时,由于所有与互联网通信的流量需经过本地局域网的路由器,因此通常采用防火墙技术来保障网络系统的安全,防止未经授权的网络访问。防火墙可以由软件或硬件实现,或者由软、硬件设备组合而成,它还可以限制通过各种网络配置的数据流入流出。在系统防火墙方案中,可以设置两个防火墙,外部防火墙抵挡外部网络的攻击,并管理所有外部网络对DMZ的访问。内部防火墙管理DMZ对于内部网 络的访问,当外部防火墙失效的时候,它还可以起到保护内部网络的功能。
3 结论
通过上述对eFront学习管理系统体系结构的分析可知,eFront几乎可以在任何支持PHP的平台上安装运行,它具有全面的数据库抽象层,几乎支持所有的主流数据库。eFront还能实现跨平台运行,从单纯的PC终端扩充到能支持移动终端,可以集成第三方系统通过它的API并支持模块化扩展技术,因此具有较好的通用性。本文的论述将对进一步研究和使用eFront来构建网络教学平台具有很好的参考价值和意义。
参考文献:
[1] 陈笑怡,王敏娟,陈泽宇,刘刚. 世界知名学习管理系统(LMS)比较分析[C]. 2010 Third International Conference on Education Technology and Training(ETT),2010:192-197.
[2] 肖海鹏,谢铭瑶. 基于eFront的《计算机基础》网络课程的建设研究[J].电脑知识与技术,2011,7(29):7309-7311.
[3] Ozkan B.,"How to effectively use free and open source software in education" In C. Bonk et al. (Eds.),Proceedings of World Conference on E-Learning in Corporate,Government,Healthcare,and Higher Education,pp. 1171-1175. 2008.
[4] eFront Architecture[OL]. http://wiki.efrontlearning.net/.