李承敬
摘 要:本文針對高職教務(wù)系統(tǒng)與超星爾雅通識課學(xué)習(xí)平臺存在交互性不足,數(shù)據(jù)不能共享,用戶體驗較差的現(xiàn)狀,采用CAS協(xié)議實現(xiàn)系統(tǒng)間用戶的統(tǒng)一認(rèn)證和授權(quán),基于Web Services接口技術(shù)屏蔽了系統(tǒng)間差異,實現(xiàn)數(shù)據(jù)共享,并提出了系統(tǒng)間進(jìn)行數(shù)據(jù)融合和共享的系統(tǒng)結(jié)構(gòu)圖。通過對CAS協(xié)議、Web Services接口、系統(tǒng)設(shè)計分析、系統(tǒng)實現(xiàn)四個方面的闡述,驗證了該系統(tǒng)融合方案可以有效地提高系統(tǒng)的兼容性和可擴(kuò)展性。
關(guān)鍵詞:爾雅通識課;CAS協(xié)議;Web Services;教務(wù)系統(tǒng)
中圖分類號:TP315 文獻(xiàn)標(biāo)志碼:B 文章編號:1673-8454(2016)09-0094-03
一、前言
高等職業(yè)教育以培養(yǎng)具有創(chuàng)新和實踐能力的高素質(zhì)人才為主要目標(biāo),隨著頂崗實習(xí)、校企合作、工學(xué)結(jié)合等人才培養(yǎng)模式的不斷變革,對專業(yè)核心課程、必修課程、通識課程的建設(shè)提出了新的要求,尤其是通識課程在強(qiáng)化整體素質(zhì)教育、拓展和完善學(xué)生知識結(jié)構(gòu)、促進(jìn)個性發(fā)展,具有不可替代的作用,但通識課在課程實施過程中,由于受到傳統(tǒng)“基礎(chǔ)課、專業(yè)基礎(chǔ)課、專業(yè)課”教學(xué)模式的影響,普遍存在大班授課、優(yōu)質(zhì)師資不足、課程結(jié)構(gòu)不合理、授課時空單一等現(xiàn)狀。
超星泛雅網(wǎng)絡(luò)教學(xué)平臺是基于MOOC理念,集成平臺、資源和服務(wù)為一體的網(wǎng)絡(luò)教學(xué)平臺?!盃栄磐ㄗR課”是該網(wǎng)絡(luò)教學(xué)平臺之下的通識課程學(xué)習(xí)平臺。我校為進(jìn)一步緩解通識課在高職教育過程中存在的普遍問題,于2013年引入“爾雅通識課”學(xué)習(xí)平臺中的通識教育課程。
目前對通識課程的管理,都是依托現(xiàn)有的蘇文高職教務(wù)系統(tǒng)進(jìn)行統(tǒng)一管理,包括面向?qū)W生的選課、平時作業(yè)、考試,面向教師的排課、工作量的核算、成績的錄入,面向教務(wù)管理的工作量統(tǒng)計,學(xué)分統(tǒng)計等,同時教務(wù)系統(tǒng)又是數(shù)字化校園數(shù)據(jù)交換平臺的重要權(quán)威數(shù)據(jù)發(fā)布源,為了滿足數(shù)字化校園信息化系統(tǒng)松耦合的建設(shè)要求,同時兼顧為師生提供友好的用戶體驗,統(tǒng)一的信息入口和用戶訪問授權(quán),本文在系統(tǒng)設(shè)計過程中,遵循開放性和標(biāo)準(zhǔn)化的原則,基于CAS協(xié)議和Web Services接口技術(shù),實現(xiàn)了超星爾雅通識課系統(tǒng)與高職教務(wù)系統(tǒng),在用戶統(tǒng)一認(rèn)證和授權(quán),業(yè)務(wù)數(shù)據(jù)共享與交換等方面的融合。下面主要從CAS協(xié)議、Web Services接口、系統(tǒng)設(shè)計分析、系統(tǒng)實現(xiàn)四個方面進(jìn)行說明。
二、CAS協(xié)議
CAS(Central Authentication Service)是耶魯大學(xué)發(fā)起的一個企業(yè)級的、開源的項目,為 Web 應(yīng)用系統(tǒng)提供一種可靠的單點登錄解決方法,屬于 Web SSO的范疇,支持微軟活動目錄AD、JAAS、JDBC、LDAP、X.509等多種主流的認(rèn)證機(jī)制。
CAS軟件體系結(jié)構(gòu),采用主流的C/S架構(gòu)模式,包括CAS服務(wù)器端和CAS客戶端。CAS服務(wù)器端是一個認(rèn)證中心,提供Ticket票據(jù)的生成、校驗以及過期票據(jù)的銷毀等工作,CAS客戶端主要部署在業(yè)務(wù)系統(tǒng)中,通過提供統(tǒng)一的CAS認(rèn)證接口,實現(xiàn)業(yè)務(wù)的統(tǒng)一認(rèn)證整合,目前CAS客戶端支持主流的開發(fā)語言,包括Java、.Net、PHP、Perl 等。
CAS協(xié)議工作流程如圖1所示,顯示了用戶在登錄業(yè)務(wù)系統(tǒng)的過程中,CAS客戶端與CAS服務(wù)器端的交互過程,完成用戶的統(tǒng)一認(rèn)證。
三、Web Services接口
在教務(wù)系統(tǒng)與爾雅通識課學(xué)習(xí)平臺進(jìn)行數(shù)據(jù)共享的過程中,為遵循數(shù)據(jù)接口開放性和標(biāo)準(zhǔn)化的原則,采用可擴(kuò)展、跨平臺的Web Services技術(shù),實現(xiàn)業(yè)務(wù)數(shù)據(jù)的交換。Web Services是面向?qū)ο蟮募夹g(shù)架構(gòu),主要包括SOAP(Simple Object Access Protocol)、WSDL(Web Services Description Language)、UDDI(Universal Description Discovery and Integration)。SOAP是遵循W3C標(biāo)準(zhǔn)的輕量級通訊協(xié)議,WSDL是描述定位Web Services的XML文檔,UDDI規(guī)定了Web Services如何在網(wǎng)絡(luò)上相互發(fā)現(xiàn)和集成。為了發(fā)揮Web Services的松散耦合性、互操作性等特征,一般先根據(jù)Web Services提供的接口功能,生成XML描述的WSDL文檔,同時在UUDI注冊中心進(jìn)行登記,用戶或業(yè)務(wù)系統(tǒng)根據(jù)功能需求在UDDI中搜索功能匹配的WSDL,并生成相應(yīng)的SOAP請求進(jìn)行調(diào)用,Web Services應(yīng)用響應(yīng)流程如圖2所示。
四、系統(tǒng)設(shè)計分析
爾雅通識課學(xué)習(xí)平臺與高職教務(wù)系統(tǒng)從用戶認(rèn)證授權(quán)、數(shù)據(jù)共享、Web Services三個方面進(jìn)行融合,主要包括統(tǒng)一用戶認(rèn)證和授權(quán)模塊、數(shù)據(jù)共享模塊、Web Services服務(wù)模塊三個核心功能模塊成,其系統(tǒng)結(jié)構(gòu)如圖3所示。
統(tǒng)一用戶認(rèn)證和授權(quán)模塊,包含學(xué)生和教師登錄信息的認(rèn)證,同時根據(jù)用戶不同的角色進(jìn)行系統(tǒng)授權(quán)。師生用戶登錄高職教務(wù)系統(tǒng)進(jìn)行認(rèn)證授權(quán)后,可以直接訪問超星爾雅通識課學(xué)習(xí)平臺,根據(jù)授權(quán)角色的不同,學(xué)生可以完成通識課程的在線視頻觀看、學(xué)習(xí)進(jìn)度查看、完成單元作業(yè)、參與課程的答疑和討論、完成課程考試等學(xué)習(xí)業(yè)務(wù)相關(guān)的子功能。教師可以完成課程設(shè)置、課程資源管理、課程通知、題庫管理、課程作業(yè)、課程考試、課程答疑和討論、以及學(xué)習(xí)進(jìn)度、作業(yè)、考試、討論的統(tǒng)計管理等學(xué)習(xí)平臺提供的學(xué)習(xí)過程管理相關(guān)功能子模塊。
數(shù)據(jù)共享模塊是爾雅通識課學(xué)習(xí)平臺與高職教務(wù)系統(tǒng)進(jìn)行數(shù)據(jù)共享融合的關(guān)鍵模塊,涉及到教務(wù)系統(tǒng)數(shù)據(jù)發(fā)送子模塊和數(shù)據(jù)接收子模塊。其中數(shù)據(jù)發(fā)送子模塊通過發(fā)送學(xué)生信息、教師信息、選課信息至爾雅學(xué)習(xí)平臺Web Services服務(wù)接口實現(xiàn)教務(wù)系統(tǒng)數(shù)據(jù)與爾雅學(xué)習(xí)平臺數(shù)據(jù)共享,其中學(xué)生信息和教師信息,包括姓名、學(xué)號(工號)、角色、密碼、學(xué)院等關(guān)鍵屬性,選課信息包括課程名稱、課程代碼、選課學(xué)號,可選字段學(xué)院、專業(yè)等屬性。數(shù)據(jù)接受子模塊,通過爾雅學(xué)習(xí)平臺提供的Web Services服務(wù)接口可批量獲取學(xué)生在線時長、平時作業(yè)、考試成績等信息,可定期更新高職教務(wù)系統(tǒng)中學(xué)生課程的成績、學(xué)分等信息,完成學(xué)生課程學(xué)習(xí)的記錄,實現(xiàn)系統(tǒng)間信息的共享。
五、系統(tǒng)實現(xiàn)
爾雅通識課學(xué)習(xí)平臺與高職教務(wù)系統(tǒng)對接的系統(tǒng)實現(xiàn),主要包括基于CAS協(xié)議實現(xiàn)的統(tǒng)一用戶認(rèn)證和授權(quán),基于Web Services接口技術(shù)的系統(tǒng)間的數(shù)據(jù)共享機(jī)制。
統(tǒng)一用戶認(rèn)證和授權(quán)模塊,考慮到系統(tǒng)的跨平臺,采用基于Java的CAS client的版本為cas-client-3.3.3-release.zip,JDK開發(fā)版本為JDK 7u60,同時在系統(tǒng)中添加oracle jdbc連接jar包ojdbc14_g.jar,cas-server-support-jdbc-3.4.4.jar。
其中主要的用戶認(rèn)證的過濾器配置如下:
用戶通過統(tǒng)一認(rèn)證后,可以利用CAS協(xié)議獲得對應(yīng)的用戶名、角色和院校部門等信息,其主要實現(xiàn)代碼如下:
<%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();%>
爾雅通識課學(xué)習(xí)平臺采用Java進(jìn)行Web Services開發(fā),實現(xiàn)數(shù)據(jù)共享服務(wù)接口功能,其接口地址為http://open.tsk.erya100.com/OpenApi.asmx?wsdl,注冊提供了關(guān)鍵的五個接口方法,用戶信息導(dǎo)入(UserInfoImport)、選課信息導(dǎo)入(CourseInfoImport)、在線時長(UserOnlineTime)、平時作業(yè)(UserWork)、考試成績(CourseExam)。
UserInfoImport接口包括5個參數(shù),分別為學(xué)號(工號)、姓名、密碼、角色、學(xué)院??芍С謊xcle格式的文件,批量進(jìn)行用戶導(dǎo)入操作
CourseInfoImport接口包括5個參數(shù)(CourseID,CourseName,StudentNum,ZhuanYe,Xueyuan),分別為課程代號、課程名稱、學(xué)號、專業(yè)、院系。通過選課信息導(dǎo)入功能,可以實現(xiàn)爾雅學(xué)習(xí)平臺中關(guān)聯(lián)學(xué)生用戶與選課信息,并記錄學(xué)生用戶的學(xué)習(xí)過程和行為。
UserOnlineTime接口包括2個參數(shù)(StudentNum,[StudentNumList]),可以通過該接口獲得一個或者多個學(xué)生的在線時長信息,返回值單位為分鐘。
UserWork接口包括2個參數(shù)(StudentNum,[StudentNumList]),該接口返回的是學(xué)生平時作業(yè)的平均值。CourseExam接口返回該通識課測試的結(jié)果,參數(shù)與上述一致。學(xué)生通識課課程的總成績,是通過Web Services服務(wù)接口獲得該生的在線時長、平時作業(yè)和考試成績?nèi)齻€指標(biāo)加權(quán)獲得,其中加權(quán)比例為4:2:4。
教務(wù)系統(tǒng)調(diào)用爾雅學(xué)習(xí)平臺Web Services接口批量導(dǎo)入用戶選課信息偽代碼如下:
Function booleanCourseInfoImport(List
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;
}
六、總結(jié)
本文針對高職教務(wù)系統(tǒng)與超星爾雅通識課學(xué)習(xí)平臺存在交互性不足,數(shù)據(jù)不能共享,用戶體驗較差的現(xiàn)狀,采用CAS協(xié)議實現(xiàn)系統(tǒng)間用戶的統(tǒng)一認(rèn)證和授權(quán),基于Web Services接口技術(shù)屏蔽了系統(tǒng)間差異,實現(xiàn)數(shù)據(jù)共享,并提出了系統(tǒng)間進(jìn)行數(shù)據(jù)融合和共享的系統(tǒng)結(jié)構(gòu)圖,通過對CAS協(xié)議、Web Services接口、系統(tǒng)結(jié)構(gòu)、系統(tǒng)實現(xiàn)四個方面的闡述,驗證了該系統(tǒng)融合方案可以有效提高系統(tǒng)的兼容性和可擴(kuò)展性。
參考文獻(xiàn):
[1]秦怡,馬自衛(wèi).基于CAS模式的統(tǒng)一認(rèn)證與門戶管理的研究與實現(xiàn)[J].現(xiàn)代圖書情報技術(shù),2008(12):1-7.
[2]趙艷芳.基于CAS的統(tǒng)一認(rèn)證平臺的設(shè)計與實現(xiàn)[J].云南大學(xué)學(xué)報(自然科學(xué)版),2013(S2):165-168.
[3]趙熹.基于“超星爾雅通識課程”平臺的高職公共選修課程改革探索[J].機(jī)械職業(yè)教育,2013(2):57-59.
[4]楊濤,劉錦德.Web Services技術(shù)綜述——一種面向服務(wù)的分布式計算模式[J].計算機(jī)應(yīng)用,2004(8):1-4.
[5]饒元,馮博琴.新網(wǎng)絡(luò)體系結(jié)構(gòu)—Web Services研究綜述[J].計算機(jī)科學(xué),2004(5):1-4.
[6]尹兆冰,王加陽.Web Service及其關(guān)鍵技術(shù)研究綜述[J].軟件導(dǎo)刊,2010(2):121-123.
[7]許峰,林果園,黃皓.Web Services的訪問控制研究綜述[J].計算機(jī)科學(xué),2005(2):1-4.
[8]張幸芝,徐東東,賈菲.基于響應(yīng)式Web設(shè)計的教務(wù)系統(tǒng)移動平臺研究與建設(shè)[J].軟件,2013(6):5-7.
[9]黃勇,汪濤.多層開發(fā)模型在教務(wù)系統(tǒng)中研究與應(yīng)用[J].河北農(nóng)業(yè)大學(xué)學(xué)報,2009(4):108-111.