唐成務(wù), 陳彥萍, 朱琳萍
(西安郵電大學(xué), 陜西 西安 710121)
?
基于SOA的“慕課”平臺學(xué)習(xí)資源整合
唐成務(wù), 陳彥萍, 朱琳萍
(西安郵電大學(xué), 陜西 西安 710121)
學(xué)習(xí)資源的有效整合一直是在線學(xué)習(xí)領(lǐng)域中面臨的難題和挑戰(zhàn)?!澳秸n”作為一種全新的在線學(xué)習(xí)模式也需要對學(xué)習(xí)資源進(jìn)行有效整合。通過分析慕課平臺中學(xué)習(xí)資源的使用方式現(xiàn)狀和SOA的特性,提出了基于SOA的學(xué)習(xí)資源的整合模式,對已有學(xué)習(xí)資源數(shù)據(jù)和分散異構(gòu)數(shù)據(jù)采取服務(wù)封裝的方法,從而實(shí)現(xiàn)慕課平臺學(xué)習(xí)資源的有效整合。
慕課; 學(xué)習(xí)資源; SOA
“慕課”(Massive Open Online Course,MOOC),即大規(guī)模的網(wǎng)絡(luò)開放課程,它發(fā)端于過去的那種發(fā)布資源、學(xué)習(xí)管理系統(tǒng)以及將學(xué)習(xí)管理系統(tǒng)與更多的開放網(wǎng)絡(luò)資源綜合起來的舊的課程開發(fā)模式。慕課浪潮席卷全球,并逐漸發(fā)展成為一種非常流行的新的在線教學(xué)模式。先后出現(xiàn)了Udacity、Coursera和edx三大慕課平臺,推出近百門課程,越來越多的大學(xué)、教師和學(xué)生加入到慕課的洪流之中。隨著慕課的發(fā)展,各種各樣的慕課平臺越來越多,發(fā)布在慕課平臺上的課程資源也越來越多。但是,課程提供者在慕課平臺上發(fā)布課程的方式不同,學(xué)習(xí)者在慕課平臺上的課程學(xué)習(xí)方式不同,慕課平臺之間沒有一個(gè)統(tǒng)一的資源標(biāo)準(zhǔn),這些問題導(dǎo)致了學(xué)習(xí)資源不能充分的利用(例如,Udacity平臺視頻基于youtube上;Coursera平臺視頻不基于youtube上,不用翻墻就可以學(xué)習(xí)等等)。為了解決慕課平臺之間的課程發(fā)布方式不同、課程學(xué)習(xí)方式不同和學(xué)習(xí)資源沒有統(tǒng)一的標(biāo)準(zhǔn)等問題,需要對“慕課”平臺的學(xué)習(xí)資源進(jìn)行整合。本文通過面向服務(wù)體系架構(gòu)(Service-Oriented Architecture,SOA)對慕課平臺的學(xué)習(xí)資源進(jìn)行整合,幫助學(xué)習(xí)者快速、準(zhǔn)確的找到適合的學(xué)習(xí)資源。
SOA是一種面向服務(wù)的體系結(jié)構(gòu),是一個(gè)組件模型,它將應(yīng)用程序的不同功能單元“服務(wù)”(service),通過服務(wù)間定義良好的接口和契約聯(lián)系起來。接口采用中立的方式定義,獨(dú)立于具體實(shí)現(xiàn)服務(wù)的硬件平臺、操作系統(tǒng)和編程語言,使得構(gòu)建在這樣的系統(tǒng)中的服務(wù)可以使用統(tǒng)一和標(biāo)準(zhǔn)的方式進(jìn)行通信。它可以根據(jù)需求通過網(wǎng)絡(luò)對松散耦合的粗粒度應(yīng)用進(jìn)行分布式部署、組合和使用。服務(wù)層是SOA的基礎(chǔ),可以直接被應(yīng)用調(diào)用,從而有效控制系統(tǒng)中與軟件代理交互的人為依賴性。目前,SOA依賴于擴(kuò)展標(biāo)記語言(eXtensible Markup Language,XML)等技術(shù),并且通過Web服務(wù)描述語言(Web Services Definition Language,WSDL)對接口進(jìn)行描述,從而使得web服務(wù)動態(tài)和靈活得益保證。服務(wù)是SOA核心的概念,它是業(yè)務(wù)應(yīng)用的基本服務(wù)單元,多個(gè)服務(wù)可以快速、靈活、節(jié)約地組成新的應(yīng)用系統(tǒng)。服務(wù)是指軟件中的一些操作過程或獨(dú)立業(yè)務(wù)模塊的程序邏輯單元,可以通過標(biāo)準(zhǔn)協(xié)議通過網(wǎng)絡(luò)來訪問和調(diào)用,并且公開調(diào)用接口。
SOA的體系架構(gòu)中有以下三個(gè)基本角色:服務(wù)提供者、服務(wù)請求者和服務(wù)注冊中心,如圖1所示。
SOA體系結(jié)構(gòu)中,所有的應(yīng)用實(shí)體都被抽象為服務(wù)。包括三個(gè)實(shí)體。
(1) 服務(wù)提供者。發(fā)布自己的服務(wù),并且對服務(wù)請求進(jìn)行響應(yīng)。
(2) 服務(wù)注冊中心。注冊已經(jīng)發(fā)布的Web Service,對其進(jìn)行分類,并提供搜索服務(wù)。
(3) 服務(wù)請求者。利用服務(wù)中心查找所需要的服務(wù),然后使用服務(wù)。
SOA包括三個(gè)相關(guān)協(xié)議:SOAP(Simple Object Access Protocol)、WSDL(Web Services Description Language)和UDDI(Universal Description,Discovery and Integration)。WSDL用來描述服務(wù);UDDI用來注冊和查找服務(wù);而SOAP,作為傳輸層,用來在消費(fèi)者和服務(wù)提供者之間傳遞消息。一個(gè)消費(fèi)者可以在UDDI注冊表(registry)查找服務(wù),取得服務(wù)的WSDL描述,然后通過SOAP來調(diào)用服務(wù)。
2.1 基于SOA的“慕課”平臺學(xué)習(xí)資源的整合架構(gòu)
在“慕課”平臺中,學(xué)習(xí)者通過平臺內(nèi)部的搜索功能來獲取想要學(xué)習(xí)的課程,請求的服務(wù)通過查找和匹配平臺內(nèi)部的學(xué)習(xí)資源庫來實(shí)現(xiàn),不支持復(fù)雜學(xué)習(xí)需求的分解,實(shí)現(xiàn)相關(guān)聯(lián)課程之間的查找和匹配;課程發(fā)布者需要發(fā)布自己的課程到很多的慕課平臺,這樣就會導(dǎo)致資源不能重復(fù)的利用。本文提出的基于SOA的“慕課”平臺學(xué)習(xí)資源的整合通過獲取各大慕課平臺的發(fā)布課程,封裝成為服務(wù),按照專業(yè)類別、課程時(shí)間、課程內(nèi)容和難易程度等進(jìn)行分類管理,這些服務(wù)之間定義良好的接口和契約聯(lián)系起來,這樣就可以快速的把合適的課程提供給學(xué)習(xí)者。
而基于SOA的面向服務(wù)軟件集成構(gòu)架,即采用Web Service技術(shù)實(shí)現(xiàn)慕課平臺學(xué)習(xí)資源中不同功能單元的整合,使學(xué)習(xí)資源的不同功能的資源通過Web服務(wù)進(jìn)行互連、集成和協(xié)同,慕課平臺之間能夠資源共享,快速、準(zhǔn)確的提供學(xué)習(xí)資源給學(xué)習(xí)者。基于SOA的“慕課”平臺學(xué)習(xí)資源的整合架構(gòu)如圖2所示。
圖2 于SOA的“慕課”平臺學(xué)習(xí)資源的整合架構(gòu)
從圖2中可以看出,獲取課程提供者發(fā)布在慕課平臺上的課程資源,封裝成單個(gè)的Web服務(wù),部署到服務(wù)器上。用WSDL描述Web服務(wù),注冊到注冊中心,UDDI對web服務(wù)描述文檔WSDL按照專業(yè)類別、課程時(shí)間、課程內(nèi)容和難易程度等因素進(jìn)行分類管理。當(dāng)學(xué)習(xí)者想要搜索自己想要學(xué)習(xí)的內(nèi)容,查找就會分解成單一參數(shù)去注冊中心查找相應(yīng)的WSDL,通過WSDL找到相應(yīng)的服務(wù),然后快速、準(zhǔn)確的得出適合學(xué)習(xí)者學(xué)習(xí)的課程,而不是給出很多的課程去讓學(xué)習(xí)者自己來選擇。例如,學(xué)習(xí)者搜索自己的“專業(yè)名稱”,服務(wù)代理根據(jù)關(guān)聯(lián)匹配度分解為專業(yè)類別、課程時(shí)間和難易程度等參數(shù)去注冊中心查找相應(yīng)的課程服務(wù)接口描述語言WSDL文檔,通過WSDL調(diào)用相應(yīng)的課程服務(wù),返回查找的信息給學(xué)習(xí)者。服務(wù)通過統(tǒng)一的接口和標(biāo)準(zhǔn)進(jìn)行通信,與平臺無關(guān),課程發(fā)布者只需要在一個(gè)慕課平臺上發(fā)布自己的課程,其它的慕課平臺就可以分享到這個(gè)學(xué)習(xí)資源,不需要另外的發(fā)布這門課程,使學(xué)習(xí)資源得到重復(fù)的利用。
2.2 基于SOA“慕課”平臺學(xué)習(xí)資源整合的特點(diǎn)
我們認(rèn)為基于SOA“慕課”平臺學(xué)習(xí)資源整合不同于現(xiàn)有的慕課平臺中資源提供方式,具有以下特點(diǎn):
(1) 現(xiàn)有的慕課平臺之間學(xué)習(xí)資源沒有一個(gè)統(tǒng)一的標(biāo)準(zhǔn),采用SOA架構(gòu)的設(shè)計(jì)思路,從學(xué)習(xí)資源的復(fù)用角度出發(fā),最大程度地減少學(xué)習(xí)資源之間的耦合,按照統(tǒng)一的標(biāo)準(zhǔn)根據(jù)學(xué)習(xí)者的個(gè)性化需求動態(tài)整合學(xué)習(xí)資源。例如: Udacity平臺發(fā)布的課程在youtube上;Coursera平臺視頻不基于youtube,可以不翻墻觀看,有網(wǎng)易提供視頻源;edx平臺通過https://studio.edge.edx.org申請發(fā)布課程,申請通過后用Studio制作課程,然后發(fā)布到平臺。 他們的課程發(fā)布和使用采用不同的標(biāo)準(zhǔn)和流程,這就阻礙了不同平臺中的課程之間的整合。
(2) 現(xiàn)有的慕課平臺是一個(gè)課程整合平臺,支持一門課程搜索,不支持復(fù)雜學(xué)習(xí)需求的分解。通過SOA對慕課平臺學(xué)習(xí)資源整合進(jìn)行分類管理,能夠?qū)W(xué)習(xí)任務(wù)進(jìn)行分解,更加精準(zhǔn)的查找和匹配學(xué)習(xí)的課程。例如: 現(xiàn)在我們只能在慕課平臺搜索課程名”計(jì)算機(jī)網(wǎng)絡(luò)”,不能提供給學(xué)習(xí)者”網(wǎng)絡(luò)工程專業(yè)核心課程”這樣的復(fù)雜查詢。
(3) 現(xiàn)有的慕課平臺之間課程發(fā)布的方式不同,慕課平臺之間不能達(dá)到資源共享。面向服務(wù)的SOA具有松耦合性,與平臺、語言無關(guān)性等特點(diǎn),使慕課平臺之間的學(xué)習(xí)資源能夠有效的整合和資源共享,便于學(xué)習(xí)資源的重復(fù)利用。例如:在edx平臺上發(fā)布的課程,在Udacity和Coursera等平臺上不能學(xué)習(xí),導(dǎo)致了資源不能得到重復(fù)的利用。
2.3 學(xué)習(xí)資源查詢的服務(wù)過程
不論各種慕課平臺中的學(xué)習(xí)資源語言、平臺、技術(shù)、數(shù)據(jù)結(jié)構(gòu)的異構(gòu)性多大,只要在對外接口上都用統(tǒng)一的對象模型Web Services進(jìn)行封裝或轉(zhuǎn)換,就能消除這種異構(gòu)性,通過工具或手動的定義各自課程服務(wù)接口描述語言WSDL文檔,并把課程服務(wù)描述語言WSDL文檔發(fā)布到UDDI注冊中心中進(jìn)行分類管理,在UDDI注冊中心對課程服務(wù)進(jìn)行注冊。當(dāng)“慕課”學(xué)習(xí)者進(jìn)行課程的檢索和學(xué)習(xí)時(shí),首先發(fā)送請求到UDDI注冊中心訪問課程服務(wù)的注冊信息,服務(wù)代理根據(jù)關(guān)聯(lián)匹配度分解服務(wù)請求為相關(guān)參數(shù)去查找相應(yīng)的課程服務(wù)的接口描述WSDL文檔,獲取課程服務(wù)的接口描述WSDL文件。然后根據(jù)獲取的WSDL文件中的接口描述,通過SOAP協(xié)議到Web服務(wù)器上去調(diào)用相應(yīng)的課程服務(wù)應(yīng)用程序,最后把服務(wù)信息返回給學(xué)習(xí)者。學(xué)習(xí)資源查詢的服務(wù)過程如圖3所示。
圖3 學(xué)習(xí)資源查詢的服務(wù)過程
通過面向服務(wù)軟件體系架構(gòu)SOA,用戶在本地會產(chǎn)生代理對象,以后業(yè)務(wù)就是通過此代理對象與Web Services進(jìn)行數(shù)據(jù)交互。如果Web Services內(nèi)部結(jié)構(gòu)和實(shí)現(xiàn)發(fā)生了改變,只要WSDL描述保持不變,整個(gè)系統(tǒng)都不需要作任何變化。
通過SOA體系架構(gòu)對“慕課”平臺的學(xué)習(xí)資源進(jìn)行整合,把各種慕課平臺發(fā)布的課程封裝成單個(gè)的web服務(wù),將這些服務(wù)進(jìn)行部署到Web服務(wù)器,注冊到注冊中心,并按照專業(yè)類別、課程時(shí)間、課程內(nèi)容和難易程度等因素進(jìn)行分類管理。“慕課”學(xué)習(xí)者搜索自己想要學(xué)習(xí)的課程時(shí),提出一個(gè)服務(wù)請求,服務(wù)代理接受用戶的請求并為其服務(wù)。服務(wù)代理根據(jù)關(guān)聯(lián)匹配度分解服務(wù)請求為多個(gè)參數(shù)去注冊中心匹配,根據(jù)相應(yīng)的WSDL文件去調(diào)用Web服務(wù),把相關(guān)聯(lián)的服務(wù)信息返回給學(xué)習(xí)者,這樣就可以更加快速、準(zhǔn)確的把學(xué)習(xí)資源提供給學(xué)習(xí)者。
假設(shè)學(xué)習(xí)資源庫中存在以下4個(gè)服務(wù):
(1) Course()。輸入?yún)?shù):課程編碼;輸出項(xiàng):課程名稱和其他信息。
(2) time()。輸入?yún)?shù):課程編碼,學(xué)習(xí)時(shí)間;輸出項(xiàng):該課程的開課時(shí)間及結(jié)束時(shí)間。
(3) Yellowpages()。輸入?yún)?shù):專業(yè)名稱;輸出項(xiàng):課程編碼和其他信息。
(4) School()。輸入?yún)?shù):開課時(shí)間;輸出項(xiàng):學(xué)校名稱和其他信息。
“慕課”學(xué)習(xí)者想通過“專業(yè)名稱”找出“慕課”平臺上相關(guān)課程的課程名稱、課程提綱、開課時(shí)間和學(xué)校等信息。查詢流程圖如圖4所示。
“慕課”作為一種全新的教學(xué)模式越來越受學(xué)習(xí)者的歡迎,對慕課平臺學(xué)習(xí)資源進(jìn)行整合也越來越重要。面向服務(wù)的SOA具有松耦合性,與平臺、語言無關(guān)性等特點(diǎn),可以快速、有效地整合慕課平臺學(xué)習(xí)資源?;赟OA的“慕課”平臺學(xué)習(xí)資源的整合,可以快速、準(zhǔn)確地把學(xué)習(xí)資源提供給學(xué)習(xí)者,慕課平臺之間進(jìn)行資源共享,課程發(fā)布者只需要在一個(gè)“慕課”平臺上發(fā)布課程,所有的“慕課”平臺都能夠利用這個(gè)資源,使學(xué)習(xí)資源得到重復(fù)的利用,解決了學(xué)習(xí)資源的浪費(fèi)。
[1] 辛永濤. 武警學(xué)院構(gòu)建慕課(MOOC)教學(xué)模式探討[J].武警學(xué)院學(xué)報(bào),2014,30(5):72-73.
[2] 張鷙遠(yuǎn). “慕課”(MOOCs)發(fā)展對我國高等教育的影響及其對策[J]. 河北師范大學(xué)學(xué)報(bào)(教育科學(xué)版),2014(2):116-121.
[3] 潘燕桃,廖昀赟. 大學(xué)生信息素養(yǎng)教育的“慕課”化趨勢[J]. 大學(xué)圖書館學(xué)報(bào),2014(4):21-27.
[4] 欒大為,劉偉君. 基于云計(jì)算和SOA架構(gòu)的信息化辦公系統(tǒng)[J]. 通信管理與技術(shù),2013(3):27-29.
[5] LuoM in. Patterns. Service-Oriented Architecture and Web Services. http://www.redbooksibm.com/redbooks/pdfs/sg246303.pdf,2004.4.
[6] 趙生慧,吳國新,張三峰,等. SOA的QoS研究綜述[J]. 計(jì)算機(jī)科學(xué),2009(4):16-20.
[7] Wilkes S, Harby J. SOA blueprints specification draft v0. 4[J]. The Middleware Company Research Team, 2004,7-15.
[8] 李鳳云,黃迎春,馮永新. 基于Web Service的SOA實(shí)驗(yàn)技術(shù)研究[J].科技世界,2012(23):17-19.
[9] 姬 楷. 基于SOA的企業(yè)服務(wù)總線研究及其應(yīng)用[D].重慶:重慶大學(xué),2008.
[10] 牛紅惠,劉曉魁,侯冰芳. 基于SOA的在線學(xué)習(xí)系統(tǒng)的研究[J].邯鄲職業(yè)技術(shù)學(xué)院學(xué)報(bào),2009,22(1):55-56.
[11] 凌曉東. SOA綜述[J].計(jì)算機(jī)應(yīng)用與軟件,2007(10):122-124.
[12] Erl, Thomas. Service-Oriented Architecture (SOA):Concepts,Technology, and Design. Prentice Hall/PearsonPTR, 2010. Print.
[13] Papazoglou, Michael P. Web Services: Principles and Technology[M]. Harlow: Pearson Prentice Hall, 2008.
[14] 李學(xué)儉,何文華. 基于SOA架構(gòu)的高校數(shù)據(jù)資源整合研究[J]. 計(jì)算機(jī)技術(shù)與發(fā)展,2010(1):78-81.
[15] 王 楠,劉心雄,陳和平. Web Service技術(shù)研究[J]. 計(jì)算機(jī)與數(shù)字工程,2006(7):88-90.
[16] 李 梅,奚建清. 基于SOA架構(gòu)的網(wǎng)絡(luò)教學(xué)平臺集成研究與設(shè)計(jì)[J]. 實(shí)驗(yàn)室研究與探索,2010(11):173-177.
The Integration of Learning Resources on"Mooc" Platform Based on SOA
TANGCheng-wu,CHENYan-ping,ZHULin-ping
(Xi’an University of Posts and Telecommunications, Xi’an 710121, China)
Effective integration of learning resources is always a difficultie and challenge in the field of online learning. "MOOC", as a new online learning model, is also needed to effectively integrate learning resources. By analyzing the present situation of the use of the learning resources and SOA features on the MOOC platform, the paper proposed a SOA-based learning resources integration model. It took service encapsulation method for existing learning resources and decentralized heterogeneous data to realize the effective integration of learning resources on MOOC platform.
MOOC; learning resources; SOA
2014-11-20
陜西高等教育教學(xué)改革研究項(xiàng)目(No.13BY68);西安郵電大學(xué)研究生創(chuàng)新基金項(xiàng)目(No.ZL2013-32)
唐成務(wù)(1990-),男,河南光山人,在讀碩士生,研究方向?yàn)榉?wù)計(jì)算。Tel.:18292823791; E-mail:946160901@qq.com
G 642.0
A
1006-7167(2015)11-0182-04