凌育趙,凌蔚鵬,吳曉天,劉佩珊
(仲愷農業工程學院,廣東 廣州510225)
隨著計算機技術的發展,越來越多的信息化技術被應用到實驗教學中,伴隨著虛擬技術的發展和仿真實驗的需求,基于虛擬仿真技術的網絡虛擬仿真實驗平臺構建的研究已成為教育、教學發展的方向。基于Internet 的虛擬實驗室,由于其傳統的客戶機服務器計算模式存在可擴展性差、維護代價高等缺點,很難適應Internet 應用系統的要求。然而,J2EE 體系結構適合Internet 上的Web 特點的產生和發展[1-2]。
本文將J2EE 技術引入虛擬仿真實驗平臺的框架結構設計、開發應用和管理評價,構建一種仿真模擬設備和虛擬訓練與評價系統有機結合,同時以學生為主體、互動體驗式教學的虛擬仿真實驗平臺。
J2EE 是一種利用Java 2 平臺來簡化企業解決方案的開發、部署和管理相關的復雜問題的體系結構,其基礎是核心Java 平臺或Java 2 平臺的標準版。J2EE 服務器作為中間層可以有多層應用程序,使得程序各功能分離,一部分由支持Servlet 或JSP 的Web 服務器來實現會話層,一部分由支持EJB 的應用服務器來實現的邏輯層,同時Web 容器和EJB容器自動處理底層各種復雜的系統級訪問服務,例如事務處理、組件的生命周期和安全控制等[3-4]。
基于J2EE 的虛擬實驗室系統框架如圖1 所示,平臺各部分與J2EE 應用模式聯系緊密,利用JSP 界面,用戶提交的操作在服務器端(中間層)進行必要檢查,通過服務器端程序(Servlet),Servlet 根據客戶端請求生成響應內容并將其傳給服務器,服務器將響應返回客戶端。
利用Beans 提供的功能,將用戶的合法需求交給后臺的數據庫。通過強大的后臺數據庫(信息層)支持,系統進行數據檢索查詢,得到結果后送回服務器。可以充分利用J2EE提供的便利功能,開發出功能強大的虛擬實驗平臺[5-6]。

圖1 基于J2EE 的虛擬實驗室系統框架
本系統以實驗教學為主要目的,既要求實驗環境的逼真性又要求實驗過程的仿真性。因此,系統的關鍵在于如何實現多媒體技術與仿真技術的融合設計。采用多媒體技術與仿真技術相結合的方法,以多媒體技術構建真實的虛擬“外殼”,實現多媒體環境下的大學化學實驗仿真實驗。它不同于一般多媒體軟件對于實驗現象的模擬演示,而是讓用戶在逼真的“虛擬場景”中,利用各種“虛擬元器件”任意組裝可行的化學實驗,并通過各種“虛擬儀器”的測試,實時得到仿真結果。
系統采用基于JavaBean 組件的軟件開發方法,構建了一個虛擬化的“網上基礎化學實驗室”。提供了包括基本操作訓練、化學分析實驗、儀器分析試驗、綜合設計實驗在內的各類型實驗項目;提供了開放式模擬實驗平臺,可以滿足學生自行設計實驗項目、開展自主實驗的需要。系統具有實驗指導、實驗報告網上生成與批閱等多項輔助功能,集實驗教學、實驗操作、實驗報告于一體,實現了從輔助教學、自主實驗到實驗報告的網上提交與批閱的全程操作與管理,滿足網上實驗教學的需要。
整個系統采用基于Web 的三層結構技術實現,其網絡結構如圖2 所示。

圖2 系統網絡結構圖
第一層為客戶端程序即用戶界面程序,它通過使用中間層部件提供的業務服務來實現其功能。它本身不進行任何業務數據處理,因此客戶端配制很簡單,客戶可利用瀏覽器完成操作。中間層是應用服務層,包括許多提供各種服務的獨立的中間層部件,對數據庫的訪問均采用對象嵌入引擎的方法,避免了使用ODBC 需要設置的不便。第三層是數據服務層,系統采用SQL Server2005 作為數據庫服務器。在基于Web 的三層結構中,系統管理員只需對應用服務器和Web服務器進行維護,而在客戶端實現了零維護,提高了工作效率。
系統是一個具有“大學基礎化學教學實驗”教學功能的網站,除了進行虛擬實驗操作之外,還支持一系列輔助功能模塊,它們共同構成網上虛擬實驗室系統。系統采用模塊化設計,其主要功能分為4 大系統模塊:虛擬實驗系統(SVE)、實驗輔助系統(SEA)、互動交流系統(SAC)、資料下載系統(SDO)。
SVE 是整個虛擬實驗室的核心,它由常用儀器介紹、虛擬實驗、實驗報告、自我測試4 個模塊構成。虛擬實驗即基礎化學虛擬實驗平臺,主要由化學實驗基本技能、元素與化合物定性鑒定、基本化學合成與制備、物理量參數測定、定量儀器分析、電化學分析6 大功能模塊構成。SEA 主要由導航系統、測試系統、評價系統和輔助工具系統4 大功能模塊構成。SAC 主要由在線答疑、交流討論、師生互動、問題集錦4 大功能模塊構成。SDO 主要由實驗規則、實驗室安全、實驗基本操作、數據處理知識4 大功能模塊構成。虛擬系統功能模塊和平臺主界面如圖3、圖4 所示。

圖3 虛擬實驗室系統功能結構圖

圖4 基礎化學虛擬實驗平臺主界面
系統采用了Java Script+XML+JSP+Java Bean 的設計模式。Java Script 是在客戶端網頁上運行的腳本語言,生成客戶端動態網頁。XML 主要用于與服務器端信息模型交互。Java Bean 主要用于實現一些業務邏輯或封裝一些業務對象,它是模擬仿真的核心模塊,包括仿真實驗平臺組件、虛擬儀器組件的設計,實驗過程的仿真實現等。
3.1.1 JavaBan 組件技術
系統采用了Java Ban 組件技術來封裝數據庫,而虛擬設備采用基于JavaBeans 的組件對象技術創建,每個實驗設備組件的實現細節完全被封裝在每個Bean 組件的內部,用戶可以添加自己編寫的新實驗儀器組件,并向外提供調用接口。儀器組件屬性的設置和讀取的操作通過Bean 組件中的get 方法和set 方法,為外部提供屬性讀取方法和更改方法來實現。基于JavaBeans 的組件對象技術創建的虛擬實驗室系統,用戶可以動態地選擇實驗和創建設備、設置實驗和設備的參數值,通過把實現設備功能的算法在組件設計和編寫源代碼時寫入JavaBeans 組件就可完成與真實設備功能等效的設備組件創建[6]。
3.1.2 JSP+XML 技術的結合
JavaServer Pages(JSP)和XML 是J2EE 的兩個至關緊要的組件。JSP 是創建應用程序服務器端程序的有效工具,而客戶可以是一個瀏覽器、一個設備或其他的應用程序。使用XML 描述數據并在聯系服務器與系統的其余部分之間傳遞。抽象而言,JSP 可以被認為是實現技術,而XML 則是數據封裝和消息傳送技術。JSP 頁面可以通過三種方式使用XML:直接使用XML 文件、使用JavaBeans 執行XML 處理、通過標記庫使用XML[7]。
在虛擬實驗平臺下,客戶端的用戶可以隨時保存實驗狀態及實驗數據,在客戶端和服務器端進行數據交換,需要XML 技術來完成。而在JSP 頁面中,JSP 技術支持XML技術。
3.2.1 虛擬儀器的仿真設計由Java 語言編寫的Applet 程序實現
在JSP 頁面中,只需要嵌入Applet 程序即可。虛擬儀器采用的是面向對象的建模方式。圖像模型使用繪制軟件制作出各種儀器的二維平面圖以及與之對應的掩碼圖,實現虛擬儀器與虛擬實驗環境在視覺效果上的無縫連接和自然融合,并通過各自數學模型進行數據交換,使之成為協調工作的統一整體。虛擬儀器面向對象建模,直接以實物儀器作為對象,虛擬儀器間消息的傳送引起系統的所有活動,其整體功能由虛擬器件的操作及虛擬器件間信息的彼此作用來實現。虛擬儀器的行為則由對象動態行為表示,虛擬儀器對象之間通過消息通信相互協作。
3.2.2 虛擬實驗過程的仿真設計
虛擬實驗過程的仿真設計包括實驗平臺的搭建、實驗藥品的添加、虛擬儀器的啟動、實驗數據的測量以及曲線圖的動態顯示。虛擬實驗平臺包括虛擬實驗環境(圖像模型)和計算仿真模塊(數學模型)。作為人機交互界面的虛擬實驗環境表現為一個虛擬化學儀器編輯器。在此環境下,提供了各種具有逼真外形的虛擬化學儀器,使用者用鼠標自由拖拽器件連接實驗裝置,就像在真實實驗臺搭接實驗儀器一樣方便快捷[8]。
系統在數據存取方面采用JSP/Servlet+JDBC+MySL 方案,即客戶端不產生數據庫查詢命令,客戶端上的瀏覽器通過URL 和中間層的Web 服務器建立連接。在客戶端,通過HIML 向服務器發出查詢數據的請求。在服務器端Servlet,收到查詢請求后,通過執行程序中的SQL 語句,以JDBC為工具,對SQL 數據庫進行訪問、操作。Servlet 再將查詢的數據傳給JSP,最后生成標準的JSP 頁面,將結果返回給提出請求的瀏覽器。這樣,不僅將客戶端與數據庫服務器端分開,同時提高了數據庫的訪問效率。采用表達能力強、易擴展的XML 語言作為信息傳遞載體,實現對客戶端儀器搭建及實驗狀態等信息的保存和恢復,XML 作為客戶端與服務器數據交換的模型,實現了對實驗狀態的保存,根據XML文件中保存的信息重現實驗現場[9]。
基于J2EE 的網絡虛擬實驗平臺采用整體功能模塊化結構設計,提高了虛擬實驗室設備組件的開發效率,具有良好的可擴展性和跨平臺性,有效解決了傳統實驗室建設成本高、設備利用率低和實驗室維護管理困難等缺點。通過網上學習和虛擬訓練,共享學習資源,實現了體驗式教學與線上網絡學習及虛擬體驗的有機結合,突破了傳統教學模式受時間、地點和實驗設備等的限制,提高了實驗教學效果。