張 杰,呂 紅,周立軍,王麗娜
(海軍航空工程學(xué)院 基礎(chǔ)實驗部,山東 煙臺 264001)
信息技術(shù)的快速發(fā)展為實驗教學(xué)改革提供豐富資源和技術(shù)支撐,加強(qiáng)信息化條件下教學(xué)條件建設(shè),是新形勢下培養(yǎng)高素質(zhì)新型軍事人才,實現(xiàn)軍事教育訓(xùn)練向信息化轉(zhuǎn)變的關(guān)鍵所在,高素質(zhì)新型軍事人才不僅要具備扎實的理論基礎(chǔ)和專業(yè)知識,還必須具有較強(qiáng)的動手操作、綜合分析和創(chuàng)新能力,而這些能力均可以通過實驗教學(xué)獲得,由于實驗教學(xué)具有面向?qū)W生開放實驗、支持以實驗項目為實施單元、實驗過程實時反饋等特點(diǎn),使得傳統(tǒng)按照班級集體上課模式的教務(wù)軟件針對實驗教學(xué)過程變得異常艱難[1]。
建設(shè)實踐教學(xué)與評估系統(tǒng)的目的旨在遵循計算機(jī)實驗教學(xué)的規(guī)律與特點(diǎn),運(yùn)用現(xiàn)代信息技術(shù)改進(jìn)實驗教學(xué)實施過程,增強(qiáng)開展實驗教學(xué)效果,促進(jìn)實驗室各項工作的改革和發(fā)展,將原先獨(dú)立、孤立分布的實驗室軟硬件資源實現(xiàn)互聯(lián)與共享,為實驗室各項業(yè)務(wù)活動提供信息支持,把實驗管理、實驗教學(xué)實施、實驗開放與創(chuàng)新結(jié)合成一個有機(jī)整體,全面協(xié)調(diào)與綜合使用實驗室資源,為實驗管理、教學(xué)與科研提供有力全面支撐。
要實現(xiàn)計算機(jī)實驗課程在時間、空間、過程的全方位、深層次開放,必須有網(wǎng)絡(luò)信息平臺的有效支撐,根據(jù)我院的計算機(jī)實驗室實際情況,我們逐步建成并完善了計算機(jī)硬件接口虛擬實驗室、計算機(jī)網(wǎng)絡(luò)課程學(xué)習(xí)平臺,引入實驗室機(jī)房管理系統(tǒng),獨(dú)立開發(fā)完成計算機(jī)實驗考試系統(tǒng)。然而上述平臺相對孤立、數(shù)據(jù)冗余嚴(yán)重,無法實現(xiàn)共享,同時為了更好的利用實驗室資源,把設(shè)備、教師與學(xué)生結(jié)合成實驗教學(xué)的有機(jī)整體,把分散的信息、直觀的推測和解決的問題,提高到系統(tǒng)觀察、系統(tǒng)信息、精確數(shù)據(jù)加工及解決綜合問題的水平[2],同時實驗教學(xué)與評估系統(tǒng)能夠解決計算機(jī)實驗數(shù)據(jù)難以完整記錄在實驗報告中的問題,根據(jù)學(xué)生各個實驗項目開張情況綜合評估給出考核結(jié)果。
實驗教學(xué)與評估系統(tǒng)依托校園網(wǎng)絡(luò),采用B/S架構(gòu),學(xué)員通過瀏覽器HTTP請求Web應(yīng)用服務(wù)器,服務(wù)器集中處理學(xué)員請求,通過身份認(rèn)證后,返回并顯示相應(yīng)的網(wǎng)頁。實驗室計算機(jī)使用內(nèi)部局域網(wǎng),通過路由器與Web服務(wù)器相連。學(xué)員上機(jī)考勤數(shù)據(jù)來源于實驗室先前部署的機(jī)房管理系統(tǒng)(C/S架構(gòu)),學(xué)員實驗考試分?jǐn)?shù)通過計算機(jī)實驗考試系統(tǒng)獲取數(shù)據(jù)(ASP程序),實驗教學(xué)與評估系統(tǒng)與各個分系統(tǒng)之間通過REST Web服務(wù)模塊實現(xiàn)[3],請求與處理的數(shù)據(jù)以Json或Xml數(shù)據(jù)交換格式為主。
圖1 實驗教學(xué)與評估系統(tǒng)整體規(guī)劃Fig.1 Planning of experimental teaching and assessment system
圖2 實驗教學(xué)與評估系統(tǒng)部署模型Fig.2 Deployment model of experimental teaching and assessment system
系統(tǒng)功能包含6大模塊,其中;基礎(chǔ)信息管理是實驗教學(xué)與評估系統(tǒng)的基礎(chǔ)部分,它管理班級、學(xué)員、教員、課程、實驗室等基本信息,這些信息數(shù)據(jù)的修改和刪除必須遵循數(shù)據(jù)的一致性原則;綜合檢索模塊提供常用的信息查詢與匯總,其他信息的檢索可在各個模塊中操作;學(xué)員實驗?zāi)K是為學(xué)員在計算機(jī)實驗過程中提供的功能,如課件下載、作業(yè)提交,選課信息、課程安排等,通過上述功能學(xué)員能夠提交電子版作業(yè)(附件形式),從而解決計算機(jī)程序設(shè)計代碼、Office文檔作業(yè)難以通過紙質(zhì)文檔提交的難題;課程管理模塊主要針對課程進(jìn)度安排表以及實驗室預(yù)約進(jìn)行管理;考核模塊是本系統(tǒng)的核心部分,該模塊包含考勤信息、作業(yè)管理、成績管理等功能,其中,成績管理部分將匯總統(tǒng)計出學(xué)員該門課程的出勤、作業(yè)提交、網(wǎng)絡(luò)課程學(xué)習(xí)、計算機(jī)實驗考試等信息,供教員對學(xué)員成績打分提供依據(jù);系統(tǒng)管理模塊是整個系統(tǒng)安全運(yùn)行的保障,通過角色與權(quán)限的配置,用戶(教員)根據(jù)授權(quán)對系統(tǒng)功能點(diǎn)進(jìn)行操作,數(shù)據(jù)導(dǎo)入導(dǎo)出主要包含了系統(tǒng)數(shù)據(jù)的備份與還原以及報表的定向輸出,Web服務(wù)模塊是與其他子系統(tǒng)交互的接口。
圖3 系統(tǒng)功能框圖Fig.3 Diagram of system function
實驗教學(xué)與評估系統(tǒng)采用Struts MVC框架,同時整合J2EE輕量級框架Spring與Hibernate,Struts主要負(fù)責(zé)用戶請求的調(diào)度[4],IOC容器Spring處理業(yè)務(wù)邏輯,持久化工具Hibernate為關(guān)系型數(shù)據(jù)庫和面向?qū)ο蠹夹g(shù)做映射,3種框架在標(biāo)準(zhǔn)化和規(guī)范化方面優(yōu)勢突出,并且各個框架之間提供了良好支持[5]。
圖4 J2EE框架整合示意圖Fig.4 Integration of J2EE framework
為了更好的提高系統(tǒng)的用戶體驗,尤其是富因特網(wǎng)應(yīng)用(Rich Internet Applications,RIA)技術(shù)的出現(xiàn),它具有很強(qiáng)交互,能夠給用戶提供一個更高和更全方位的網(wǎng)絡(luò)體驗。RIA集成了桌面應(yīng)用的交互性和傳統(tǒng)Web應(yīng)用的部署靈活性與成本分析,以創(chuàng)建單一而完整的用戶體驗;因此,本系統(tǒng)在表示層實現(xiàn)上又采用ExtJS Ajax框架,ExtJS不但在Web開發(fā)中成功引入了豐富的組件,也引入了桌面程序中經(jīng)常用到的面板及布局概念,這些概念的引入在很大程度上改變了傳統(tǒng)的Web開發(fā)方式,Ext2.0對框架進(jìn)行了非常大的重構(gòu),其中重要的一點(diǎn)是形成了一個結(jié)構(gòu)及層次分明的組件體系,由組件形成Ext的控件。
使用ExtJS框架整合Struts Web應(yīng)用時,只需要對DispatchAction進(jìn)行改寫,假定遺留的Struts Web系統(tǒng)使用了Spring、Hibernate框架,那么DispatchAction中應(yīng)該不包含任何的業(yè)務(wù)邏輯代碼,只需在DispatchAction處理請求結(jié)束之前返回ExtJS所需要的數(shù)據(jù)格式,不再需要forward跳轉(zhuǎn)到struts指定的頁面。
圖5 采用ExtJS開發(fā)的系統(tǒng)界面Fig.5 System interface based on ExtJS
ExtJS用Ajax傳送數(shù)據(jù)的格式主要包括Xml和Json格式,其中,Json(JavaScript Object Notation)一種簡單的數(shù)據(jù)格式,比Xml更輕巧。是JavaScript原生格式,這意味著在JavaScript中處理Json數(shù)據(jù)不需要任何特殊的API或工具包。
使用ExtJS框架整合Struts Web應(yīng)用步驟及編程實現(xiàn)如下:
1)使用ExtJS界面布局Ext.Panel、Ext.Form以及其他的組件改造原始的Jsp或者Html頁面。
2)對請求的DispatchAction進(jìn)行改造,最重要的操作是直接向HttpServletResponse里寫Json格式的內(nèi)容,示例代碼如下:
httpServletResponse.setCharacterEncoding(“UTF-8”);
String jsonData=“{success:true,data:{name:‘JACK’,phone:‘13800000000’,dep:‘1隊’,email:‘jack@163.com’}}”;
httpServletResponse.getWriter().write(jsondata);
return null;//區(qū)別于Struts返回ActionForward,此處返回null
其中:jsonData為Json格式的數(shù)據(jù),success和data是關(guān)鍵字,success必須設(shè)置為true,Ext.form通過success的值顯示獲取“個人簡表信息”成功。
3)獲取“個人簡表信息”成功后,可以對表單項進(jìn)行修改并點(diǎn)擊保存,提交給DispatchAction,在服務(wù)器端獲取參數(shù)方法如下:
String name=httpServletRequest.getParameter(“name”);
通過實驗教學(xué)與評估系統(tǒng),充分利用Web信息技術(shù),將實驗教學(xué)中的各個要素(教員、學(xué)員、實驗內(nèi)容、實驗環(huán)境)有機(jī)集合起來,實驗場地不僅僅局限于實驗室,可以延伸到任何網(wǎng)絡(luò)能夠聯(lián)通的地方[6],如寢室、電子閱覽室等場所,甚至融入到學(xué)員的日常學(xué)習(xí)生活中,學(xué)員能夠?qū)崟r與教員進(jìn)行溝通,并對實驗內(nèi)容以及實驗任務(wù)進(jìn)行持久化存儲,有助于復(fù)習(xí)與回顧。
系統(tǒng)實施以來,學(xué)員在實驗課上積極完成實驗任務(wù),通過附件的形式進(jìn)行作業(yè)提交與實驗總結(jié),不再限于實驗報告的書寫,提高了實驗任務(wù)的完成質(zhì)量,同時,缺勤的學(xué)員可以通過系統(tǒng)下載課件自主完成實驗任務(wù),并遠(yuǎn)程提交作業(yè),不再受限于實驗室內(nèi)進(jìn)行,消除了部分學(xué)員缺席實驗導(dǎo)致的不利因素。
文中根據(jù)計算機(jī)實驗課程的特點(diǎn),結(jié)合現(xiàn)有的實驗管理軟件平臺,提出了一種基于J2EE架構(gòu)的實驗教學(xué)與評估系統(tǒng)的建設(shè)方案,系統(tǒng)采用輕量級的J2EE框架,在軟件設(shè)計上實現(xiàn)了分層模式,通過配置文件或面向接口的編程方法降低了各個模塊代碼之間耦合度,使系統(tǒng)具有剛好的擴(kuò)展性,為后續(xù)系統(tǒng)二次開發(fā)提供了有力支持。
通過本系統(tǒng)提供的功能模塊,教員可以掌握課程安排與實驗室預(yù)約信息、學(xué)員進(jìn)行實驗的考勤信息與作業(yè)完成情況,同時,使用系統(tǒng)提供REST的Web服務(wù)能夠獲取學(xué)員上機(jī)實時運(yùn)行的計算機(jī)程序列表(數(shù)據(jù)由機(jī)房管理系統(tǒng)以Json格式提供),全程掌控學(xué)員上機(jī)實驗的整個過程;系統(tǒng)核心模塊是實驗考核部分,教員可依據(jù)系統(tǒng)匯總統(tǒng)計的學(xué)員該門課程的考勤信息、作業(yè)提交、網(wǎng)絡(luò)課程學(xué)習(xí)情況、計算機(jī)實驗考試分?jǐn)?shù)等信息給出成績,通過該系統(tǒng)的實施可大大提升計算機(jī)實驗教學(xué)的實施效果,強(qiáng)化實驗過程中學(xué)員與教員的溝通,輔助提高教員對學(xué)員實驗過程掌控能力。
[1]張昕明.高校實驗室綜合管理系統(tǒng)的設(shè)計與實現(xiàn)[J].實驗技術(shù)與管理,2009,26(12):91-94.ZHANG Xin-ming.Design and implementation of integrated management system of laboratories in colleges and universities[J].Electronic Design Engineering,2009,26(12):91-94.
[2]潘信吉.高校實驗室開放管理系統(tǒng)的研究與應(yīng)用[J].實驗室研究與探索,2009,28(9):143-146.PAN Xin-ji.Research and application of laboratory open management system of universities[J]. Research and Exploration in Laboratory,2009,28(9):143-146.
[3]劉志都.SOA在校際資源共享中的應(yīng)用研究[J].計算機(jī)應(yīng)用研究,2009,25(9):2721-2723.LIU Zhi-du.Application and research of SOA in interscholastic resource share[J].Application Research of Computers,2009,25(9):2721-2723.
[4]張永.基于Struts架構(gòu)的教學(xué)輔助系統(tǒng)的設(shè)計與實現(xiàn)[J].微計算機(jī)應(yīng)用,2007,28(1):104-107.ZHANG Yong.The design and implementation of a teaching system based on struts framework[J]. Microcomputer Applications,2007,28(1):104-107.
[5]張杰,杜玉越.基于OFBiz與J2EE的水利水電應(yīng)用系統(tǒng)的設(shè)計[J].山東科技大學(xué)學(xué)報,2009,28(1):83-88.ZHANG Jie,DU Yu-yue.Design of water conservancy and hydropower application systems based on OFBiz and J2EE[J].Journal of Shandong Univ of Sci and Technol,2009,28(1):81-88.
[6]羅家奇,徐云生.實驗室網(wǎng)絡(luò)信息化管理探討[J].實驗室研究與探討,2008,27(5):74-76.LUO Jia-qi,XU Yun-sheng.Information management system of laboratory based on network[J].Laboratory Research and Exploration,2008,27(5):74-76.