馬潔
(寶雞職業(yè)技術(shù)學(xué)院 陜西 寶雞 721013)
隨著現(xiàn)代網(wǎng)絡(luò)技術(shù)和信息技術(shù)的發(fā)展,我國(guó)開始大力推動(dòng)高校校園的信息化建設(shè),從而提高高校教育教學(xué)的資源量和轉(zhuǎn)變教學(xué)方式。根據(jù)國(guó)家精品網(wǎng)站的統(tǒng)計(jì)顯示,全國(guó)精品類課程達(dá)到25 000個(gè),其中國(guó)家級(jí)3 835門,省級(jí)為8 279門,校級(jí)精品課程為8 170門,OCW為4162門[1]。通過該數(shù)據(jù)的統(tǒng)計(jì)顯示,我國(guó)精品課程呈現(xiàn)出資源豐富的特點(diǎn)。但是在教育資源豐富的背后,面對(duì)的是教育教學(xué)資源利用率低,重復(fù)建設(shè)和資源共享差等問題。對(duì)此,本文提出一種基于云計(jì)算平臺(tái)的教學(xué)資源共享平臺(tái),并對(duì)其實(shí)現(xiàn)進(jìn)行詳細(xì)分析。
可行性是指在當(dāng)前的組織內(nèi)外對(duì)系統(tǒng)實(shí)現(xiàn)的一切必要的資源和技術(shù)條件。通過可行性的研究,從而可使得開發(fā)著在最短的時(shí)間內(nèi)利用最小的代價(jià),實(shí)現(xiàn)對(duì)結(jié)果的準(zhǔn)確的求解。對(duì)此,本文為確定該云計(jì)算共享平臺(tái)開發(fā)的可行性,從技術(shù)、操作和經(jīng)濟(jì)方面進(jìn)行了分析。
技術(shù)可行性作為系統(tǒng)開發(fā)的第一步,其軟硬件條件是否具備將直接決定該系統(tǒng)開發(fā)的成敗。在軟件開發(fā)方面可以借采用現(xiàn)有的Google云計(jì)算平臺(tái)、新浪云平臺(tái)等,利用MYSQL、Java語(yǔ)言等進(jìn)行開發(fā),采用DM、DW、CSS等實(shí)現(xiàn)對(duì)前臺(tái)頁(yè)面的開發(fā)設(shè)計(jì)[2];在系統(tǒng)的硬件方面只需要配備一般的實(shí)驗(yàn)室環(huán)境即可進(jìn)行。因此,從技術(shù)的角度來講,系統(tǒng)的開發(fā)完全具備技術(shù)條件。
通過對(duì)云計(jì)算平臺(tái)的構(gòu)建分析,無(wú)論是借助谷歌云平臺(tái),還是借助Hadoop搭建進(jìn)行實(shí)驗(yàn)云,在成本的投入方面都比較低,僅僅需要管理者在精力和時(shí)間方面有所投入即可[3]。在系統(tǒng)服務(wù)器維護(hù)方面,不需要對(duì)服務(wù)器基礎(chǔ)設(shè)備進(jìn)行維護(hù),教師或者老師即滿足對(duì)數(shù)據(jù)維護(hù)的基本條件。因此,從總體上來看,對(duì)該平臺(tái)的開發(fā)在周期和系統(tǒng)的維護(hù)方面與傳統(tǒng)的系統(tǒng)開發(fā)要方便很多,并能夠節(jié)約大量的人力和物理,由此在經(jīng)濟(jì)方面該共享平臺(tái)其是可行的。
教育教學(xué)平臺(tái)能否被廣大的用戶所接受和使用,其操作的可行性則顯得同等重要。當(dāng)前,我國(guó)很多的高校都自建校園網(wǎng)路,并實(shí)現(xiàn)了對(duì)校園網(wǎng)絡(luò)的覆蓋,從而為師生運(yùn)用共享網(wǎng)絡(luò)平臺(tái)提供了基礎(chǔ)。教師和學(xué)生只需在網(wǎng)絡(luò)接入的前提下,即可實(shí)現(xiàn)對(duì)共享平臺(tái)的訪問。因此,在操作性方面相對(duì)簡(jiǎn)單。
本文針對(duì)云計(jì)算的教育教學(xué)資源共享體系采用流行的B/S模式進(jìn)行,并結(jié)合計(jì)算的特點(diǎn)進(jìn)行設(shè)計(jì)開發(fā)?,F(xiàn)階段的B/S模式作為傳統(tǒng)的C/S模式的一種改進(jìn),其優(yōu)勢(shì)在于僅僅通過瀏覽器的方式,從而替代了原來比較復(fù)雜的應(yīng)用程序,并將對(duì)復(fù)雜程序的處理放到了系統(tǒng)的服務(wù)器端[4]。但隨著各種資源應(yīng)用的增加,B/S模式針對(duì)這種訪問和交互量大的則不一定適用。同時(shí)本課題考慮到云計(jì)算平臺(tái)的自身的特點(diǎn),借助PaaS的優(yōu)點(diǎn),采用了一種改進(jìn)型的B/S模式[5]。其具體見圖1所示。
圖1 系統(tǒng)整體架構(gòu)設(shè)計(jì)Fig.1 Overall system architecture design
該體系包括表示層、數(shù)據(jù)層和業(yè)務(wù)層。該體系整合了云計(jì)算平臺(tái)的特點(diǎn),用戶在通過瀏覽器向云計(jì)算服務(wù)池發(fā)送訪問的請(qǐng)求,在用戶端其并非僅僅包括個(gè)人的PC機(jī),而是包括任何的上網(wǎng)終端,都可以通過該用戶層實(shí)現(xiàn)對(duì)系統(tǒng)的訪問;然后通過業(yè)務(wù)處理層的相關(guān)業(yè)務(wù)邏輯對(duì)請(qǐng)求進(jìn)行處理;最后到了數(shù)據(jù)層的數(shù)據(jù)交換,完成對(duì)各個(gè)不同數(shù)據(jù)的管理和存儲(chǔ)。這些過程的實(shí)現(xiàn)都是在各種分布式的服務(wù)和統(tǒng)計(jì)中心當(dāng)中所進(jìn)行。
同時(shí)Google作為當(dāng)前最大的云計(jì)算的服務(wù)提供商,其推出的Google App Engine屬于云計(jì)算體系當(dāng)中的PaaS層。該層通常被作為一個(gè)比較大的虛擬機(jī),在這個(gè)虛擬機(jī)當(dāng)中存在著傳統(tǒng)的基礎(chǔ)設(shè)施和配置好的開發(fā)運(yùn)行的環(huán)境,用戶只需要將相關(guān)的應(yīng)用程序“寄存”到該平臺(tái)中,即可實(shí)現(xiàn)對(duì)系統(tǒng)的訪問和資源的共享。通過這樣的方式,開發(fā)人員通過GAE,在Google服務(wù)器上很好的對(duì)程序和數(shù)據(jù)進(jìn)行維護(hù),并根據(jù)對(duì)應(yīng)用程序的訪問量和數(shù)據(jù)存儲(chǔ)的要求對(duì)其進(jìn)行自由的擴(kuò)展。在該系統(tǒng)中,通過GFS實(shí)現(xiàn)對(duì)文件的存儲(chǔ),將響應(yīng)的文件存儲(chǔ)到分布式數(shù)據(jù)庫(kù)Bigtable當(dāng)中。
另外在對(duì)教學(xué)資源共享系統(tǒng)的web開發(fā)界面中,采用JSP+CSS對(duì)頁(yè)面進(jìn)行設(shè)計(jì),同時(shí)在頁(yè)面中嵌入JAVASCRIPT腳本;在邏輯層方面則采用較為成熟的J2EE體系,從而使得系統(tǒng)具備良好的封裝性和可擴(kuò)展性[6];在數(shù)據(jù)庫(kù)方面通過將傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)中的表映射為云平臺(tái)下的持久化對(duì)象,從而產(chǎn)生XML的數(shù)據(jù)文件,并最終采用JDO技術(shù)將數(shù)據(jù)全部存儲(chǔ)到分布式的數(shù)據(jù)庫(kù)Bigtable中。
結(jié)合該教學(xué)資源平臺(tái)的需要,寶雞職業(yè)技術(shù)學(xué)院作為依托,將其分為機(jī)電一體化、物聯(lián)網(wǎng)應(yīng)用、電氣自動(dòng)化等專業(yè),按照不同的專業(yè)對(duì)共享資源進(jìn)行分類,因此,該系統(tǒng)的功能設(shè)計(jì)為如圖2所示。
圖2 系統(tǒng)功能設(shè)計(jì)Fig.2 System function design
后臺(tái)管理模塊主要對(duì)個(gè)人信息及其相關(guān)用戶的權(quán)限進(jìn)行管理。上級(jí)用戶具有對(duì)下級(jí)用戶的添加、刪除等權(quán)限,還具備對(duì)下級(jí)用戶賬號(hào)使用權(quán)的封閉和解除封鎖等功能。在對(duì)用戶信息進(jìn)行刪除的時(shí)候,直接刪除用戶的相關(guān)文件和存儲(chǔ)的相關(guān)記錄。
課程門戶則主要結(jié)合不同的專業(yè)內(nèi)容對(duì)資源進(jìn)行分類,并通過該模塊可實(shí)現(xiàn)對(duì)資料的搜索、上傳等功能。因此,該模塊包括詞條搜素、熱門標(biāo)簽、主題欄目、資源共享。其中詞條搜索主要為學(xué)習(xí)者提供相關(guān)文件、資源等關(guān)鍵詞的搜索,從而讓用戶在第一時(shí)間找到相應(yīng)的相關(guān)資料;熱門標(biāo)簽則表示通過采用各種不同標(biāo)簽的方式,根據(jù)關(guān)鍵詞訪問量的情況,將標(biāo)簽字體的大小和顏色呈現(xiàn)為不同顏色,從而體現(xiàn)出其熱門的程度。同時(shí)根據(jù)標(biāo)簽超級(jí)鏈接的功能,指向不同的分類頁(yè)面,更好的輔助用戶做好對(duì)資源的獲??;主題欄目則根據(jù)精品課程建設(shè)的基礎(chǔ),將課程的主題欄目分為新聞公告、課程學(xué)習(xí)、課程描述、課程輔導(dǎo)資源、實(shí)驗(yàn)教學(xué)、計(jì)算思維;資源共享則包括對(duì)各類不同教育教學(xué)資源的統(tǒng)一的管理,包括視頻資源、音頻資源、圖片資源、軟件資源和文字資源等,通過上傳和下載的功能,實(shí)現(xiàn)對(duì)資源的共享。
在應(yīng)用中由于GAE支持采用Java語(yǔ)言,因此,開發(fā)人員則可以采用標(biāo)準(zhǔn)的Java技術(shù)實(shí)現(xiàn)對(duì)應(yīng)用程序的開發(fā)。對(duì)此,本文選擇eclipse3.5工具搭建Google App Engine平臺(tái),其采取的方式為模擬Google App Engine后,在測(cè)試正常后再將其部署到GAE平臺(tái)中。其具體的步驟為:
1)首先安裝JDK和eclipse3.5工具;
2)安裝eclipse Google的插件。在運(yùn)行eclipse3.5之后,打開菜單,在Help→SoftWare Updates中獲取Google App Engine的插件;
3)安裝 Google App Engine的 SDK;
4)在PC端開發(fā)和調(diào)試應(yīng)用程序;
5)申請(qǐng)谷歌GAE空間;
6)運(yùn)用GAE的工具將應(yīng)用程序上傳到谷歌GAE平臺(tái)。
以數(shù)據(jù)訪問層為例,在谷歌GAE平臺(tái)中其提供了強(qiáng)大的分布式數(shù)據(jù)存儲(chǔ)服務(wù)Dataatore,該存儲(chǔ)服務(wù)是以谷歌的Bigtable數(shù)據(jù)庫(kù)技術(shù)作為基礎(chǔ)。該數(shù)據(jù)庫(kù)和傳統(tǒng)的數(shù)據(jù)庫(kù)不同,該數(shù)據(jù)庫(kù)中的存儲(chǔ)的數(shù)據(jù)對(duì)象叫做實(shí)體,其每個(gè)實(shí)體可擁有不同的屬性。因此,在數(shù)據(jù)庫(kù)當(dāng)中其每個(gè)表都可以映射為一個(gè)實(shí)體類,其表內(nèi)的字段表示該實(shí)體類的屬性。
同時(shí)在GAE當(dāng)中其支持JPA和JDO組件對(duì)數(shù)據(jù)庫(kù)進(jìn)行連接,本文在采用JPA的方式,其主要的原因是基于POJO的封裝,從而導(dǎo)致其基本上是不支持再用數(shù)據(jù)進(jìn)行關(guān)聯(lián)的查詢,或者需要采用更為復(fù)雜的觸發(fā)器等。如果在數(shù)據(jù)庫(kù)其數(shù)據(jù)表格是相互關(guān)聯(lián)的,則一般是通過Java類當(dāng)中的嵌套的關(guān)系來對(duì)其進(jìn)行實(shí)現(xiàn)。另外應(yīng)用程序在和Datastore交互的時(shí)候,JPA通過其中的EntityManagerFactory來獲取Entity Manage類的實(shí)例來實(shí)現(xiàn)。因此,為更好的節(jié)約時(shí)間和內(nèi)存,才有用先設(shè)計(jì)EMF類,在通過和Datastore來完成對(duì)實(shí)體對(duì)象的添加、更新和查詢等,其具體的代碼則為:
public class EMF
{
private final static EntityManagerFactory emfInstance=
Persistence.createEntityManagerFactory ("hbasefilesharesys");
//hbase-filesharesys是指 persistence.xml文件中的配置集名稱
public static EntityManagerFactory getInstance(){
return em fInstance;
}
}
通 過 上 述 的 實(shí) 現(xiàn) , 在 通 過 EMF.getInstance().createEntityManager()對(duì)實(shí)體對(duì)象的創(chuàng)建,最后就可將這些實(shí)體對(duì)象全部映射到數(shù)據(jù)存儲(chǔ)當(dāng)中了。
通過上述的構(gòu)建,使得基于云計(jì)算的教學(xué)教學(xué)資源在文件的安全性、存儲(chǔ)空間等方面與傳統(tǒng)的系統(tǒng)相比都有著很大的優(yōu)勢(shì)。通過對(duì)系統(tǒng)功能的實(shí)現(xiàn),可實(shí)現(xiàn)對(duì)教師對(duì)功能的應(yīng)用。同時(shí)借助J2EE架構(gòu)的封裝功能,可對(duì)其中的應(yīng)用程序進(jìn)行擴(kuò)展,并根據(jù)系統(tǒng)的需要滿足用戶的需求。系統(tǒng)只需要提供相關(guān)的操作訪問權(quán)限,即可保障系統(tǒng)的運(yùn)行。該系統(tǒng)的實(shí)現(xiàn)對(duì)當(dāng)前教育教學(xué)資源的共享提供了一定的參考。
[1]龔洪敏.淺談現(xiàn)代大學(xué)精品課程的開發(fā)及有效運(yùn)用[J].中國(guó)科教創(chuàng)新導(dǎo)刊.2012(29):225.GONG Hong-min.On the development and effective use of modern university courses[J].China Education Innovation Herald,2012(29):225.
[2]徐強(qiáng),王振江.云計(jì)算應(yīng)用開發(fā)實(shí)踐[M].北京:機(jī)械工業(yè)出版社,2012.
[3]羅軍舟,金嘉暉,宋愛波,等.云計(jì)算:體系架構(gòu)與關(guān)鍵技術(shù)[J].通信學(xué)報(bào),2011(7):3-21.LUO Jun-zhou,JIN Jia-hui,SONG Ai-bo,et al.Oriental cloud computing:the architecture and key technologies of Communications[J].Journal of Communication,2011(7):3-21.
[4]田敬華.云計(jì)算環(huán)境下高校教學(xué)資源管理模型的研究[D].重慶:重慶師范大學(xué),2012.
[5]劉乃強(qiáng),武巍泓.構(gòu)建圖書館SaaS模式知識(shí)服務(wù)云平臺(tái)[J].圖書館工作與研究,2010(9):28-31.
LIU Nai-qiang,WU Wei-wang.SaaSmodel to build a library knowledge service cloud platform[J].Library and Research,2010(9):28-31.
[6]施琣,顧勛梅.基于MVC的網(wǎng)絡(luò)化學(xué)習(xí)云平臺(tái)架構(gòu)[J].微電子學(xué)與計(jì)算機(jī),2011(10):24-27 SHI Jun,GU Xun-mei.MVC-based networked learning cloud platform architecture[J].Microelectronics&Computer,2011(10):24-27.