您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 创业/孵化 > 使用Sakai构建开放式教学平台(完整版)
使用Sakai构建开放式教学平台北京邮电大学网络教育学院李江涛lijt@bupt.edu.cnBlog:主要内容1.Sakai简介2.Sakai的开放性3.Sakai的架构4.使用Sakai构建开放式教学平台5.构建高可用Sakai6.Sakai使用经验与总结7.Sakai的发展方向Sakai介绍•Sakai是由美国印第安纳大学、密西根大学、斯坦福大学、麻省理工学院和伯克利大学于2004年发起的一项开放源代码的课程管理系统(CMS)开发计划。•Sakai项目的目标是,“构建出一套通用的课程管理系统来替代当前各高校正在使用的商业课程管理系统,这些学校都一致公认协作研究和教学应用是一样重要的,所以需要开发出一个协作和学习环境去满足不同种类学校的应用,Sakai协作和学习环境(CLE)是一个支持教学、学习和学术协作的灵活的、企业级的应用。它也是一个既支持全部在线又支持部分在线的学习环境”。•教师授课会根据课程和学生的特点使用各种各样不同的教学方法,Sakai满足了教师们的需要,使用过Sakai的教师和学生们都认为Sakai具有很高的可定制的特性。Sakai介绍-开发维护角度•Sakai是一个在教育团体许可证下的免费开源项目。•在全世界有超过160个教育单位正式采用Sakai作为自己的教学系统,支持的用户数从200到200000,这些应用经验表明,Sakai是一个稳定的可以支持大规模应用的企业级应用。•Sakai的系统框架是标准组件化的,非常有利于系统的扩展,除了可以使用Sakai提供的教学工具外,还可以按照Sakai的标准很方便的开发自己需要的教学工具,并将其集成到Sakai上。主要内容1.Sakai简介2.Sakai的开放性3.Sakai的架构4.使用Sakai构建开放式教学平台5.构建高可用Sakai6.Sakai使用经验与总结7.Sakai的发展方向Sakai源码的开放性•开放源码,授权协议:EducationalCommunityLicenseversion2.0(“ECL”),和Apache2.0license基本一致•完全免费Sakai使用技术的开放性•Linux(Windows、Mac)•Tomcat+Apache•Mysql/Oracle•Hibernate•Spring•JSF/RSF/JSP/Velocity/Struts1/GWTSakaiAPI的开放性1.开放WebService2.支持外部LearningManagementSystem(LMS)/StudentInformationSystem(SIS)3.支持LDAPSakai开发模式的开放性1.由Sakai基金会主导,投票决定Sakai发展方向。Sakai基金会是一个类似JCP的组织2.社区和学校可根据自己的需要再开发新工具,Melete、Jforum就是这样产生的主要内容1.Sakai简介2.Sakai的开放性3.Sakai的架构4.使用Sakai构建开放式教学平台5.构建高可用Sakai6.Sakai使用经验与总结7.Sakai的发展方向Sakai的表现(站点和工具)站点(Site),Sakai是一个CMS(课程管理系统),一门课程对应一个站点,用户、角色、权限都和站点相关联;站点通过Portal呈现,一个站点页面就是一个Portal页面工具(Tool),资源、通知这些都是工具,一个站点可以选用多个工具;每个工具提供一个或者几个PortletSakai界面三层框架-表示层◇用户交互和外观层◇用户界面(GUI)或者是基于浏览器客户端(clientview)◇对业务层和持久层透明3-tierarchitecture表示层Presentation业务层BusinessLogic持久层DataAccess三层框架-业务层◇包含商业信息\数据处理的逻辑规则◇也叫中间层◇对表示层和持久层透明3-tierarchitecture表示层Presentation业务层BusinessLogic持久层DataAccess三层框架-持久层◇对数据持久化进行物理存储◇对数据库或者文件系统的访问进行管理◇对表示层和业务层保持透明3-tierarchitecture表示层Presentation业务层BusinessLogic持久层DataAccess层切割关键要素◇层保持自身独立性,并减少对其它层的依赖◇不相邻的层禁止直接通讯3-tierarchitecture表示层Presentation业务层BusinessLogic持久层DataAccessSakai源代码文件目录4个主要文件目录●函数接口目录Api(interfaces)●业务逻辑Logic-businesslogicanddaoapis●数据模型Model-POJOs(value/dataobjects)●公共服务Public-ServiceAPI(ifyouhaveone)●数据持久化配置Hbm-HibernateHBMfiles●函数接口实现目录Impl(implementations)●数据访问Dao-dataaccessimplementation●业务逻辑Logic-businesslogicimplementation●组件信息包目录Pack(componentdefinitions)●Spring配置文件(Sakaicomponents.xml)●工具目录Tool(webapp)●Java源代码src/java-javaclassesusedbyyourtoolonly●网络应用相关文件src/webapp-xml,jsp,html,othermetafilesSakai结构图网络应用Webapps组件Components共享模块Shared商业逻辑实现Logic-impl(businesslogic)工具集Tool(presentation)数据访问实现Dao-impl(dataaccess)公共服务接口Public-api(service)逻辑接口Logic-api(businesslogic)数据访问接口Dao-api(dataaccess)数据模型接口ModelTomcat目录Sakai类加载机制Sakai组件非常类似于网络应用(webapps)中的Servlets–都使用URLClassLoader加载类–父节点可以共享不同点–组件只有声明文件components.xml(Springfile),不包含web文件web.xml–组件只负责响应函数调用,对Servlet调用不支持Component1Component2APIsuphereToolsinhere工具和组件Sakai是轻量级的J2EE(Servlet)容器(container)Sakai工具(tool)是面向用户的界面组成元素,本质上也是ServletSakai组件(component)是SakaiAPI的实现,也是一组SpringBeans的集合平台,工具和服务工具Tools(web)不能直接访问数据持久层(persistence)主要用于实现客户端交互界面presentation(GUI)服务Services/Components(API/Impl)提供文档化的函数接口MustprovidedocumentedAPI不包括表现层功能presentation(notawareofHTMLatall)可以通过接口函数直接访问其它服务,数据模型除外(notdatamodels)平台Framework(Tomcat)提供工具和服务的注册toolsandservice提供公共服务commoncapabilities对数据层保持透明domainobjectsSakai组件管理借用Spring容器对bean管理的能力来创建和维护Sakai组件,包括对组件生命周期管理对组件注册组件是对Sakai服务接口函数的具体实现主要内容1.Sakai简介2.Sakai的开放性3.Sakai的架构4.使用Sakai构建开放式教学平台5.构建高可用Sakai6.Sakai使用经验与总结7.Sakai的发展方向开课模式的选定1.课程站点,学期制,需要外部LearningManagementSystem(LMS)/StudentInformationSystem(SIS)2.项目站点,无固定时间段要求和教务系统的对接•使用Webservice同步用户等信息•Rest风格URL,便于教务系统链接和管理,例如:工具的选用•Sakai核心工具,包括课程大纲(Syllabus)、日程表(Schedule)、课程通知(Announcements)、资源(Resources)、、聊天室工具(Chat)、站点信息(SiteInfo)、术语表(Glossary)、花名册(SiteRoster)、投递箱(DropBox)等一系列工具•第三方工具,包括课程内容编辑工具(MeleteLessonBuilder)、讨论与个人消息(Jforum)、站点统计(SiteStas)汉化(中国化)Sakai本身带有部分中文资源信息,但不完整,部分翻译不符合国人习惯汉化工作:•彻底汉化•修正习惯用语•汉化帮助修正Bug•中文乱码错误•日期格式等造成的错误•固有的bug(由于国内外使用情形不一样,有些bugSakai社区并未发现)功能定制、改进•定制外观(UI设计)•Sakai部分工具并不太符合国内需求,需要进行少量二次开发,例如“MeleteLessonBuilder”等工具开发新工具(移植已有教学工具)•实时授课(答疑)•集成已有教学工具,例如虚拟实验等已有工具主要内容1.Sakai简介2.Sakai的开放性3.Sakai的架构4.使用Sakai构建开放式教学平台5.构建高可用Sakai6.Sakai使用经验与总结7.Sakai的发展方向Web负载均衡•LVS+keepalived/Piranha/其它高可用LVS方案•apache+tomcat高可用存储•OpenAFS•NAS•磁盘阵列+NFS双机•磁盘阵列+GFS磁盘阵列使用双光纤交换机连接,使用dm-multipath或mpxio多路径软件保证存储路径的冗余高可用数据库•OracleRAC•MysqlCluster、MysqlProxy+主从复制/DRBD高可用网络环境•双份网络交换机•接入交换机使用STP协议•Linux操作系统使用bonding、solaris使用ipmp保证网络的高可用性WEBLVSSWSWSWSWLVSWEBWEBDBFileDBFileWEB主要内容1.Sakai简介2.Sakai的开放性3.Sakai的架构4.使用Sakai构建开放式教学平台5.构建高可用Sakai6.Sakai使用经验与总结7.Sakai的发展方向Sakai优点•大量应用实例,稳定、性能可靠•当前已有大量的核心工具以及第三方工具供选用•免费•有一个巨大的开发社区,大量的开发者正在开发或者将要开发出新的工具•完全开源,API开放,组件化,便于二次开发Sakai的不足之处•开发组织比较分散,稍显凌乱•工具众多,系统较为庞大,掌握比较困难•框架选定的某些技术不太理想,例如JSF(Sakai基金会正在探讨换用新的表示层框架)•完全的西方化,和国内需求有些差异应用展示-CDC迈向无烟中国培训平台1应用展示-CDC迈向无烟中国培训平台2应用展示-北邮网院教学系统旧版本1应用展示-北邮网院教学系统旧版本2应用展示-北邮网院教学系统1应用展示-北邮网院教学系统2应用展示-北邮网院教学系统3应用展示-北邮网院教学系统4主要内容1.Sakai简介2.Sakai的开放性3.Sakai的架构4.使用Sakai构建开放式教学平台5.构建高可用Sakai6.Sakai使用经验与总结7.Sakai的发展方向Sakai的发展方向•Kernel2(
本文标题:使用Sakai构建开放式教学平台(完整版)
链接地址:https://www.777doc.com/doc-4846431 .html