sakai-介绍

一、Sakai简介

  Sakai是由美国印第安纳大学、密西根大学、斯坦福大学和麻省理工学院于2004年发起的一项开放源代码的课程与教学管理系统(CMS)开发计划。

  目的:替代各校自己独自开发的系统或相关商业软件系统。

  The Mellon Foundation 为项目提供初始启动基金。

  designed by higher education, for higher education。

  Sakai 作为开放源码系统发布,许可方式采用the Educational Community License。 160 多个教育机构采用Sakai, Sakai服务的用户数从200 到200,000。用户主要分布在美国和欧洲,在中国正式采用的案例还很少。 重视应用推广,实施了SPP(Sakai合作者计划)和SCA(Sakai商业推广计划)两项推广活动来促进自身的发展。 除了社区版本,还有商业公司定制的Sakai版本,例如rSmart。 越来越多的教育机构基于成本、可定制性等方面的考虑,正从商业CMS系统转向Sakai。 专门成立了平台核心系统开发小组。核心组件与外围扩展组件相分离,便于定制开发

  Sakai2.x版本还将继续开发维护,全新的Sakai3.0正处于开发过程中,预计到2011年发布。

  统一内容存储模型,加强社会计算功能。

  Sakai是一个复杂的轻量级JavaEE应用系统,Sakai具有严格的分层结构,Sakai具有门户系统的功能,支持Plugin机制,所有的工具都可以看作是Sakai的一个Plugin。

  Sakai基金会负责维护一个核心插件集合,其余插件作为Contribution发布

ESERC在Sakai上所作的工作:与密苏里大学合作进行CANS的开发、CANS的应用研究;开发批量用户导入插件。(在没有与教务系统集成情况下的权宜之计);•集成短信发送功能(通过Webservice,需通过wsdl生成代码)。

目前sakai的最新版本是2.7.1

官网:http://sakaiproject.org/

二、Sakai系统架构

   Sakai2.4-2.5体系结构变化不大,构建工具从Maven1.x升级到Maven2.x,Sakai2.6开始引进了Kernel的概念,将基 础性服务放入kernel,简化定制应用的开发。Sakai2.6+基于kernel1.x,Sakai3基于kernel2.x。

  表示层可采用多种View技术,与Tomcat5.5紧密集成,不能在Tomcat6.x上正常运行。

  定制过的Spring实现IoC,Hibernate实现跨数据库,目前只能运行在JDK5,与JDK6有冲突。

  Sakai 各层所用技术:

  表示层:JSF、Velocity、RSF、Ajax(GWT)。

  业务逻辑层:Spring(Sakai的components服务本身即一个修改过的Spring版本)

  数据存取层:Hibernate,泛型Dao。

  实际运营时一般考虑集群、 缓存等方法。

Sakai的发展趋势。集成众多社会计算应用;内容聚合器(Widgets),复合页面;一切 皆内容(Sling,jackrabbit);构建在OSGI之上,功能增减热插拔(Felix);发展趋势Web2.0化;支持多租户(谈论中),E- learning SaaS;Sakai3.x变化相当激进


相关图例见附件:图1


三、Sakai项目结构

下载sakai2.6.2(目前已更新到2.7.1),

网址:http://source.sakaiproject.org/release/2.7.1/

 

项目                          类型             简介

access                   【基础】

alias                      【功能】  别名编辑器

announcement      【工具】  通知

archive                  【工具】  资源及导入

assignment           【工具】  作业

authz                    【功能】  权限、领域(Realms)编辑器

blog                      【工具】  博客

calendar               【工具】  日历

chat                      【工具】  聊天室

citations                【工具】  引用

config                   【基础】  项目配置

content                 【基础】  内容,与资源关系很大

content-review       【基础】  内容预览

courier                  【功能】  信息传递

course-management     【工具】 课程管理

dav                       【基础】  Web-DAV,客户端远程管理文件

emailtemplateservice  【功能】 邮件模板服务

entitybroker         【基础】  实体BEAN代理

gradebook            【工具】  成绩册

help                      【工具】  站点帮助

jobscheduler         【工具】  计划任务

jsf                         【基础】  Java Server Faces控件

kernel-deploy        【基础】  应用服务器内核部署包

linktool                 【工具】  外部程序调用工具

login                    【基础】  登录

mailarchive           【工具】  电子邮件存档

mailtool                【工具】  邮件工具

master                  【基础】  主要配置

memory                 【工具】  内存管理

message               【工具】  答疑室(或聊天室)

metaobj               【工具】  表单

msgcntr               【工具】  讨论区 (或消息中心)

osp                       【工具】  电子档案袋

pack-demo            【基础】  打包DEMO

podcasts             【工具】  播客

polls                     【工具】  调查工具

portal                  【基础】  入口

postem                【工具】  成绩发布

presence             【功能】  查看在线用户

presentation         【功能】  演示 (类似幻灯片)

privacy                  【基础】  用户私有设置

profile                  【功能】  个人资料

providers     

reference            【基础】  CSS,JS,图片等

reports               【工具】  报告

reset-pass           【功能】  重置密码

rights    

roster                 【工具】  花名册

rwiki                   【工具】  wiki

sakai-mock    

sam                     【工具】  练习与测验

samples              【工具】  范例工具

search                 【功能】  搜索

sections               【工具】  班级信息工具

site                      【工具】  网站工具

site-manage           【工具】  网站信息工具

syllabus                【工具】  教学大纲

taggable             【基础】  标签

test-harness         【工具】  实验用例

textarea               【工具】  编辑器

tool                      【工具】  工具

user                     【基础】  用户

usermembership       【工具】  使用者资格工具

velocity                【基础】
 
warehouse            【基础】  仓库

was    

web                       【基础】

webservices           【基础】

 

项目依赖:目前sakai一共有60+的项目,项目之间互相依赖。例如上面【基础】项目,大部分项目都依赖于这些基础项目,因此为了搞清楚项目的依赖关系,采用tomcat单独调试。如何部署sakai,如何进行调试,请见下一章节。

你可能感兴趣的:(spring,应用服务器,Hibernate,JSF,项目管理)