李芝興 文海家
摘要:本文將分析利用JavaEE技術(shù)實(shí)現(xiàn)基于Web的精品課程網(wǎng)站發(fā)布及評(píng)審平臺(tái)的設(shè)計(jì)思想、系統(tǒng)組成以及闡述本系統(tǒng)所用到的技術(shù),這些技術(shù)包括了Tomcat Web服務(wù)器、Serv-u文件服務(wù)器、Mysql數(shù)據(jù)庫服務(wù)器、Hibernate、Struts、Spring、ODBC、JDBC、Proxool、JavaBean、Jsp、Servlet等開源技術(shù),并進(jìn)一步分析系統(tǒng)的搭建和技術(shù)組成。
關(guān)鍵詞:精品課程評(píng)審網(wǎng)站;文件服務(wù)器;Web服務(wù)器;三層框架;批量上傳下載;JavaEE
中圖分類號(hào):G642 文獻(xiàn)標(biāo)識(shí)碼:B
隨著我國高等教學(xué)改革的開展和深入,國家教委、市教委和校教務(wù)處對(duì)課程,尤其是精品課程建設(shè)加大了投入力度。以評(píng)促建、以評(píng)促改已蔚然成風(fēng),教學(xué)資源和教學(xué)質(zhì)量也得到了明顯的改善。我校也非常重視精品課程的建設(shè),在引入上海復(fù)秦公司的精品課課程評(píng)審及搭建技術(shù)后,我校的精品課程得到了大力的發(fā)展。但隨著教學(xué)教改要求的不斷提高,舊的網(wǎng)站技術(shù)已經(jīng)不能滿足新的需求,主要體現(xiàn)在以下幾個(gè)方面:
(1) 集中存放及發(fā)布網(wǎng)站原始數(shù)據(jù)的辦法已經(jīng)導(dǎo)致服務(wù)器存儲(chǔ)空間過大,存儲(chǔ)空間趨于飽和。
(2) 網(wǎng)站更新采用整體更新方式,不能更新單個(gè)網(wǎng)頁,導(dǎo)致了網(wǎng)站幾乎無法更新。不便于管理和維護(hù)。
(3) 服務(wù)器負(fù)載過大,訪問速度慢,失去了精品課程教學(xué)資源共享的初衷。
在這種情況下,我們提出了基于JavaEE等技術(shù)的分布式的精品課程發(fā)布及評(píng)審系統(tǒng)(以下簡(jiǎn)稱精品課程管理系統(tǒng))的總體設(shè)計(jì)思想、系統(tǒng)組成和技術(shù)實(shí)現(xiàn),并進(jìn)一步分析該系統(tǒng)的優(yōu)缺點(diǎn)和使用價(jià)值,對(duì)實(shí)際的系統(tǒng)作一定的評(píng)價(jià)。
1精品課程管理系統(tǒng)的業(yè)務(wù)流程
在精品課程建設(shè)及評(píng)審過程中,首先由教務(wù)處發(fā)布精品課程建設(shè)及評(píng)審比賽的通知,然后由各學(xué)院組織和篩選合格的相關(guān)課程參與比賽,相關(guān)的課程負(fù)責(zé)人在網(wǎng)站上提出申請(qǐng),并由教務(wù)處負(fù)責(zé)審核并批準(zhǔn),同時(shí)給各課程開辟網(wǎng)站存儲(chǔ)空間、域名、空間的管理賬號(hào)和密碼。
在各相關(guān)課程完成網(wǎng)站內(nèi)容建設(shè)后,可以采用系統(tǒng)提供的批量上傳下載技術(shù)上傳網(wǎng)站內(nèi)容。網(wǎng)站內(nèi)容分為兩部分。第一部分是課程申報(bào)資料評(píng)審網(wǎng)站,該網(wǎng)站是必須的、格式是固定的,內(nèi)容可以參考國家級(jí)精品課程的要求??梢圆捎迷诰€編輯的方式實(shí)現(xiàn),也可以采用離線網(wǎng)頁編輯的方式在模版的引導(dǎo)下完成。同時(shí)包括課程內(nèi)容網(wǎng)站的URL。這個(gè)URL可以是本服務(wù)器上的資源,也可以是其他服務(wù)器上網(wǎng)站。第二部分是課程內(nèi)容網(wǎng)站,這部分內(nèi)容可以存放在其他服務(wù)器(鼓勵(lì)這樣做),也可以發(fā)布在本系統(tǒng)中。如果要發(fā)布在本系統(tǒng),可以直接采用本系統(tǒng)提供的批量上傳下載技術(shù)上傳。每個(gè)網(wǎng)頁可以單獨(dú)修改和更新。
評(píng)審人員由教務(wù)處邀請(qǐng)并登錄評(píng)審系統(tǒng),對(duì)各課程的各項(xiàng)指標(biāo)進(jìn)行評(píng)審,給出相應(yīng)的分?jǐn)?shù),提出整改意見。然后由教務(wù)處組織組織現(xiàn)場(chǎng)答辯,并將答辯的意見和分?jǐn)?shù)公布在網(wǎng)站上。最后由系統(tǒng)給出綜合排名,并上報(bào)有關(guān)上級(jí)部門批準(zhǔn)和備案。同時(shí)啟動(dòng)相關(guān)批準(zhǔn)課程的教學(xué)資源的共享和訪問接口的公布。
2系統(tǒng)主要功能
針對(duì)上面的業(yè)務(wù)流程,按軟件工程的流程將系統(tǒng)分為如下五個(gè)模塊:一是通知發(fā)布模塊、二是課程空間賬號(hào)管理模塊、三是網(wǎng)站發(fā)布維護(hù)模塊、四是評(píng)委評(píng)審模塊、五是外部訪問接口模塊。如圖1。下面敘述各個(gè)模塊具體功能。
通知發(fā)布模塊由系統(tǒng)管理員管理,發(fā)布系統(tǒng)的相關(guān)通知,如參賽評(píng)審的要求、系統(tǒng)的注意事項(xiàng)、使用說明,等等。該部分涉及在線編輯技術(shù)、Web服務(wù)器技術(shù)和數(shù)據(jù)庫服務(wù)器技術(shù)。
課程空間賬號(hào)管理模塊由課程負(fù)責(zé)人使用。課程負(fù)責(zé)人申請(qǐng)賬號(hào)、由系統(tǒng)管理員審批并由系統(tǒng)分配空間和賬號(hào)、密碼。這部分內(nèi)容涉及文件服務(wù)器技術(shù)、Web服務(wù)器技術(shù)和數(shù)據(jù)庫服務(wù)器技術(shù)。
網(wǎng)站發(fā)布維護(hù)模塊也由課程負(fù)責(zé)人使用,采用系統(tǒng)提供的批量上傳下載技術(shù)上傳課程申報(bào)資料評(píng)審網(wǎng)站和課程內(nèi)容網(wǎng)站(或其URL)。同時(shí)由課程負(fù)責(zé)人維護(hù)自己上傳的網(wǎng)站。這部分內(nèi)容涉及文件服務(wù)器技術(shù)、Web服務(wù)器技術(shù)、數(shù)據(jù)庫服務(wù)器技術(shù)以及批量上傳下載技術(shù)。
評(píng)委評(píng)審模塊由教務(wù)處邀請(qǐng)的評(píng)審專家使用,對(duì)各課程的資料和課程教學(xué)內(nèi)容進(jìn)行分項(xiàng)評(píng)分。最后由系統(tǒng)給出綜合排名。這部分內(nèi)容涉及Web服務(wù)器技術(shù)和數(shù)據(jù)庫服務(wù)器技術(shù)。
外部訪問接口模塊是對(duì)外公布可以訪問的資源,起到資源共享的接口作用,涉及數(shù)據(jù)庫技術(shù)和Web技術(shù)。
3系統(tǒng)的主要實(shí)現(xiàn)技術(shù)
精品課程管理系統(tǒng)按動(dòng)態(tài)網(wǎng)站來設(shè)計(jì),分為三層結(jié)構(gòu):表示層、業(yè)務(wù)層和持久層,如圖2。以靜態(tài)網(wǎng)頁技術(shù)(Html、Applet)為表現(xiàn)形式,同時(shí)采用JavaEE技術(shù)(如Jsp、Servlet)實(shí)現(xiàn)網(wǎng)頁中的動(dòng)態(tài)的內(nèi)容。這是三層中的表示層。
課程狀態(tài)、課程負(fù)責(zé)人、課程分?jǐn)?shù)、評(píng)委、網(wǎng)站域名以及通知等數(shù)據(jù)按關(guān)系數(shù)據(jù)庫表的方式存放于數(shù)據(jù)庫Mysql中。這是底層數(shù)據(jù)。
持久層使用Hibernate。采用Hibernate框架可以很容易將關(guān)系數(shù)據(jù)映射成JavaBean實(shí)體,便于Jsp或Servlet操作數(shù)據(jù)庫。同時(shí)將Proxool數(shù)據(jù)庫連接池和Hibernate框架繼承,提高了訪問數(shù)據(jù)庫的效率。
業(yè)務(wù)層將處理應(yīng)用程序的業(yè)務(wù)邏輯和業(yè)務(wù)校驗(yàn)、管理事務(wù)、管理業(yè)務(wù)層級(jí)別的對(duì)象的依賴。在顯示層和持久層之間增加了一個(gè)靈活的機(jī)制,使得他們不直接聯(lián)系,通過分析從顯示層到業(yè)務(wù)層之間的上下文環(huán)境來得到業(yè)務(wù)層的服務(wù),并且管理程序的執(zhí)行。在這一層我們使用Spring框架。
對(duì)于課程空間賬號(hào)管理,本系統(tǒng)采用文件服務(wù)器和Web服務(wù)器協(xié)調(diào)工作的方式來完成,即采用Serv-U+ Tomcat+Jsp技術(shù)。為了實(shí)現(xiàn)網(wǎng)站文檔批量上傳技術(shù),我們采用了文件服務(wù)器和完全授權(quán)的Applet技術(shù),該技術(shù)即可以實(shí)現(xiàn)批量上傳下載,也可以實(shí)現(xiàn)單個(gè)網(wǎng)頁的上傳下載,即采用Serv-u+Applet+Jsp技術(shù)。如圖3。
Serv-U是現(xiàn)今Windows下最流行、功能最強(qiáng)大、使用最簡(jiǎn)單的FTP服務(wù)器軟件之一,同時(shí)也是目前國內(nèi)應(yīng)用最多的FTP服務(wù)器軟件。Serv-U除了擁有其他同類軟件所具備的幾乎全部功能外,還支持?jǐn)帱c(diǎn)續(xù)傳、支持帶寬限制、支持遠(yuǎn)程管理、支持虛擬主機(jī)等。為了實(shí)現(xiàn)批量上傳技術(shù),我們對(duì)Serv-u6.2的配置文件ServUDaemon.ini進(jìn)行ODBC配置,內(nèi)容如下:
[GLOBAL]
Version=6.2.0.0
ProcessID=2660
[Domain2]
CacheTTL=60
ODBCSource=ftp|root|562F4C40
BCTables=useraccounts|groupaccounts|userdiraccess|groupdiraccess|useripaccess|groupipaccessODBCColumns=Name|Password|SKeyValues|HomeDir|LogMesFile|Access|Disable|NeedSecure|RelPaths|HideHidden|AlwaysLogin|ChangePass|QuotaEnable|MaxIP|MaxSpeedUp|MaxSpeedDown|MaxUsers|IdleTimeOut|SessionTimeOut|RatioUp|RatioDown|RatioCredit|QuotaCurrent|QuotaMax|Expiration|Privilege|PassType|RatioType|Groups|Notes|Index||
AutoHomedir=0
EncryptPasswords=0
[DOMAINS]
Domain1=0.0.0.0||21|teacher.domain|2|0|1
有了Serv-u到MySQL數(shù)據(jù)庫的映射,只要在Mysql數(shù)據(jù)庫中添加Serv-u用戶的名稱、密碼、權(quán)限等信息就可以實(shí)現(xiàn)服務(wù)器操作系統(tǒng)資源管理器到文件服務(wù)器的自動(dòng)管理。
對(duì)于文件服務(wù)器的訪問,可以采用多種方式,如采用迅雷等工具點(diǎn)擊下載所有連接或采用Applet組件。本系統(tǒng)采用Applet技術(shù)和FTP協(xié)議。
如果在上傳或是下載的過程中,沒有任何的提示,用戶根本沒法判斷任務(wù)是否完成或是任務(wù)是否死了,常常由于上傳時(shí)間或下載時(shí)間過長(zhǎng)而誤導(dǎo)用戶。因此,進(jìn)度條就顯得非常的重要與實(shí)用。進(jìn)度條的實(shí)現(xiàn)如下:在程序中開啟兩個(gè)線程,第一個(gè)線程用于動(dòng)態(tài)的改變界面上進(jìn)度條的value值,而第二個(gè)線程則在上傳或是下載的過程中,做成一個(gè)循環(huán),在此循環(huán)中,每次讀取一定數(shù)量如8192字節(jié)數(shù)的數(shù)據(jù)。然后傳完此數(shù)據(jù)后,調(diào)用第一個(gè)線程中的updateProgress方法,來更新界面進(jìn)度條的value值。如圖4。
4本精品課程管理系統(tǒng)優(yōu)點(diǎn)
本平臺(tái)從開始設(shè)計(jì)開發(fā)至今已有一年的歷史,該系統(tǒng)已經(jīng)成功模擬了網(wǎng)站制作大賽的比賽平臺(tái)系統(tǒng),包括了網(wǎng)
站的發(fā)布和評(píng)審。這一年以來該平臺(tái)一直處于不斷的完善和改進(jìn)之中,目前軟件功能較齊全、運(yùn)行穩(wěn)定。
本精品課程管理系統(tǒng)的建成,大大地提高了網(wǎng)站管理質(zhì)量和教學(xué)質(zhì)量,它的優(yōu)點(diǎn)體現(xiàn)如下:
(1) 將傳統(tǒng)的網(wǎng)站管理方式從原始的管理方式提升到現(xiàn)代化的網(wǎng)絡(luò)化管理方式,是教學(xué)方法的改革。管理效率將大大提高。
(2) 采用批量上傳下載技術(shù),方便修改更新單個(gè)網(wǎng)頁和資源。
(3) 分布式存放教學(xué)內(nèi)容網(wǎng)站,有效解決存儲(chǔ)空間飽和的瓶頸問題。
(4) 分布式存放教學(xué)內(nèi)容網(wǎng)站,訪問速度和資源共享的效率得到了大大的提高,使精品課程真正起到應(yīng)有的作用。
5結(jié)束語
隨著Internet應(yīng)用的日益廣泛,基于Internet的輔助教學(xué)軟件將會(huì)是一種重要形式?;贗nternet的教學(xué)軟件的開發(fā)及應(yīng)用應(yīng)充分遵循教學(xué)規(guī)律,充分利用先進(jìn)的計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)和手段,開發(fā)出生動(dòng)性、交互性強(qiáng)的高質(zhì)量網(wǎng)絡(luò)應(yīng)用軟件,提高了管理效率和精品課程教學(xué)資源使用效率。
參考文獻(xiàn):
[1] 袁守華. 基于Web的課程網(wǎng)絡(luò)教學(xué)網(wǎng)站的開發(fā)與應(yīng)用[J]. 中原工學(xué)院學(xué)報(bào),2004(1):49-53.
[2] 劉義,蘭鳳俠. 淺談網(wǎng)絡(luò)教學(xué)系統(tǒng)的設(shè)計(jì)與應(yīng)用[J]. 農(nóng)業(yè)網(wǎng)絡(luò)信息,2005(6):28-29.
[3] 李芝興,李慶生. 基于Java EE技術(shù)的實(shí)驗(yàn)教學(xué)平臺(tái)的開發(fā)與建設(shè)[J]. 計(jì)算機(jī)教育,2008(2):110-112.
[4] 丁振國,任新潔. 基于Struts的Web應(yīng)用開發(fā)研究[J]. 微機(jī)發(fā)展,2004,14(1):90-92.
[5] 陳智勇,左仁祥. 基于Web的網(wǎng)絡(luò)教學(xué)平臺(tái)的設(shè)計(jì)[J]. 計(jì)算機(jī)與現(xiàn)代化,2004(1):53-55.