【IT168 专稿】8月29日,由澳信传媒IT168主办的2009年系统架构师大会在北京举行。在下午的教育行业架构设计专场技术沙龙上,来自北京邮电大学网络教育学院的专家团队以及华东师范大学的专家们一同分享了远程教育平台架构的相关实例。华东师范大学的姜昌华博士的演讲题目是"关于开源协作学习环境Sakai的学习与思考",他首先介绍了Sakai的起源与发展。
Sakai的起源、现状、架构与发展
"系出名门,Sakai是2004年很多名校共同发起的开源课程与教学管理系统(CMS)。这些学校包括我们熟知的斯坦福大学、伯克利大学、麻省理工大学等。"姜博士表示,"其目的就是用来替代各个高校自己独立开发或是购买的商业教学系统。"
据介绍,目前全世界有160多个教育机构在使用Sakai,其应用主要分布在美国和欧洲,国内则几乎没有。此外,除了开源教学系统和社区的推广,Sakai还推出了面向商业公司的定制版本,例如rSmart。
姜博士表示,由于Sakai具有很高的可定制性并且成本很低,因此越来越多的教育机构开始转向该系统。也正是由于其应用越来越广,Sakai基金会成立了专门的核心系统开发小组,使得核心组件与外围插件分离,在允许更开放的定制化之外,保证了系统稳定性。另一方面Sakai 2.x版本仍然在更新,而3.0版本也将于2011年发布,带来革命性的新功能。
"Sakai是一个复杂的轻量级企业Java应用系统。"姜昌华博士认为,"从我个人经验来看,Sakai是我看到过的最复杂的JavaEE系统。"
"首先是严格的分层结构。由于Sakai的组件由各个高校开发,因此严格的分层在权限管理和工具连接上可以保证稳定性。"姜博士介绍,"此外,Sakai具有插件机制,类似目前的SNS社区,用户可以开发很多功能通过相应的统一接口自行嫁接到Sakai中。而Sakai基金会负责维护开发一个核心的插件集合用以保证核心功能的稳定。"
自Sakai 2.6版本以来,Sakai开始拥有Kernal核心概念,其基础性服务被放入核心,以简化定制应用的开发。另一方面,核心层的确立也使得Sakai更加稳定--这个核心层类似于Linux的Kernal。据了解,目前的Sakai 2.6基于Kernal 1.x,而未来的Sakai 3.0将基于新的Kernal 2.0,核心架构全面重写。
Sakai融合多种表示与后台技术 3.0版本将更加激进
接着,姜昌华博士简要介绍了Sakai架构的技术细节,他表示Sakai的复杂性就在于其支持很多表示层技术,如JSF、Velocity、JSP等,而后台技术则支持Spring、Hibernate等。此外,Sakai支持包括MySQL、DB2在内的多种数据库。未来,Sakai会集成众多的社会计算应用,通过内容聚合器复合页面,实现一切皆内容的远景目标--而与之相比Sakai 3.x的变化将相当激进。据姜博士介绍,Sakai 3.0除了内核完全更新以外,还支持用各种不同的语言来开发相关应用--与以往只支持java完全不同,页面也是根据各组件情况即时生成。
华东师范大学与密苏里大学合作进行CANS的开发和应用研究。据介绍,在没有教务系统集成的情况下,他们合作开发了批量的用户导入插件以及集成式的短信发送系统。姜昌华博士表示,CANS是一个活动通知系统的简称,其主要作用在于方便纪录学生的学习活动,可以分析学员的在线学习行为。
姜博士表示,Sakai的优点在于免费开源,并且技术上拥有众多一流大学的参与和支持。另一方面由于有Sakai基金会的支持,其后续开发有保障,开发社区也十分活跃。而缺点则在于,针对Sakai的定制开发入门门槛较高,此外各版本之间的API变化很大,升级非常困难,对教育资源标准的支持也比较弱。
针对以上优缺点,姜昌华博士认为,在国内对Sakai进行推广要做到的首先是界面的定制,包括汉化等。此外,为了能重用现有课件资源,迫切需要一个能支持SCORM标准的功能模块,使Sakai与目前的课程模块相集成。而针对Sakai所主张的自主学习来看,与目前国内的教学理念也有所区别,因此需要根据国情定制开发以一些功能模块。这就需要一支定制开发的队伍和运维技术等支持团队。