基于Sakai的统一身份认证与教务集成应用研究

王辉+吴华+任长林+王学龙


摘要:
利用网络教学平台进行高校教学改革已经成为教育领域的潮流与共识,因此开源Sakai网络教学平台与高校信息系统资源整合逐渐受到研究者的广泛关注。针对资源整合面临的认证分离、教务数据难以复用的问题,提出A&EI(Authentication & Educational Integration)实现方案。该方案以搭建源码Sakai平台为基础,结合数字校园三大平台中的CAS认证技术与共享数据中心,利用Sakai登录管理工具接口实现统一身份认证,开发教务工具接口并使用ODI数据集成实现教务数据共享。实验结果表明,该方案可以有效实现Sakai平台的统一身份认证与教务集成。
关键词:
网络教学;Sakai平台;统一身份认证;教务集成
DOIDOI:10.11907/rjdk.172084
中图分类号:TP319
文献标识码:A文章编号文章编号:1672-7800(2018)001-0172-03
Abstract:The use of network teaching platform for teaching reform has become the trend and consensus in the field of education. The resources integration of open source Sakai network teaching platform and information system has attracted much attention of the researchers. In view of the separation of authentication and the difficulty of reusing educational data, the A&EI (Authentication & Educational Integration) solution is proposed. Based on the Sakai platform, the solution applies the CAS authentication technology and the shared data center in digital campus platform, and implements the uniform identity authentication by using Sakai login interface and the educational data sharing by developing the educational tool interface and using ODI data integration. Experimental results show that the solution can effectively implement the uniform identity authentication and educational integration based on Sakai platform.
Key Words:network teaching; Sakai platform; uniform identity authentication; educational integration
0引言
随着信息与网络技术的发展,越来越多高校尝试采用网络教学与传统教学相结合的模式开展教学改革与创新工作。网络教学作为一种现代教学方式,具有交互性、共享性、开放性与协作性等特点,是有效提升教学质量、促进教学改革的有力推手。网络教学平台分为商业化平台和免费开源平台,目前市场上的商业化产品主要包括BB(Black-Board)、WebCT等,开源教学平台主要有Sakai、Moodle、Dokeos、Claroline、Atutor、OLAT等[1]。Sakai平台是一个使用J2EE架构的具有成长性与开放性的教学平台,其具备严格的分层结构,每层采用不同技术,可以分为表示层、业务逻辑层与数据存取层,这种结构可以有效实现层与层之间的“高内聚,低耦合”。当前国内外众多高校将Sakai作为研究与二次开发的网络教学平台[2]。Sakai平台在高校通常作为课程站点进行访问,提供的功能模块主要有课程大纲、课程内容、课程管理、课程讨论、作业管理、练习测验、成绩发布与查询、资源上传下载、班级管理、课程日程、站点统计等,各功能模块均可使用可视化界面灵活添加或删除[3]。
高校使用Sakai网络教学平台作为研究对象,一般首先需要编译并部署Sakai源代码,然后在此基础上集成学校统一的身份认证服务和教务数据。研究者通过将该平台与当前校园网的认证、教务平台进行资源整合,不仅能够避免教学系统封闭的黑盒现象,而且可以消除不同平台之间数据流动性差的问题。A&EI方案本质上是在Sakai源码网络教学平台基础上,通过定制工具的二次开发满足Sakai平台与高校的统一身份认证和教务集成。该方案结合数字校园的认证平台与共享数据中心,使用CAS认证、Maven web项目构建,并采用ODI数据集成技术,最终实现校园网建设Sakai平台的统一身份认证管理、教务资源共享与整合。Sakai平台下统一身份认证与教务集成框架如图1所示。
1Sakai网络教学平台部署及运行
1.1Sakai平台运行环境部署
Sakai平台使用JAVA作为开发语言,使用Apache Maven进行项目管理,Web服务器使用Tomcat,同时需要稳定的数据库存储数据。Sakai平台可以部署在Linux、Windows、Mac OS操作系统上,针对不同操作系统,预先准备相应的运行环境。以Windows与Sakai 11为例,Sakai平台运行环境需要部署JDK 8、Maven 3.0与Tomcat 8。Sakai11支持的数据库服务器有MySQL 5.1.x、MySQL 5.5.x、Oracle 10g、Oracle 11g,本文数据库以Oracle 11g部署为例进行说明。上述所有工具可以在对应官网下载并安装,平台依赖的运行环境配置如下:①配置JAVA环境变量JAVA_HOME、PATH;②配置Maven环境变量MAVEN_HOME、PATH,配置参数MAVEN_OPTS为-Xms512m-Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=512m,以增加Maven使用的内存量,避免编译Sakai时内存溢出;③配置Tomcat环境变量CATALINA_HOME、PATH,配置%TOMCAT_HOME%/bin/setenv.bat的JAVA_OPTS,以调整JVM内存分配与默认语言等,修改%TOMCAT_HOME%/conf/server.xml的Connector屬性,增加对UTF-8字符的支持,在%TOMCAT_HOME%/conf/catalina.propertie中的common.loader、shared.loader选项分别增加MYM{catalina.home}/common/lib/*.jar、{catalina.base}/shared/lib/*.jar,在%TOMCAT_HOME%/webapps下创建ROOT目录,并在该目录下建立index.html,增加Sakai首页跳转路径;④将Oracle JDBC驱动拷贝至%TOMCAT_HOME%/common/lib目录。
1.2源码编译部署
Sakai平台源码可以通过两种方式获取,一种是在官网直接下载*.zip或者*tar.gz压缩包,另一种是利用分布式版本控制工具Git从代码仓库检出Sakai源码。在Sakai平台sakai.properties中配置各个数据库选项,注意配置username@javax.sql.BaseDataSource、password@javax.sql.BaseDataSource需要与Oracle数据库的用户名密码保持一致,首次运行需将auto.ddl置为true,以自动创建数据表。初次编译部署Sakai时,先在master目录执行命令mvn clean install,然后在顶层Sakai源码目录执行mvn install sakai:deploy-Dmaven.tomcat.home=%TOMCAT_HOME%-Dmaven.test.skip=true,编译并部署Sakai源码。
1.3服务起停与访问
在%TOMCAT_HOME%/bin运行startup.bat启动Sakai服务,运行shutdown.bat停止服务,成功启动服务后,在任意浏览器通过http://localhost:8080访问Sakai[4]。
2统一身份认证
将Sakai平台接入高校统一身份认证服务器,目的是实现Sakai用户的统一身份认证与单点登录功能[5]。在Sakai平台与业务系统间使用CAS接口实现认证是Sakai推荐的一种认证集成方式,使用该认证接口可以适配JAVA、PHP、.NET等多种语言开发的应用程序。将客户端认证接口开发包部署在Sakai服务器上,修改平台登录工具调用的配置文件,然后调整代码在用户登录和退出时,用集成之后的方式重定向到统一身份认证地址。
在Sakai登录工具Pom.xml中增加CAS客户端认证包cas-client-core的依赖关系,统一身份认证通过配置文件sakai.properties修改登录参数:设置top.login=false移除原有登录框,设置container.login=true与loggedOutUrl,使用户通过CAS进行统一身份认证登录与退出。Web-INF目录的web.xml是登录管理工具初始化时执行的配置文件,通过配置监听器、CAS认证过滤器、票据校验过滤器、HttpServletRequest包裹请求过滤器与各个过滤器映射,实现用户统一身份认证与单点登录功能。其中监听器使用Sakai项目的SakaiContextLoaderListener与ToolListener,CAS认证过滤器配置初始化参数casServerLoginUrl与serverName,校验过滤器配置参数casServerUrlPrefix与serverName,HttpServletRequest包裹请求过滤器使用CAS默认的HttpServletRequestWrapperFilter,最后在web.xml文件头配置请求过滤器,将访问请求转发到Sakai容器进行处理。
统一身份认证平台使用LDAP管理账户信息,Sakai平台与统一身份认证平台集成使用容器處理CAS登录与退出请求。sakai-login-tool是Sakai的登录管理工具,ContainerLogin.java与ContainerLogout.java分别是Sakai使用容器登录与退出时的处理文件,通过ServerConfigurationService、Session类获取相关跳转地址,使用UsageSessionService的login与logout方法处理HttpServletRequest的相应请求,并使用AuthenticationManager的authenticate方法对用户进行登录认证,最后针对认证结果,采用HttpServletResponse的sendRedirect方法对访问请求执行地址重定向响应。
3Sakai平台与教务集成应用
3.1Sakai平台教务工具开发
Sakai是采用J2EE框架的基于工具与组件开发的应用平台,使用工具实现表示层的用户交互和界面展示,使用组件实现业务逻辑层与数据存取层的业务处理、逻辑规则并进行数据持久化,Sakai平台负责对工具与组件进行注册并提供公共服务。Sakai工具开发支持表示层技术JSP、JSF与Velocity等,组件开发由组件接口模块、组件功能实现模块与测试模块组成,通过Spirng容器对bean的管理支持Sakai组件的创建与维护。
Sakai平台教务工具开发首先需要定义课程站点创建、课程管理数据访问对象、课程站点管理等Java接口,然后在对应接口中实现新建站点、数据库表查询、站点增删用户等功能,通过业务逻辑、数据访问、数据模型与控制器等接口进行开发,实现各学院师生根据学年、学期建立课程的教务工具。教务工具配置文件主要有Spring格式的配置文件components.xml、工具上下文applicationContext.xml、Web工程的web.xml与教务工具注册文件tools/toolname.xml,其中components.xml用于配置Spring上下文访问组件功能,工具上下文能够自动汇入全局共享Spring上下文中,保证Sakai组件提供的服务在Spring被直接引用,在web.xml中可配置教务工具启动时的加载项目,并在工具注册文件中配置该工具的ID、名称、描述与使用范围等信息。Sakai平台支持用户根据需要定制教务工具,首先使用Maven编译部署教务工具并重启Sakai服务,进入站点管理选择需要集成教务工具的站点,然后点击添加/编辑页面选项选择新页面,填写页面标题,并可选版面设计、是否弹出等项目,最后点击工具选项选择新工具,选中教务集成工具ID即完成该工具的定制。
3.2教务系统数据集成
教务系统数据集成是指Sakai平台教务工具与高校教务系统之间的数据集成,数据集成按照集成方式可分为全量集成与增量集成。全量集成是指数据集成被触发时,所有数据源数据均被同步到目标库中;增量集成是指每次触发数据集成时,只将业务系统变更的数据(如数据新增或修改)集成至目标库中,从而减轻业务系统服务器与数据库服务器的负担。按照技术实现方法,增量集成方式可分为标志位、触发器、差异对比与日志位方式。
通过共享数据中心完成Sakai教务工具與教务系统集成,建立数据库共享用户,重构和开放Sakai教务工具需要的教务系统中的部分数据表或视图权限,设置代理和定时同步任务,使用ODI工具完成数据的推送共享。Sakai平台教务工具数据库中,课程信息对应CM_MEMBER_CONTAINER_T,学生信息对应SAKAI_USER、SAKAI_USER_ID_MAP,学院、学期分别对应CM_MEMBER_CONTAINER_T与CM_ACADEMIC_SESSION_T,站点与用户使用SAKAI_SITE_USER进行关联。
Sakai平台教务集成流程如图2所示,通过数据交换平台ODI技术,教务系统将课程信息表、本科生基本信息表、课程安排表与教师任课信息表等推送到数字校园共享数据中心[6],根据Sakai平台教务工具数据库表结构建立共享数据视图,将该视图推送到Sakai平台教务工具数据库,用于展示Sakai课程或站点教务数据的课程编号、课程名称、学生编号、学生姓名、所在学院、学年学期等信息。
4结语
网络教学逐渐成为高校提升教学质量的重要手段与创新点。本文以Sakai网络教学平台认证、教务资源整合为例,提出A&EI实现方案,该方案包括从开源平台的搭建到使用CAS认证接口实现Sakai统一身份认证,再到开发Sakai平台教务工具,并利用ODI工具进行教务系统数据集成,最终实现了开源Sakai平台的统一身份认证及教务系统相关数据在Sakai平台的展示。
参考文献:
[1]王莉,苏波.基于Sakai平台的混合式教学模式研究与实践[J].大学教育,2016(10):9-11.
[2]王丽萍.基于Sakai系统的物流网络教学资源整合研究[J].物流科技,2017(3):141-143.
[3]蔡向高,刘华泓.基于Sakai的程序设计语言课程教学管理系统[J].中国教育信息化,2015(15):9-11.
[4]何英高,黄晔华.搭建Sakai复旦共享版的Eclipse开发环境[J].科技资讯,2014(9):24-25.
[5]何苗.统一身份认证在开源Sakai教学平台中的实现[J].科技展望,2016(31):292.
[6]王华东,李亚娟.一种云网络学习空间的设计与实现[J].郑州轻工业学院学报:自然科学版,2014,29(4):96-99.
(责任编辑:黄健)
相关文章!
  • 融合正向建模与反求计算的车用

    崔庆佳 周兵 吴晓建 李宁 曾凡沂<br />
    摘 要:针对减振器调试过程中工程师凭借经验调试耗时耗力等局限性,引入反求的思想,开展了

  • 浅谈高校多媒体教育技术的应用

    聂森摘要:在科学技术蓬勃发展的今天,我国教育领域改革之中也逐渐引用了先进技术,如多媒体技术、网络技术等,对于提高教育教学水平有很

  • 卫星天线过顶盲区时机分析

    晁宁+罗晓英+杨新龙<br />
    摘 要: 分析直角坐标框架结构平台和极坐标框架平台结构星载天线在各自盲区状态区域附近的发散问题。通过建