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