張 杰,呂 紅,周立軍,王麗娜
(海軍航空工程學院 基礎實驗部,山東 煙臺 264001)
信息技術的快速發展為實驗教學改革提供豐富資源和技術支撐,加強信息化條件下教學條件建設,是新形勢下培養高素質新型軍事人才,實現軍事教育訓練向信息化轉變的關鍵所在,高素質新型軍事人才不僅要具備扎實的理論基礎和專業知識,還必須具有較強的動手操作、綜合分析和創新能力,而這些能力均可以通過實驗教學獲得,由于實驗教學具有面向學生開放實驗、支持以實驗項目為實施單元、實驗過程實時反饋等特點,使得傳統按照班級集體上課模式的教務軟件針對實驗教學過程變得異常艱難[1]。
建設實踐教學與評估系統的目的旨在遵循計算機實驗教學的規律與特點,運用現代信息技術改進實驗教學實施過程,增強開展實驗教學效果,促進實驗室各項工作的改革和發展,將原先獨立、孤立分布的實驗室軟硬件資源實現互聯與共享,為實驗室各項業務活動提供信息支持,把實驗管理、實驗教學實施、實驗開放與創新結合成一個有機整體,全面協調與綜合使用實驗室資源,為實驗管理、教學與科研提供有力全面支撐。
要實現計算機實驗課程在時間、空間、過程的全方位、深層次開放,必須有網絡信息平臺的有效支撐,根據我院的計算機實驗室實際情況,我們逐步建成并完善了計算機硬件接口虛擬實驗室、計算機網絡課程學習平臺,引入實驗室機房管理系統,獨立開發完成計算機實驗考試系統。然而上述平臺相對孤立、數據冗余嚴重,無法實現共享,同時為了更好的利用實驗室資源,把設備、教師與學生結合成實驗教學的有機整體,把分散的信息、直觀的推測和解決的問題,提高到系統觀察、系統信息、精確數據加工及解決綜合問題的水平[2],同時實驗教學與評估系統能夠解決計算機實驗數據難以完整記錄在實驗報告中的問題,根據學生各個實驗項目開張情況綜合評估給出考核結果。
實驗教學與評估系統依托校園網絡,采用B/S架構,學員通過瀏覽器HTTP請求Web應用服務器,服務器集中處理學員請求,通過身份認證后,返回并顯示相應的網頁。實驗室計算機使用內部局域網,通過路由器與Web服務器相連。學員上機考勤數據來源于實驗室先前部署的機房管理系統(C/S架構),學員實驗考試分數通過計算機實驗考試系統獲取數據(ASP程序),實驗教學與評估系統與各個分系統之間通過REST Web服務模塊實現[3],請求與處理的數據以Json或Xml數據交換格式為主。

圖1 實驗教學與評估系統整體規劃Fig.1 Planning of experimental teaching and assessment system

圖2 實驗教學與評估系統部署模型Fig.2 Deployment model of experimental teaching and assessment system
系統功能包含6大模塊,其中;基礎信息管理是實驗教學與評估系統的基礎部分,它管理班級、學員、教員、課程、實驗室等基本信息,這些信息數據的修改和刪除必須遵循數據的一致性原則;綜合檢索模塊提供常用的信息查詢與匯總,其他信息的檢索可在各個模塊中操作;學員實驗模塊是為學員在計算機實驗過程中提供的功能,如課件下載、作業提交,選課信息、課程安排等,通過上述功能學員能夠提交電子版作業(附件形式),從而解決計算機程序設計代碼、Office文檔作業難以通過紙質文檔提交的難題;課程管理模塊主要針對課程進度安排表以及實驗室預約進行管理;考核模塊是本系統的核心部分,該模塊包含考勤信息、作業管理、成績管理等功能,其中,成績管理部分將匯總統計出學員該門課程的出勤、作業提交、網絡課程學習、計算機實驗考試等信息,供教員對學員成績打分提供依據;系統管理模塊是整個系統安全運行的保障,通過角色與權限的配置,用戶(教員)根據授權對系統功能點進行操作,數據導入導出主要包含了系統數據的備份與還原以及報表的定向輸出,Web服務模塊是與其他子系統交互的接口。

圖3 系統功能框圖Fig.3 Diagram of system function
實驗教學與評估系統采用Struts MVC框架,同時整合J2EE輕量級框架Spring與Hibernate,Struts主要負責用戶請求的調度[4],IOC容器Spring處理業務邏輯,持久化工具Hibernate為關系型數據庫和面向對象技術做映射,3種框架在標準化和規范化方面優勢突出,并且各個框架之間提供了良好支持[5]。

圖4 J2EE框架整合示意圖Fig.4 Integration of J2EE framework
為了更好的提高系統的用戶體驗,尤其是富因特網應用(Rich Internet Applications,RIA)技術的出現,它具有很強交互,能夠給用戶提供一個更高和更全方位的網絡體驗。RIA集成了桌面應用的交互性和傳統Web應用的部署靈活性與成本分析,以創建單一而完整的用戶體驗;因此,本系統在表示層實現上又采用ExtJS Ajax框架,ExtJS不但在Web開發中成功引入了豐富的組件,也引入了桌面程序中經常用到的面板及布局概念,這些概念的引入在很大程度上改變了傳統的Web開發方式,Ext2.0對框架進行了非常大的重構,其中重要的一點是形成了一個結構及層次分明的組件體系,由組件形成Ext的控件。
使用ExtJS框架整合Struts Web應用時,只需要對DispatchAction進行改寫,假定遺留的Struts Web系統使用了Spring、Hibernate框架,那么DispatchAction中應該不包含任何的業務邏輯代碼,只需在DispatchAction處理請求結束之前返回ExtJS所需要的數據格式,不再需要forward跳轉到struts指定的頁面。

圖5 采用ExtJS開發的系統界面Fig.5 System interface based on ExtJS
ExtJS用Ajax傳送數據的格式主要包括Xml和Json格式,其中,Json(JavaScript Object Notation)一種簡單的數據格式,比Xml更輕巧。是JavaScript原生格式,這意味著在JavaScript中處理Json數據不需要任何特殊的API或工具包。
使用ExtJS框架整合Struts Web應用步驟及編程實現如下:
1)使用ExtJS界面布局Ext.Panel、Ext.Form以及其他的組件改造原始的Jsp或者Html頁面。
2)對請求的DispatchAction進行改造,最重要的操作是直接向HttpServletResponse里寫Json格式的內容,示例代碼如下:
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;//區別于Struts返回ActionForward,此處返回null
其中:jsonData為Json格式的數據,success和data是關鍵字,success必須設置為true,Ext.form通過success的值顯示獲取“個人簡表信息”成功。
3)獲取“個人簡表信息”成功后,可以對表單項進行修改并點擊保存,提交給DispatchAction,在服務器端獲取參數方法如下:
String name=httpServletRequest.getParameter(“name”);
通過實驗教學與評估系統,充分利用Web信息技術,將實驗教學中的各個要素(教員、學員、實驗內容、實驗環境)有機集合起來,實驗場地不僅僅局限于實驗室,可以延伸到任何網絡能夠聯通的地方[6],如寢室、電子閱覽室等場所,甚至融入到學員的日常學習生活中,學員能夠實時與教員進行溝通,并對實驗內容以及實驗任務進行持久化存儲,有助于復習與回顧。
系統實施以來,學員在實驗課上積極完成實驗任務,通過附件的形式進行作業提交與實驗總結,不再限于實驗報告的書寫,提高了實驗任務的完成質量,同時,缺勤的學員可以通過系統下載課件自主完成實驗任務,并遠程提交作業,不再受限于實驗室內進行,消除了部分學員缺席實驗導致的不利因素。
文中根據計算機實驗課程的特點,結合現有的實驗管理軟件平臺,提出了一種基于J2EE架構的實驗教學與評估系統的建設方案,系統采用輕量級的J2EE框架,在軟件設計上實現了分層模式,通過配置文件或面向接口的編程方法降低了各個模塊代碼之間耦合度,使系統具有剛好的擴展性,為后續系統二次開發提供了有力支持。
通過本系統提供的功能模塊,教員可以掌握課程安排與實驗室預約信息、學員進行實驗的考勤信息與作業完成情況,同時,使用系統提供REST的Web服務能夠獲取學員上機實時運行的計算機程序列表(數據由機房管理系統以Json格式提供),全程掌控學員上機實驗的整個過程;系統核心模塊是實驗考核部分,教員可依據系統匯總統計的學員該門課程的考勤信息、作業提交、網絡課程學習情況、計算機實驗考試分數等信息給出成績,通過該系統的實施可大大提升計算機實驗教學的實施效果,強化實驗過程中學員與教員的溝通,輔助提高教員對學員實驗過程掌控能力。
[1]張昕明.高校實驗室綜合管理系統的設計與實現[J].實驗技術與管理,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]潘信吉.高校實驗室開放管理系統的研究與應用[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在校際資源共享中的應用研究[J].計算機應用研究,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架構的教學輔助系統的設計與實現[J].微計算機應用,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的水利水電應用系統的設計[J].山東科技大學學報,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]羅家奇,徐云生.實驗室網絡信息化管理探討[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.