APP下载

基于J2EE 的基础化学网络虚拟实验系统设计与实现*

2020-04-26凌育赵凌蔚鹏吴晓天刘佩珊

科技与创新 2020年7期
关键词:服务器端虚拟仪器组件

凌育赵,凌蔚鹏,吴晓天,刘佩珊

(仲恺农业工程学院,广东 广州510225)

随着计算机技术的发展,越来越多的信息化技术被应用到实验教学中,伴随着虚拟技术的发展和仿真实验的需求,基于虚拟仿真技术的网络虚拟仿真实验平台构建的研究已成为教育、教学发展的方向。基于Internet 的虚拟实验室,由于其传统的客户机服务器计算模式存在可扩展性差、维护代价高等缺点,很难适应Internet 应用系统的要求。然而,J2EE 体系结构适合Internet 上的Web 特点的产生和发展[1-2]。

本文将J2EE 技术引入虚拟仿真实验平台的框架结构设计、开发应用和管理评价,构建一种仿真模拟设备和虚拟训练与评价系统有机结合,同时以学生为主体、互动体验式教学的虚拟仿真实验平台。

1 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 的虚拟实验室系统框架

2 系统总体设计与分析

本系统以实验教学为主要目的,既要求实验环境的逼真性又要求实验过程的仿真性。因此,系统的关键在于如何实现多媒体技术与仿真技术的融合设计。采用多媒体技术与仿真技术相结合的方法,以多媒体技术构建真实的虚拟“外壳”,实现多媒体环境下的大学化学实验仿真实验。它不同于一般多媒体软件对于实验现象的模拟演示,而是让用户在逼真的“虚拟场景”中,利用各种“虚拟元器件”任意组装可行的化学实验,并通过各种“虚拟仪器”的测试,实时得到仿真结果。

2.1 系统功能

系统采用基于JavaBean 组件的软件开发方法,构建了一个虚拟化的“网上基础化学实验室”。提供了包括基本操作训练、化学分析实验、仪器分析试验、综合设计实验在内的各类型实验项目;提供了开放式模拟实验平台,可以满足学生自行设计实验项目、开展自主实验的需要。系统具有实验指导、实验报告网上生成与批阅等多项辅助功能,集实验教学、实验操作、实验报告于一体,实现了从辅助教学、自主实验到实验报告的网上提交与批阅的全程操作与管理,满足网上实验教学的需要。

2.2 网络结构

整个系统采用基于Web 的三层结构技术实现,其网络结构如图2 所示。

图2 系统网络结构图

第一层为客户端程序即用户界面程序,它通过使用中间层部件提供的业务服务来实现其功能。它本身不进行任何业务数据处理,因此客户端配制很简单,客户可利用浏览器完成操作。中间层是应用服务层,包括许多提供各种服务的独立的中间层部件,对数据库的访问均采用对象嵌入引擎的方法,避免了使用ODBC 需要设置的不便。第三层是数据服务层,系统采用SQL Server2005 作为数据库服务器。在基于Web 的三层结构中,系统管理员只需对应用服务器和Web服务器进行维护,而在客户端实现了零维护,提高了工作效率。

2.3 系统模块实现

系统是一个具有“大学基础化学教学实验”教学功能的网站,除了进行虚拟实验操作之外,还支持一系列辅助功能模块,它们共同构成网上虚拟实验室系统。系统采用模块化设计,其主要功能分为4 大系统模块:虚拟实验系统(SVE)、实验辅助系统(SEA)、互动交流系统(SAC)、资料下载系统(SDO)。

SVE 是整个虚拟实验室的核心,它由常用仪器介绍、虚拟实验、实验报告、自我测试4 个模块构成。虚拟实验即基础化学虚拟实验平台,主要由化学实验基本技能、元素与化合物定性鉴定、基本化学合成与制备、物理量参数测定、定量仪器分析、电化学分析6 大功能模块构成。SEA 主要由导航系统、测试系统、评价系统和辅助工具系统4 大功能模块构成。SAC 主要由在线答疑、交流讨论、师生互动、问题集锦4 大功能模块构成。SDO 主要由实验规则、实验室安全、实验基本操作、数据处理知识4 大功能模块构成。虚拟系统功能模块和平台主界面如图3、图4 所示。

图3 虚拟实验室系统功能结构图

图4 基础化学虚拟实验平台主界面

3 技术实现及要点

3.1 基于J2EE 的平台交互技术

系统采用了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 建模与仿真设计

3.2.1 虚拟仪器的仿真设计由Java 语言编写的Applet 程序实现

在JSP 页面中,只需要嵌入Applet 程序即可。虚拟仪器采用的是面向对象的建模方式。图像模型使用绘制软件制作出各种仪器的二维平面图以及与之对应的掩码图,实现虚拟仪器与虚拟实验环境在视觉效果上的无缝连接和自然融合,并通过各自数学模型进行数据交换,使之成为协调工作的统一整体。虚拟仪器面向对象建模,直接以实物仪器作为对象,虚拟仪器间消息的传送引起系统的所有活动,其整体功能由虚拟器件的操作及虚拟器件间信息的彼此作用来实现。虚拟仪器的行为则由对象动态行为表示,虚拟仪器对象之间通过消息通信相互协作。

3.2.2 虚拟实验过程的仿真设计

虚拟实验过程的仿真设计包括实验平台的搭建、实验药品的添加、虚拟仪器的启动、实验数据的测量以及曲线图的动态显示。虚拟实验平台包括虚拟实验环境(图像模型)和计算仿真模块(数学模型)。作为人机交互界面的虚拟实验环境表现为一个虚拟化学仪器编辑器。在此环境下,提供了各种具有逼真外形的虚拟化学仪器,使用者用鼠标自由拖拽器件连接实验装置,就像在真实实验台搭接实验仪器一样方便快捷[8]。

3.3 实验状态的保存和恢复

系统在数据存取方面采用JSP/Servlet+JDBC+MySL 方案,即客户端不产生数据库查询命令,客户端上的浏览器通过URL 和中间层的Web 服务器建立连接。在客户端,通过HIML 向服务器发出查询数据的请求。在服务器端Servlet,收到查询请求后,通过执行程序中的SQL 语句,以JDBC为工具,对SQL 数据库进行访问、操作。Servlet 再将查询的数据传给JSP,最后生成标准的JSP 页面,将结果返回给提出请求的浏览器。这样,不仅将客户端与数据库服务器端分开,同时提高了数据库的访问效率。采用表达能力强、易扩展的XML 语言作为信息传递载体,实现对客户端仪器搭建及实验状态等信息的保存和恢复,XML 作为客户端与服务器数据交换的模型,实现了对实验状态的保存,根据XML文件中保存的信息重现实验现场[9]。

4 结束语

基于J2EE 的网络虚拟实验平台采用整体功能模块化结构设计,提高了虚拟实验室设备组件的开发效率,具有良好的可扩展性和跨平台性,有效解决了传统实验室建设成本高、设备利用率低和实验室维护管理困难等缺点。通过网上学习和虚拟训练,共享学习资源,实现了体验式教学与线上网络学习及虚拟体验的有机结合,突破了传统教学模式受时间、地点和实验设备等的限制,提高了实验教学效果。

猜你喜欢

服务器端虚拟仪器组件
无人机智能巡检在光伏电站组件诊断中的应用
Kistler全新的Kitimer2.0系统组件:使安全气囊和安全带测试更加可靠和高效
创建Vue组件npm包实战分析
舰载雷达TR组件冲击计算方法分析
高职院校应用虚拟仪器技术的研究与实践①
基于Qt的安全即时通讯软件服务器端设计
基于Qt的网络聊天软件服务器端设计
一种基于Java的IM即时通讯软件的设计与实现
基于C/S架构的嵌入式监控组态外设扩展机制研究与应用
基于LabVIEW与USB的虚拟仪器接口设计