基于CAS协议的超星尔雅学习平台与高职教务系统融合研究

2016-08-04 17:38李承敬
中国教育信息化·高教职教 2016年5期

李承敬

摘 要:本文针对高职教务系统与超星尔雅通识课学习平台存在交互性不足,数据不能共享,用户体验较差的现状,采用CAS协议实现系统间用户的统一认证和授权,基于Web Services接口技术屏蔽了系统间差异,实现数据共享,并提出了系统间进行数据融合和共享的系统结构图。通过对CAS协议、Web Services接口、系统设计分析、系统实现四个方面的阐述,验证了该系统融合方案可以有效地提高系统的兼容性和可扩展性。

关键词:尔雅通识课;CAS协议;Web Services;教务系统

中图分类号:TP315 文献标志码:B 文章编号:1673-8454(2016)09-0094-03

一、前言

高等职业教育以培养具有创新和实践能力的高素质人才为主要目标,随着顶岗实习、校企合作、工学结合等人才培养模式的不断变革,对专业核心课程、必修课程、通识课程的建设提出了新的要求,尤其是通识课程在强化整体素质教育、拓展和完善学生知识结构、促进个性发展,具有不可替代的作用,但通识课在课程实施过程中,由于受到传统“基础课、专业基础课、专业课”教学模式的影响,普遍存在大班授课、优质师资不足、课程结构不合理、授课时空单一等现状。

超星泛雅网络教学平台是基于MOOC理念,集成平台、资源和服务为一体的网络教学平台。“尔雅通识课”是该网络教学平台之下的通识课程学习平台。我校为进一步缓解通识课在高职教育过程中存在的普遍问题,于2013年引入“尔雅通识课”学习平台中的通识教育课程。

目前对通识课程的管理,都是依托现有的苏文高职教务系统进行统一管理,包括面向学生的选课、平时作业、考试,面向教师的排课、工作量的核算、成绩的录入,面向教务管理的工作量统计,学分统计等,同时教务系统又是数字化校园数据交换平台的重要权威数据发布源,为了满足数字化校园信息化系统松耦合的建设要求,同时兼顾为师生提供友好的用户体验,统一的信息入口和用户访问授权,本文在系统设计过程中,遵循开放性和标准化的原则,基于CAS协议和Web Services接口技术,实现了超星尔雅通识课系统与高职教务系统,在用户统一认证和授权,业务数据共享与交换等方面的融合。下面主要从CAS协议、Web Services接口、系统设计分析、系统实现四个方面进行说明。

二、CAS协议

CAS(Central Authentication Service)是耶鲁大学发起的一个企业级的、开源的项目,为 Web 应用系统提供一种可靠的单点登录解决方法,属于 Web SSO的范畴,支持微软活动目录AD、JAAS、JDBC、LDAP、X.509等多种主流的认证机制。

CAS软件体系结构,采用主流的C/S架构模式,包括CAS服务器端和CAS客户端。CAS服务器端是一个认证中心,提供Ticket票据的生成、校验以及过期票据的销毁等工作,CAS客户端主要部署在业务系统中,通过提供统一的CAS认证接口,实现业务的统一认证整合,目前CAS客户端支持主流的开发语言,包括Java、.Net、PHP、Perl 等。

CAS协议工作流程如图1所示,显示了用户在登录业务系统的过程中,CAS客户端与CAS服务器端的交互过程,完成用户的统一认证。

三、Web Services接口

在教务系统与尔雅通识课学习平台进行数据共享的过程中,为遵循数据接口开放性和标准化的原则,采用可扩展、跨平台的Web Services技术,实现业务数据的交换。Web Services是面向对象的技术架构,主要包括SOAP(Simple Object Access Protocol)、WSDL(Web Services Description Language)、UDDI(Universal Description Discovery and Integration)。SOAP是遵循W3C标准的轻量级通讯协议,WSDL是描述定位Web Services的XML文档,UDDI规定了Web Services如何在网络上相互发现和集成。为了发挥Web Services的松散耦合性、互操作性等特征,一般先根据Web Services提供的接口功能,生成XML描述的WSDL文档,同时在UUDI注册中心进行登记,用户或业务系统根据功能需求在UDDI中搜索功能匹配的WSDL,并生成相应的SOAP请求进行调用,Web Services应用响应流程如图2所示。

四、系统设计分析

尔雅通识课学习平台与高职教务系统从用户认证授权、数据共享、Web Services三个方面进行融合,主要包括统一用户认证和授权模块、数据共享模块、Web Services服务模块三个核心功能模块成,其系统结构如图3所示。

统一用户认证和授权模块,包含学生和教师登录信息的认证,同时根据用户不同的角色进行系统授权。师生用户登录高职教务系统进行认证授权后,可以直接访问超星尔雅通识课学习平台,根据授权角色的不同,学生可以完成通识课程的在线视频观看、学习进度查看、完成单元作业、参与课程的答疑和讨论、完成课程考试等学习业务相关的子功能。教师可以完成课程设置、课程资源管理、课程通知、题库管理、课程作业、课程考试、课程答疑和讨论、以及学习进度、作业、考试、讨论的统计管理等学习平台提供的学习过程管理相关功能子模块。

数据共享模块是尔雅通识课学习平台与高职教务系统进行数据共享融合的关键模块,涉及到教务系统数据发送子模块和数据接收子模块。其中数据发送子模块通过发送学生信息、教师信息、选课信息至尔雅学习平台Web Services服务接口实现教务系统数据与尔雅学习平台数据共享,其中学生信息和教师信息,包括姓名、学号(工号)、角色、密码、学院等关键属性,选课信息包括课程名称、课程代码、选课学号,可选字段学院、专业等属性。数据接受子模块,通过尔雅学习平台提供的Web Services服务接口可批量获取学生在线时长、平时作业、考试成绩等信息,可定期更新高职教务系统中学生课程的成绩、学分等信息,完成学生课程学习的记录,实现系统间信息的共享。

五、系统实现

尔雅通识课学习平台与高职教务系统对接的系统实现,主要包括基于CAS协议实现的统一用户认证和授权,基于Web Services接口技术的系统间的数据共享机制。

统一用户认证和授权模块,考虑到系统的跨平台,采用基于Java的CAS client的版本为cas-client-3.3.3-release.zip,JDK开发版本为JDK 7u60,同时在系统中添加oracle jdbc连接jar包ojdbc14_g.jar,cas-server-support-jdbc-3.4.4.jar。

其中主要的用户认证的过滤器配置如下:

CASFilter

org.jasig.cas.client.authentication.AuthenticationFilter

casServerLoginUrlhttp://ids.js.edu.cn:8080/cas/login

serverNamehttp:// jwgl.js.edu.cn:8080

用户通过统一认证后,可以利用CAS协议获得对应的用户名、角色和院校部门等信息,其主要实现代码如下:

<%AttributePrincipal principal = (AttributePrincipal) request.getUserPrincipal();

String userid = principal.getName();

Map attributes = principal.getAttributes();

String username= attributes.get("username").toString();

String department= attributes.get("department").toString();

String jiaose= attributes.get("jiaose").toString();%>

尔雅通识课学习平台采用Java进行Web Services开发,实现数据共享服务接口功能,其接口地址为http://open.tsk.erya100.com/OpenApi.asmx?wsdl,注册提供了关键的五个接口方法,用户信息导入(UserInfoImport)、选课信息导入(CourseInfoImport)、在线时长(UserOnlineTime)、平时作业(UserWork)、考试成绩(CourseExam)。

UserInfoImport接口包括5个参数,分别为学号(工号)、姓名、密码、角色、学院。可支持excle格式的文件,批量进行用户导入操作

CourseInfoImport接口包括5个参数(CourseID,CourseName,StudentNum,ZhuanYe,Xueyuan),分别为课程代号、课程名称、学号、专业、院系。通过选课信息导入功能,可以实现尔雅学习平台中关联学生用户与选课信息,并记录学生用户的学习过程和行为。

UserOnlineTime接口包括2个参数(StudentNum,[StudentNumList]),可以通过该接口获得一个或者多个学生的在线时长信息,返回值单位为分钟。

UserWork接口包括2个参数(StudentNum,[StudentNumList]),该接口返回的是学生平时作业的平均值。CourseExam接口返回该通识课测试的结果,参数与上述一致。学生通识课课程的总成绩,是通过Web Services服务接口获得该生的在线时长、平时作业和考试成绩三个指标加权获得,其中加权比例为4:2:4。

教务系统调用尔雅学习平台Web Services接口批量导入用户选课信息伪代码如下:

Function booleanCourseInfoImport(List INFOS){

try{

erya= new webservice(“http:// open.tsk.erya100.com /OpenApi.asmx?wsdl”)

Iterator?it= INFOS.Iterator();

While(it.hasNext()){

INFO info=(INFO)it.next();

erya.CourseInfoImport(info.getCourseID,info.getCourseName,info.getStudentNum,info.getZhuanye,info.getXueyuan);

}

return true;

}catch{

return false;

}

六、总结

本文针对高职教务系统与超星尔雅通识课学习平台存在交互性不足,数据不能共享,用户体验较差的现状,采用CAS协议实现系统间用户的统一认证和授权,基于Web Services接口技术屏蔽了系统间差异,实现数据共享,并提出了系统间进行数据融合和共享的系统结构图,通过对CAS协议、Web Services接口、系统结构、系统实现四个方面的阐述,验证了该系统融合方案可以有效提高系统的兼容性和可扩展性。

参考文献:

[1]秦怡,马自卫.基于CAS模式的统一认证与门户管理的研究与实现[J].现代图书情报技术,2008(12):1-7.

[2]赵艳芳.基于CAS的统一认证平台的设计与实现[J].云南大学学报(自然科学版),2013(S2):165-168.

[3]赵熹.基于“超星尔雅通识课程”平台的高职公共选修课程改革探索[J].机械职业教育,2013(2):57-59.

[4]杨涛,刘锦德.Web Services技术综述——一种面向服务的分布式计算模式[J].计算机应用,2004(8):1-4.

[5]饶元,冯博琴.新网络体系结构—Web Services研究综述[J].计算机科学,2004(5):1-4.

[6]尹兆冰,王加阳.Web Service及其关键技术研究综述[J].软件导刊,2010(2):121-123.

[7]许峰,林果园,黄皓.Web Services的访问控制研究综述[J].计算机科学,2005(2):1-4.

[8]张幸芝,徐东东,贾菲.基于响应式Web设计的教务系统移动平台研究与建设[J].软件,2013(6):5-7.

[9]黄勇,汪涛.多层开发模型在教务系统中研究与应用[J].河北农业大学学报,2009(4):108-111.