您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 述职报告 > 姜昌华:关于开源协作学习环境Sakai的学习与思考
关于开源协作学习环境Sakai的学习与思考2009年9月1日姜昌华Agenda(一).Sakai起源、现状和发展(二).Sakai系统架构(三).Sakai发展趋势(四).ESERC在Sakai上所作的工作(五).Sakai优缺点分析(六).Sakai在国内应用推广时应做的工作(一).Sakai起源、现状和发展-起源•Sakai是由美国印第安纳大学、密西根大学、斯坦福大学和麻省理工学院于2004年发起的一项开放源代码的课程与教学管理系统(CMS)开发计划。•目的:替代各校自己独自开发的系统或相关商业软件系统。•TheMellonFoundation为项目提供初始启动基金。•designedbyhighereducation,forhighereducation。•Sakai作为开放源码系统发布,许可方式采用theEducationalCommunityLicense。(一).Sakai起源、现状和发展-现状•最新官方发布的稳定版本Sakai2.6•160多个教育机构采用Sakai,Sakai服务的用户数从200到200,000。用户主要分布在美国和欧洲,在中国正式采用的案例还很少。•重视应用推广,实施了SPP(Sakai合作者计划)和SCA(Sakai商业推广计划)两项推广活动来促进自身的发展。•除了社区版本,还有商业公司定制的Sakai版本,例如rSmart。Sakai应用分布示意图:(一).Sakai起源、现状和发展-发展•越来越多的教育机构基于成本、可定制性等方面的考虑,正从商业CMS系统转向Sakai。•专门成立了平台核心系统开发小组。核心组件与外围扩展组件相分离,便于定制开发。•Sakai2.x版本还将继续开发维护,全新的Sakai3.0正处于开发过程中,预计到2011年发布。•统一内容存储模型,加强社会计算功能。(二).Sakai系统架构•Sakai是一个复杂的轻量级JavaEE应用系统•Sakai具有严格的分层结构•Sakai具有门户系统的功能•支持Plugin机制,所有的工具都可以看作是Sakai的一个Plugin•Sakai基金会负责维护一个核心插件集合,其余插件作为Contribution发布AggregatorPresentationToolsServicesClientSystemTheAbstractSakaiEnvironmentFrom:SakaiTechnicalOverview_2007_04_29.ppt(二).Sakai系统架构-插件结构•Sakai2.4-2.5体系结构变化不大,构建工具从Maven1.x升级到Maven2.x•Sakai2.6开始引进了Kernel的概念,将基础性服务放入kernel,简化定制应用的开发。Sakai2.6+基于kernel1.x•Sakai3基于kernel2.xFrom:SakaiTechnicalOverview_2007_04_29.ppt•Tools–Responsibleforpresentation(GUI)–Shouldnotdoanytypeofpersistence–Userfacing•Services/Components–MustprovidedocumentedAPI–Cannotdoanypresentation(notawareofHTMLatall)–MustaccessotherservicesthroughserviceAPIs–Developerfacing•Framework–Providesregistrationfortoolsandservice–Providescommoncapabilitiesandservices–Knowsnothingofdomainobjects–Developer/ServicefacingFramework,ToolsandServicesDatabaseJava1.5Apache-SSL,mod_jk(可选)MySqlTheSakaiEnterpriseTechnologies•表示层可采用多种View技术•与Tomcat5.5紧密集成,不能在Tomcat6.x上正常运行•定制过的Spring实现IoC•Hibernate实现跨数据库•目前只能运行在JDK5,与JDK6有冲突OracleTomcat5.5.xSpringHibernate,JDBCDB2JSP,JSF,Velocity,RSFPresentationAppDeliveryFrom:SakaiandSakaiService.pptSakai插件文件结构•4个主要目录(可分成不同的Eclipse项目)–Api(interfaces)--基于接口编程•Logic-businesslogicanddaoapis•Model-POJOs(value/dataobjects)•Public-ServiceAPI(ifyouhaveone)•Hbm-HibernateHBMfiles(ifusinghibernate)–Impl(implementations)•Dao-dataaccessimplementation•Logic-businesslogicimplementation•Tests-programmatictests(unit/integration)–Pack(componentdefinitions)•springconfigfiles(Sakaicomponents.xml)–Tool(webapp)•src/java-javaclassesusedbyyourtoolonly•src/webapp-xml,jsphtml,othermetafilesSakai中Annotation很少使用一般实现插件的界面功能•表示层:JSF、Velocity、RSF、Ajax(GWT)•业务逻辑层:Spring(Sakai的components服务本身即一个修改过的Spring版本)•数据存取层:Hibernate,泛型Dao。•实际运营时一般考虑集群、缓存等方法。Sakai各层所用技术FileStructureDiagram•无需手工创建,可以采用以下工具自动创建插件框架•SakaiAppBuilder一个Eclipse插件PackageStructureDiagramURL:工具的组件结构图WebappsComponentsSharedLogic-impl(businesslogic)Tool(presentation)Dao-impl(dataaccess)Public-api(service)Logic-api(businesslogic)Dao-api(dataaccess)ModelSakai的ClassloadAPIsuphereComponentsinhereToolsinhereComponent1Component2(三).Sakai发展趋势•集成众多社会计算应用。•内容聚合器(Widgets),复合页面。•一切皆内容(Sling,jackrabbit)•构建在OSGI之上,功能增减热插拔(Felix)•发展趋势Web2.0化•支持多租户(谈论中),E-learningSaaS•Sakai3.x变化相当激进!Sakai2.6.0AbstractToolLayoutToolCode(Java)ToolServicesCommonServices(Kernel)PresentationServicesServiceInterface(APIs)PresentationabstractionWSClientAxisWSEndpointSakai3.0UXWIDGETSSERVICESNEXTGENERATIONSAKAIREFACTORIMPLEMENTREDESIGN(四).ESERC在Sakai上所作的工作•与密苏里大学合作进行CANS的开发、CANS的应用研究。•开发批量用户导入插件。(在没有与教务系统集成情况下的权宜之计)•集成短信发送功能。(通过Webservice,需通过wsdl生成代码)CANS结构图(五).Sakai优缺点分析优点:•免费开源。•众多一流大学参与,功能模块丰富•有基金会支持、后续开发有保障•社区活跃•支持插件结构,便于用户定制系统(五).Sakai优缺点分析缺点:•整合了非常多的开源软件,定制开发入门门槛较高•文档还不够详细•版本之间api变化较大,升级比较困难•对教育资源标准的支持比较弱(六).在国内应用推广时应做的工作•由于中西方审美观不同、中文显示等问题,需要进行界面定制。•为重用现有课件资源,迫切需要一个支持SCORM标准的功能模块,该模块最好能与课程模块相集成。•教学理念和教学方式的转变。(自主式学习or灌输式学习)•根据需要,定制开发一些功能模块。(Sakai适应国情)•培养定制开发队伍、运维技术支持队伍。•定制稳定版、跟踪新技术欢迎交流敬请指导
本文标题:姜昌华:关于开源协作学习环境Sakai的学习与思考
链接地址:https://www.777doc.com/doc-5541917 .html