基于开源框架的J2EE网上虚拟仿真实验平台的分析.docx
《基于开源框架的J2EE网上虚拟仿真实验平台的分析.docx》由会员分享,可在线阅读,更多相关《基于开源框架的J2EE网上虚拟仿真实验平台的分析.docx(155页珍藏版)》请在冰豆网上搜索。
基于开源框架的J2EE网上虚拟仿真实验平台的分析
基于开源框架的J2EE网上虚拟仿真实验平台的分析
桂林工学院硕士学位论文
摘要
随着虚拟现实技术的不断发展,虚拟实验的相关研究日益深入。
基于J2EE的网上虚拟实验系统成为了虚拟现实技术的一个有效应用,它通过Java企业级应用模式的封装,产生了很好的适用效果。
Java和Matlab混合编程模式有了很大的革新,从过去经由Corba技术整合异构系统到MatlabWeb服务器再到本文提到的MatlabbuilderforJava,这些都表明它们在一步步拉近距离。
前面两种方式已经逐渐被淘汰,因为它们在很多方面都存在局限性,不能很好的满足系统的要求。
为了建立
_种合理、高效的虚拟实验系统,本研究将Java和Matlab两者的最新技术相结合,实践出了一种基于开源框架、多层结构的虚拟实验平台。
本研究通过对Spring、Struts、Hibernate及Ajax框架的深入研究,结合Matlab最新算法、函数封装技术和面向对象分析方法,提出了一种基于组件的开发框架。
该框架将组件实体和调用控制相分离,并从组件关系、组件行为和组件交互三方面对框架进行了描述。
组件实体由Matlab封装工具产生,调用控制则通过Spring容器实现。
系统采用开源Eclipse和插件Myeclise实现,系统分析、设计和实现中包含了数据库建模设计、基于设计模式的类图设计及运用Ajax技术实现页面异步通信等内容。
本研究还对面向对象的系统设计方法、统一建模语言(UML)以及关系/对象映射技术(o/RMapping)的应用进行了探讨,同时对Matlab的封装技术、编程方式和数据格式转换进行了详细的分析。
最后,还应用了面向服务构架(SoA)的思想,对本虚拟实验平台进行了分析,为将来的整合提供一些参考性的研究内容。
【关键词】虚拟实验,Matlab,J2EE应用,Spring框架,Struts框架,Hibernate框架,算法封装
桂林工学院硕士学位论文
Abstract
Witlltheunseasingdevelopmentofvirtualrealitytechnology,therelatedresearchaboutvirtualexperimentiSdaybydaythorough.耶1eon-linevirtualexperimentalsystembasedonJ2EEisalleffectiveapplicationofvirtualrealitytechnology,through
envelopmentofJavaenterprise-levelapplicationpattern,Ithaveaverygoodsuitableeffect.JavaandMatlabmixprogrammingpaRemhadaverybiginnovation,frompastbywayofCorbatechnologyconformityisomerismsystem.MatlabWebseiwertoMatlabbuilderforJavawhichwementionedinthisarticle.theseallindicatedthat
theynarrowdistancestepbystep.11lefronttwowaysarcalreadyeliminatedgradually,becausetheyhavevariouslimitationinmanyaspectsandcannotsatisfiythesystemrequestperfectly.Inordertoestablishareasonable,highlyeffectivevirUlal
experimentalsystem,thisresearchunifiestwonewesttechnologiesinJavaandMatlab,practicedanexperimentalplatformwhichbasedontheopcnosoRrceframeworkandmulti.tierstructure.
11lisarticlethroughdeeplyresearchonSpring,Struts,HibernateandAjaxframework,unifiesthenewestenvelopmenttechnologyofalgorithm,functionofMatlab,andobject.orientedanalysismethods,proposedaprogrammingframeworkbasedoncomponent.Thisframeworkseparatesthecomponententityandinvoking
control,anddescriptionoftheframeworkcontainsthreeaspects,suchascomponent
relations,compcInentbehaviorandcomponentalternate.nlecomponentproductedby
Matlabenvelopmentt001.invokingcontrolrealizethroughSpringcontainer.
砀esystemusedopensourceEclipseandplugin--Myeclisetorealize,Inthe
systemanalysis,designandrealization,itcontainsthedatabasemodellingdesign,classchartdesignbasedondesignpattern,realizespageasynchronouscommunicationthroughAia】【technologyandSOon.nlisresearchalSOdiscussedtheapplicationofobject-orientedsystemdesignmethod,unifiedmodellinglanguageandO/RMapping,meanwhiletoanalysisMatlabenvelopmenttechnology,programmingwayanddataformattransformationindetail.Finally,butitalSOappliedthethinkingofService.OrientedArchitecture(SOA),carriedontheanalysistovirtualexperimentalplatform,itwillprovideSOmereferenceforconformityinthefuture.
[KeyWords]virtualexperiment,Matlab,J2EEapplication,Springframework,Struts
framework,Hibernateframework,Algorithmenvelope.
Ⅱ
桂林工学院硕士学位论文
研究生学位论文独创性声明和版权使用授权说明
独创性声明
本人声明:
所呈交的论文是我个人在¨+教授指导下进行的研究工作及取得的研究成果。
尽我所知,‘除了文中特别加以标注和致谢的地方外,论文中不包含他人已经发表或撰写过的研究成果,也不包含为获得桂林工学院或其它教育机构的学位或证书而使用过的材料。
对论文的完成提供过帮助的有关人员已在论文中
‘
作了明确的说明并致以了谢意。
学位论文作者(签字):
签字日期:
弋厶函芬2剑口:
聋丕兰型∑
版权使用授权说明本人完全了解桂林工学院关于收集、保存、使用学位论文的规定,即:
按照
学校要求提交学位论文的印刷本和电子版本:
学校有权保存学位论文的印刷本和
电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
(保密论文在解密后遵守此规定)
学位论文作者(签字):
互三§兰盛
指导教师签字:
签字日期:
3
桂林工学院硕士学位论文
第1章绪论
1.1研究背景与意义
近年来,由于计算机和信息技术的飞速发展,虚拟技术的研究也由高投入的航天、军事领域进入到民用及教育等领域,已普遍应用于各个行业,虚拟技术的出现及发展使现代测试技术发生了实质性的变革。
目前,国内外有很多组织都己经开展了虚拟仿真实验系统的研究和建设工作,特别是在国外一些著名的大学,已有较多建好并投入使用的虚拟仿真实验系统,涵盖了计算机网络、数学、人工智能、生命科学、化学、物理、生物工程、通讯、3DCAD、图形图像、农业科学等教学、科研领域。
例如,德国的汉诺威大学建立了虚拟自动化实验室;西班牙大学电子系已经开发了电子仪器虚拟工作平台:
新加坡国立大学开设了远程示波器实验和压力容器实验n1。
虽然我国已有的一些远程教学资源在内容上非常丰富,且有实现了实验性质的教学单元,但与西方发达国家相比,国内在虚拟实验方面开展的工作还不多,只有清华大学、北京大学、上海交通大学、华中科技大学等部分高校设立了电子教室,其中有少数电子教室提供了有限的虚拟实验功能,如华中科技大学机械学院建立了一个工程测试虚拟仿真实验室,学生可以通过联网计算机终端来进行仿真实验,图像处理研究室设计了数字图像处理虚拟仿真实验室,包括了一些常用的图像处理算法。
尽管现在还有很多不足,但是我们应该看到,随着科学技术的不断发展有关虚拟实验的理论和实践都将越来越成熟和完善。
在现代教育中,实验教学占有非常重要的地位,它是对学生进行创新素质教育的一个重要手段。
目前,各高校对实验课的教学,大都存在着实验形式、内容、要求越来越高与实验设备、器材、场地、经费的保障相对滞后的-矛盾,实验保障条件的制约在一定程度上影响了实验教学的开展和学生实践创新能力的培养。
虚拟实验作为传统实验的一个必要的有益补充,既能节约大量的教育经费,也使实验在时间和空间上得到有效的延伸。
信息技术的发展为虚拟实验的开发提供了可能。
1.2前人成果
基于Web的虚拟实验环境是目前研究的热点问题之一,已经有部分学者在这方面做了工作,同时也提出了不少新的理论和实践方法。
●文献昭1描述了虚拟生物学实验室的设计与开发,该系统是以JavaApplet作为客户端,以JavaBean的形式实现实验组件。
·文献口1中介绍了远程编程虚拟实验室的设计,客户端采用JavaApplet,服务器
桂林工学院硕士学位论文
端采用CGI、JavaServlet,客户端把程序代码以文本的方式发送给服务器,服务器调用相应的语言编译器编译执行,再将结果返回客户端。
·在文献H3中提出的IP网络虚拟实验室是以一台EthernetSwitch和多台运行Linux操作系统的PC机作为仿真设备,用户可以在Web上远程输入Linux网络操作命令,服务器端将仿真设备的输出结果返回给用户。
·在文献∞1提出的残疾人虚拟实验室中,用户界面采用了Macromedia出品的Authorware多媒体创作软件来开发用户界面,用LabView软件来接受某些真实设备的输入数据来完成模拟过程,同时可以采用LabView本身的“G"编程语言来编程实现用户需要的虚拟设备。
以上可以看出,当前对虚拟实验的研究都存在很大的差异,而本课题运用新版Matlab的新增模块(MATLABBuilderforJava)来实现其与Java的结合将进一步丰富该领域的研究方法。
1.3研究内容
本文着重探讨了基于开源框架的J2EE网上虚拟仿真实验平台的分析、设计和实现,主要研究内容包括:
·分析研究一些主流J2EE开源框架,如Spring(业务逻辑层),Struts(表现层),Hibernate(数据持久层)等,并将其用于项目的设计和实现。
·在项目中引入对UML可视化建模技术的研究,灵活运用从模型到数据和代码的自动转换机制,实现整体上的系统化和规范化要求。
·研究Matlab在数字信号处理、数字图像处理方面的仿真应用、Matlab的编程方法及最新版本(2007)推出的MATLABBuilderforJava模块对Java的支持功能,进一步分析和运用这一功能模块实现对Matlab算法和函数的封装。
·探讨并实践了基于J2EE框架下应用AJAX实现客户端的实验平台开发技术。
1.4论文结构安排
本文分成六章,具体结构安排如下:
第l章绪论,介绍了本课题所研究的背景及其科学意义、研究现状、课题研究
内容和论文结构安排。
第2章虚拟实验平台的相关技术,首先简要介绍了虚拟实验的基本理论知识,
然后介绍了该系统的开发工具、虚拟实验平台设计和开发所需要的相关技术以及Java主流开源工具框架。
第3章Matlab及算法和函数的封装,介绍了Matlab在数字信号处理、数字图像处理方面的仿真应用及新版本推出的MATLABBuilderforJava模块对Java的支持功
2
桂林工学院硕士学位论文
能,最后通过实例分析和讨论了Matlab实现算法和函数封装的方法。
第4章虚拟实验平台的总体分析与设计,阐述了该系统的业务流程、用例实现、
具体功能划分、系统技术构架及数据库建模。
第5章虚拟实验室平台的实现,以实验操作核心模块为例,从多个层次阐述了
实现过程,并通过建模语言(UML)的类图、序列图详细的说明了实现过程中各对象间的关联关系。
最后针对不同的功能点分别给出了部分实现代码。
第6章总结与展望,对本论文的工作进行总结,指出了本文中许多值得研究和探
讨的问题及对今后工作的展望。
1.5本章小结
本章主要对虚拟仿真技术的研究背景及意义、前人的研究成果、本论文的研究内容和论文的组织结构进行了分析和说明。
3
桂林工学院硕士学位论文
第2章虚拟实验平台及相关开发技术
2.1虚拟实验相关理论
2.1.1概念
虚拟实验,就是按照实验教学的基本要求,建立虚拟的工程实验环境,运用各种虚拟实验仪器、仪表或设备,对建立起来的实验模型进行实时仿真,构成新型的教学实验眦刀。
虚拟实验室,是指利用局域网或互联网,由虚拟现实技术生成的一类适于进行虚拟实验的实验系统,包括相应的实验室环境、有关的实验仪器设备、实验对象及实验信息资源等呻1。
虚拟实验室可以是某一现实实验室的真实实现,也可以是虚拟构想的实验室。
在虚拟实验中,实验者有逼真的感觉,有身临其境的感受,好象是真正在现实实验室里近距离进行现场操作。
在虚拟实验中,没有一个有形的实验室,也没有以实物形态存在的实验工具与实验对象,实验过程主要是对虚拟物进行操作。
与传统的实物实验相比,仿真虚拟实验具有以下特点:
·软件包内的电子元器件种类繁多,其参数可任意设定,仪器仪表齐全,可做各种实验;
·实验不消耗器材,实验所需器材种类和数量不限制,实验成本低;
●实验速度快,效率高,容易开展各种设计性、综合性实验,提高了学生的电路设计能力:
作品自制的成功会给学生带来一种成就感,增加其学习的兴趣,自主性更高;
·可以方便地分析测试结果,利用打印机直接打印电路原理图、实验数据、测试曲线;
·在教学中引入现代化教育手段,可以营造一种生动活泼、轻松愉快的教学氛围,其突出的特点就是直观性强,便于学生自学。
2.1.2虚拟实验室的创建
构建专业虚拟实验室,其实就是搭建一个包括硬件、软件及管理的网络平台系统。
从硬件上讲,各院校都建立了校园网并接入互联网,基础设施基本可以满足需求,不需要太多的投入。
软件方面,一方面是网上虚拟实验室平台软件的开发与网站建设息息相关,网站内容(实验内容)的设计是实现系统构建的关键,虚拟实验室应有可以做的实验来支撑,不然软件平台就是一个空架子,形同虚设。
同时,该平台上还应有实验管理的支持,对实验报告、实验指导、实验成绩及网上答疑等进
4
桂林工学院硕士学位论文
行有效管理,并提供教师与学生的实时交互接口,通过该接口教师可以进行在线实
验教学。
本虚拟实验系统就是依照上面的一些原则进行设计的。
老师和学生可以通过网络参与基于Matlab的仿真实验,包括数字图像处理和数字信号处理等。
系统除了完成用户实验操作外,还提供了对网上虚拟实验系统中与应用领域相关的通用功能模块的支持,如实验资源的组织与管理、实验机构的管理、实验教学活动的组织与管理、自定义实验内容等。
这种新的实验教学方法灵活有趣,能充分调动学生的积极性,促使其主动参加实验教学的整个过程,同时教学资源可以得到优化配置和共享。
2.2J2EE框架
伴随着信息化的高速发展,J2EE平台日趋成熟并得到了广泛应用,基于Java的Web应用开始进入框架时代。
由于为Web应用提供了现成的通用的框架,即预备的软件架构和相关的软件包,因此使用Web应用框架可以大大地提高开发Web应用程序的速度和效率,规范开发的过程。
2.2.1J2EE概述
,
J2EE是SUN公司定义的一个开放分布式企业应用规范。
它提供了一个多层次的分布式应用模型和一系列开发技术标准。
通过提供企业计算环境所需要的各种服务,使得部署在J2EE上的多层次应用可以实现高可用性、安全性、可扩展性和可靠性。
它是一种利用平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。
技术的基础就是核心平台或平台的标准版,不仅巩固了标准版中的许多优点,如“编写一次、随处运行"的移植特性、方便存取数据库的技术以及能够在应用中保护数据的安全模式等等,同时还提供了对EJB、JavaServlertsAPI、JSP以及XML
技术的全面支持归1。
J2EE是一个基于组件一容器模型的系统平台,其核心概念是容器。
容器是指为特定组件提供服务的一个标准化的运行环境。
容器封装了J2EE底层的API,为组件提供诸如生命周期管理(LifeCycleManagement)、安全控制(SecurityContr01)、事务管理(TransactionManagement)以及安全性(Security)、持久性(Persistence)
等服务n训。
组件技术是目前较为流行的一种软件重用技术。
组件(Component)就是用于构造应用系统的可复用的软件模块,它们具有特定的功能和自主能力,按一定的接口规范可以实现互操作。
这些组件可以单独地开发和测试,各个组件之间通过接口来交互,实现信息的传递和互操作。
。
组件技术解决了两个重要问题:
一是复用性,即组件具有通用性,所提供的功
5
桂林工学院硕士学位论文
能能为不同的系统使用;二是互操作性,即不同来源的组件能够互相调用、通信,
共同完成一个复杂的功能。
组件技术的这两个特性是相辅相成的,复用是目的,交
’
互是手段。
J2EE平台提供了一个基于组件的方法,来设计、开发、装配及部署企业应用程序。
在J2EE平台上的企业应用系统实际上是实现了许多企业业务逻辑和用户界面的J2EE组件的集合。
2.2.2J2EE构架
J2EE使用多层分布式应用程序模型,应用逻辑按功能划分为组件。
一个组件应该被安装在什么地方,取决于该组件属于多层应用的哪一层。
现在的J2EE企业级应用模型划分为多个层,这些层分别是客户层、Web层、业务层、企业信息系统层(EIS),如图2—1所示。
(J2EE-三层模型)
图2-1J2EE应用程序模型
●客户层(clientTier)
J2EE应用可以是基于Web方式的,也可以是基于传统方式的。
在一个基于Web的J2EE应用中,用户的浏览器在客户层中运行,并从一个Web服务器下载Web层中的静态HTML页面或由JSP/Servlet生成的DHTML页面。
在一个基于传统方式的J2EE应用中,一个独立客户程序,或者一个不是运行在HTML页面中,而是运行在其他基于网络的系统(如手持设备或汽车电话)中的Applet程序,在客户层运行,并在不经过Web层的情况下访问业务层构件EJB。
,
●Web层(WebTier)
J2EEWeb层组件可以是JSP页面或Servlets。
按照J2EE规范,静态的HTML页面和Applets不算是Web层组件。
Web层可能包含某些JavaBean对象来处理用户输入,并把
6
桂林工。
学院硕士学位论文
输入发送给运行在业务层上的(EJB)EnterpriseBean来进行处理。
●业务层(BusinessTier)
作为满足某个特定业务领域需要的业务逻辑代码由运行在业务层的EJB来执行。
一个EJB从客户程序处接收数据,(若需要)对数据进行处理,再将数据发送到企业信息系统层(EIS)存储;一个EJB还从存储中检索数据,并将数据送回客户程序。
运行在业务层的EJB依赖于容器提供诸如事务、生命期、状态管理、多线程及资源缓冲池等十分复杂的系统级功能。
●企业信息系统层(EISTier)企业信息系统层运行企业信息系统软件,这层包括企业基础设施系统,例如企
业资源计划(ERP)、大型机事务处理(MainframeTransactionProcessing)、数据库系统以及其他遗产信息系统(LegacyInformationSystem)。
J2EE应用组件因为某种原因可能需要访问企业信息系统。
2.3Spring框架
2.3.1Spring体系结构
Spring开源框架已成为企业应用开发中使用最多的开源框架。
Spring框架的优秀不但表现在其优雅的底层设计、使用方便快捷、面向工作实践、超强粘合能力等方面,另外一个不可忽视的方面是Spring拥有一个世界一流且活跃的技术开发团队。
Spring框架是一种在J2EE的基础上构建起来的一个轻量级的框架实现1,其中包括AOP、loC/Dl、MVC等方面的应用,而且可以灵活的根据项目情况来进行取舍。
该框架是一个分层的应用程序开发框架,它并不像其他的单独某一层的开源框架如Struts、Hibernate等。
然而,Spring致力于在整个应用程序层面架构程序,使程序的各个层面能协调一致,而不是互相制约,从而发挥出最大的效能。
不仅如此,Spring还能整合当前优秀的其他开源框架,把它们组成连贯统一的架构。
Spring框架由7个模块组成n引,如图2--2所示。
7
桂林工学院硕士学位论文
.图2—2Spring框架组成图虽然Spring框架的每个组件模块都负责各自特定的功能,但是它们并不是独立
存在的,很多组件之间都存在着紧密的联系。
就是这样一个统一体构成了今天的主
流开发平台,以下