




已阅读5页,还剩53页未读, 继续免费阅读
(计算机应用技术专业论文)基于协作的分布式虚拟实验室平台的研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机应用硕士学位论文 摘要 目前各大学开设的传统实验都离不开真实实验器材,实验往往需 要前期准备以及实验设备需要定时维护等,实验条件和实验地点受到 限制,导致实验效率不高,进而影响教学效果,存在对实验结果无法 及时进行分析,不能根据实验分析结果对实验方法进行改进等缺陷。 随着计算机网络和远程教育的飞速发展,网络虚拟实验室逐渐展现在 我们面前。通过将计算机技术和通讯等信息技术应用在教学中,建设 远程教学中的虚拟实验室环境,使以往使用真实实验器材的实验向具 有智能化的虚拟实验系统方向发展是当前研究的一个热点。 国外对网络远程实验室系统的研究已经逐渐成熟。国内某些高校 和组织在虚拟实验研究与建设方面也取得了一定的成果,但国内对这 方面的研究主要偏重于在本机仿真、虚拟仪器实现、虚拟现实、实验 演示等方面。当前实验室平台的研究极少涉及虚拟实验中元器件模型 库的快速开发;很少有虚拟实验平台能够提供不同实验者之间的协同 工作,易于扩充的、基于分布式协作的虚拟实验平台的研究还较少。 本文提出了一个基于j 2 e e 规范的分布式协作虚拟实验室平台的 系统模型,论述了基于该模型部分功能实现方法,该平台具有可扩充 性、实验可灵活定制的特点。介绍了基于j a v a b e a j l 组件技术和v 几 技术快速创建元器件模型库,利用g 衲u p 炬、资源与实时实验数据 共享等方式实现小组成员间协同设计。最后设计并实现了一个原型系 统,该原型系统建立在业务方法调用转发功能的计算框架上,支持系 统动态扩充。 关键词j 2 e e ,j a v a b e a n 组件,e 旧,m 。,协同设计 i i 计算机应用硕士学位论文 a b s t r a c t n a d i t i o n a ll a b o r a t o r ya l w a y sr e l yo nr e a le x p e r i m e m a le q u i p m e n t s , a n dna l m o s tn e e dc a r e 如lp r e p a r a t i o na i l de q u i p m e n tm a i n t e n a n c e t h e n i ti sr e s 拄i c t e db yp l a c ea n dt i m e ,r e s u l tmb a dl a b o r a l c o 叮q u a l 埘a n dl o w e f 6 c i e n c y a 1 s oi ti sh a r dt oa n a l y z et l l ee x p e r i m e n t a lr e s u l ti nt i m ea n d i r n p r o v et l l el a b o r a t o r y 印p r o a c hb yr e l e v a n te ) 【p e r i m e m a lf e e d b a c k i n r e c e my e a r s ,w 汕t h er a p i db l o w u po f i n t e m e ta n de - l e 锄i n g ,m e r ei s h o tr e s e a r c ht o p i cw h i c hm c l u d e s : ( 1 ) c o m b i n ec o m p u t e rs c i e n c ea n d c o m m u n i c a t i o n t e c h n o l o g yt o g e m e r a n d d e p l o y t h e mi n e - l e a m i n g s c e n a r i o :( 2 ) b u i l dp e r f e c tv i r t u a l l a b o m t o r ye n v i r o l l i l l e n ts ot h a tm a k e t h e f b m e re x p e r i m e n to ft r u ee x p e r i m e n t a ld e v i c e st l l mt ot h ee x p e r i m e n to f t 1 1 eh i g h e s ti n t e l l i g e n c e t h e r ea r ea l r e a i yal o to fl i t e m r ef b c u s i n go nn e t w o r kr e m o t e l a b o r a t o r ys y s t e m a n ds o m ed o r r l e s t i cc o u e g ea n dr e s e a r c ho r g a n i z = a t i o n h a sd o n es o m ew o r ko nv i n l 凰ll a b o r a t o r yd e s i g na n di m p i e m e n t a t i o n :b u tt l l e ya r ea l m o s tf o c u s i n go nl o c a lm a c h i n es i m u l a t i o na n dv i r t u a l a p p a r a t u s 证1 p l e m e n t a t i o n t h e r ei s f e wr e s e a r c hr e l a t et oq u i c kc r e a t e e q u i p m e mm o d e l l i b r a 珥a n da l s ot h e r ei sl i t t e rr e s e a r c hf o c u so nv i m a l l a b o r a t o r yp l a t & n n sw h i c h a r es c a l a b l ea n dd i s t r i b u t e dc o l l a b o r a t i v e t h i sp a p e ri n t r o d u c e saj 2 e eb a s e dd i s t r i b u t e dc o l l a b o r a t i v ev i r 七u a l l a b o r a t b us y s t e mm o d e l ,a l l di t si m p l e m e m a t i o n t h ee x p e r i m e n t a ld a t a a 1 1 dp r o t o t y p es h o wt h a tt i l i s p l a t f b r mi s s c a l a b l ea n dn e x i b l e f i r s t ,t h i s p 卵e ri n t r o d u c e sj a v a b e a nb a s e dc o m p o n e n ta 1 1 dx m lt e c h n o l o 西e st o q u i c k c r e a t em e t a ( a t o m ) e q u i p m e mm o d e l l i b r a r y ;s e c o n d ,i tp r e s e n t sh o w t o d e s i g n a n di r n p l e m e mc o l l a b o r a t i v e d e s i g nw i m i n 掣d u pm e m b e r s u s m gg r o u p v n c ,r e a l t i m e r e s o u r c ea 1 1 d e x p e r i m e m a l d a t a s h a r i n g t e c h n o l o n i e s f i n a l l yw eh a v ed e s i 印e d a 1 1 d i m p l e m e n t e dap r o t o t ) ,p e s y s t e m ,w h i c h b u i l d so n 也e c o m p m a t i o n 丹a m e w o r k - b u s i n e s so p e r a t i o n c a l l i n g 仃锄s m i t 如n c t i o n ”,a 1 1 d t 1 1 e n s u p p o r c sd y n 锄i c e x t e n s i o no n d 眈n 戚w i mg r e a ts c a l a b i l i 吼 k e y w o r d sj 2 e e ,j a v a b e a n c o m p o n e m ,e j b ,x m 【,c o l l a b o r a t i v e d e s i 弘 u l 计算机鹰用硕士学位论文 原创性声明 本人声明,所呈交的学位论文是本人在导师指导下进行的研究 工作及取得的研究成果。尽我所知,除了论文中特别加以标注和致谢 的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不 包含为获得中南大学或其他单位的学位或证书而使用过的材料。与我 共同工作的同志对本研究所作的贡献均已在在论文中作了明确的说 明。 作者签名:日期:邀年白上日 关于学位论文使用授权说明 本人了解中南大学有关保留、使用学位论文的规定,即:学校 有权保留学位论文,允许学位论文被查阅和借阅;学校可以公布学位 论文的全部或部分内容,可咀采用复印、缩印或其它手段保存学位论 文;学校可根据国家或湖南省有关部门规定送交学位论文。 作者签名: 聊群晔嗍妇也蜩 计算机应用硕士学位论文第一章绪论 第一章绪论 1 。1 研究虚拟实验室平台的目的意义 互联网的普及为远程教育提供了可能,因而基于w 曲的理论课程的辅导已经 广泛使用,但为学生更好地理解所学概念,必须提供一个将理论和实验紧密结合 的学习平台。目前各大学的实验室可能因为经济等方面的原因使得实验条件一直 存在难已改善的现状。因为传统的实验离不开实验器材,实验往往需要前期准备 以及实验设备需要定时维护等,实验条件受到限制,导致实验效率低下,进而影 响教学效果,并且对实验的结果无法及时进行分析,同样不能根据实验分析结果 对实验方法进行改进等,包括对实验过程进行监控等方面均存在缺陷。 随着计算机网络和远程教育的飞速发展,网络虚拟实验室逐渐展现在我们面 前。目前,国外已有许多虚拟技术用于教育系统【2 j 口】,通过将计算机技术和通讯 等信息技术应用在教学中,为远程教育的实验课程提供了解决方案,建设远程教 学中的虚拟实验室环境。使以往使用真实实验器材的实验向具有智能化的虚拟实 验系统方向发展已成为当前研究的一个热点。和传统的实验方式相比,虚拟实验 室实验方式具有如下特点: 夺实验条件简单,费用低廉:在虚拟实验平台中“元器件即软件”,通过软 件的可重用性、无限可复制性使得实验所用元器件也具有无限可复制性, 因而降低了实验成本; 夺设计方便,功能全:通过软件组件的方法模拟元器件,使得实验开设者 容易设置各类器件,丰富实验内容; 夺安全可靠,可进行非现实性模拟等优点【1 】:由于现实环境的限制,有些 实验的开展具有一定的危险性,那么可通过虚拟环境软件模拟的方式进 行; 夺易升级:通过软件升级的方式,可以达到虚拟实验室平台及元器件库的 及时更新,避免了传统实验方式下的实验设备的淘汰: 夺能实现随时随地远程实验的要求:在传统的实验方式下,实验者某一时 间必须亲临实验现场才能进行实验,而虚拟实验方式下,实验者可以超 越时间和空间的限制,进行各种远程实验。 汁算机应用硕士学位论文 第一章绪论 1 2 虚拟实验室系统的研究现状 1 9 8 9 年美国的w i l l i 锄w o l f 教授提出虚拟实验室的概念,它指一个计算机网 络化的虚拟实验室环境。美国国家研究委员会提出:现代实验室是一个无墙的中 心【9 1 ,通过计算机网络系统,研究人员或实验人员能在其中从事科学研究和工程 设计,不必顾及时间和地理位置的限制,共同协作:能共享仪器、设备、数据、 计算资源以及数字图书馆等信息资源。 国外对网络远程实验室系统的研究已经逐渐成熟。有代表性的成果有 4 】: 1 ) 环境与分子科学协作机构 2 1 远程实验环境 美国n l i n o i s 大学的n i l l r s c o p e 系统【5 】,通过i n t e h l e t ,研究人员在任何地方 都能使用i l l i n o i s 大学的仪器。如n m r i ( 核磁共振仪) 的使用,只要向该大学 递交了一个样品之后,经过授权的研究人员就可以与服务器联机,服务器将显示 出一张表示仪器设置的表格和功能清单,通过点击屏幕上的按钮就可以进行实 验,生成的图像将被传回到研究人员的计算机屏幕上。 3 ) 工程虚拟实验 美国j o l l i l sh o p k i l l su 1 1 i v e r s i t y 的化学工程系的卡尔威教授( p r o f e s s o rm i c h a e l k a 州e i t ) 建立了一个工程虚拟实验室【6 】,学生可以通过电脑网络来做实验,尝试 解决工程上遇到的各种问题,如一个钻油的实验,利用虚拟实验室,学生可以知 道某个位置的油井的深度,从而估计油层的形状及所需最低的工程费用;此外学 生还可以进行机器人手臂控制实验、声音传播实验等等。 4 1 医学协作“1 国内某些高校和组织在虚拟实验研究与建设方面也取得了一定的成果,但国 内对这方面的研究主要偏重于在本机仿真、虚拟仪器实现、虚拟现实【1 】1 8 】、实验 演示等方面。清华大学、上海交通大学、华中科技大学等高校已陆续在网上设立 了自己的电子教室,还有少数电子教室提供了一定虚拟实验服务。而大部分虚拟 实验是以n a s h 课件或j a v a 印p l e t 的形式提供演示,缺少人机间交互,如:百灵 远程教育网的虚拟实验室制作了物理、化学、数学等课程各个原理对应的实验演 示过程;华中科技大学研究的工程测试虚拟实验室实现根据实验者的输入数据显 示不同的实验结果。目前中南大学已研究和开发出的数字图象处理虚拟实验室远 程教学课件,它加强了人机间更进一步的交流,实验中能使用户定制自己的实验 过程、注册新的算法组件。华中科技大学研究与开发了基于v 蹦l 技术和 a c l l v e x 技术构建的光纤通信虚拟实验室。 总的来说,当前实验室平台的研究一般将面向对象的方法应用到虚拟设备库 计算机应用硬士学位论文第一章绪论 的建模中,为每个虚拟元器件单独编写程序提供一个组件的方法来扩充元器件模 型库,却极少涉及利用系列化的思路来实现虚拟实验中元器件模型库的简单快速 开发:很少有虚拟实验平台能够提供不同实验者之间的实验指导和实验协同设计 功能,易于扩充的、基于分布式协作的虚拟实验平台的研究还较少。 1 3 研究内容与论文组织 通过收集有关虚拟实验室平台研究的文献资料,本文在已有虚拟实验室平台 研究的基础上,主要开展以下几方面的研究工作: 1 ) 研究如何开发原型元器件及在原型元器件的基础上构造非原型原子元器 件的方法; 2 ) 对虚拟实验的协同环境的构建进行研究,主要是针对基于分组的远程控 制和数据共享的协同实验等问题; 3 ) 设计并实现一个原型系统,使该原型系统建立在通过业务方法调用转发 功能的计算框架上,支持系统动态扩充。 本文主要分为以下几个部分: 首先介绍了一个基于j 2 e e 规范的分布式协作的虚拟实验室平台的系统模型, 并结合应用对于关键技术,如j a v a b e a n 组件技术、l 技术进行简要的介绍: 然后介绍通过j a v a b e a n 组件技术和订l 技术创建原型元器件及从几个简单 原型元器件构造元器件模型库的实现机制,该机制具有简单、灵活、适用性强等 特点;从远程控制和实验共享两方面,讨论建立一套适应一对一指导、多对一指 导和分组数据共享的协同实验机制; 接着介绍了一个原型系统一计算机组成原理虚拟实验室平台的主要模块功能 及其实现方法: 最后对当前工作进行了总结,并提出了未来的改正与研究方向。 计算帆应用硕士学位论文 第二章基于j 2 e e 规范的虚拟实验室平台系统模型 第二章基于j 2 e e 规范的虚拟实验室平台系统模型 本虚拟实验室平台系统模型采用j 2 e e 架构,本章主要阐述该虚拟实验室平 台系统模型、设计模式及相关关键技术等。 2 1 虚拟实验室平台系统模型 2 1 1j 2 e e 概述 j 2 e e ( j a v a2p l 拍m ,e 熊卵r i s ee 凼t i o n ) 为基于多层分布式应用模型上的 j a v a 应用的设计、开发、装配和部署提供了一个完整的框架,能提供多层分布式 应用模型,能重用组件,能为用户提供统一安全模型和灵活的事务处理控制。 从整体上讲,j 2 e e 是使用j a v a 技术开发企业级应用的一种事实上的工业标 准,它是j a v a 技术不断适应和促进企业级应用过程中的产物。j a v a 技术它具有 面向对象、可移植性、解释型、分布式、健壮性、多线程、中立体系结构等特点 【l o 】。目前,j a v a 平台有三个版本:适用于小型设备和智能卡的j 2 m e ( j a v a2 p l a t f o m ,m i c r oe d i t i o n ) 、适用于桌面系统的j 2 s e ( j a v a2p l a t f o 吼,s t a l l d a r d e d i t i o n ) 和适用于企业级应用的j 2 e e 。 s u n 推出j 2 e e 的目的是为了克服传统c l i e 删s e r v e r 模式的弊病,迎合 b r o w s e r s e r v e r 架构的潮流,为应用j a v a 技术开发服务器端应用提供一个平台独 立的、可移植的、多用户的、安全的和基于标准的企业级平台,从而简化企业应 用的开发、管理和部署。各个平台开发商按照j 2 e e 规范分别开发了不同的j 2 e e 应用服务器,j 2 e e 应用服务器是j 2 e e 企业级应用的部署平台,由于它们都遵循 了j 2 e e 规范,因此使用j 2 e e 技术开发的企业级应用可以部署在各种j 2 髓应用 服务器上。 在j 2 e e 规范( j 2 腿1 4 ) 【l l 】中进行了以下的分层: 夺应用客户端组件 夺s e r v l e 魍和j a v a s e r v e r p a g e s ( j s p ) 组件( 也称为w e b 组件) 夺e m e r 口r i s ej a v a b e a i l s 组件 夺基础服务和与其他系统( 如数据库等) 的交互 4 盐苎垫垒里翌主兰垡兰壅 兰三兰j 塑2 望旦塑堕堕壁垫壅竺皇! 鱼墨! 茎壁望 图2 1j 2 e e 结构框图 图2 1 给出了j 2 e e 结构框图。j 2 e e 将组成一个完整企业级应用的不问部分 纳入不同的容器( c o r l 诅i n e r ) ,每个容器中都包含若干组件( 这些组件是需要部 署在相应容器中的) ,同时各种组件都能使用各种j 2 e es e r v i c e ,a p i 。j 2 e e 容器 包括: 令w 曲容器服务器端容器,包括两种组件j s p 和s e l e t ,j s p 和s e r v l e t 都是w e b 服务器的功能扩展,接受w 曲请求,返回动态的w 曲页面。 w 曲容器中的组件可使用e j b 容器中的组件完成复杂的商务逻辑。 夺e j b 容器服务器端容器,包含的组件为脚b ( e n t e r p r i s ej a v a b e a l l s ) ,它是 j 2 e e 的核心之,主要用于服务器端的商业逻辑的实现。 审a p p i e t 容器客户端容器,包含的组件为a p p i c t 。 呤a p p l i c 撕o nc l i e n t 容器客户端容器,包含的组件为a p p l i c a t i o nc l i e n t 。 通过这四个容器,j 2 e e 能够灵活地实现前面描述的企业级应用的架构。 本虚拟实验室平台系统模型采用j 2 e e 架构,使用副s ,s 结构实现。w 曲s e r v e r 采用a p a c h et o m c a t 5 o ,支持j s p ,s e r v l e t 等,提供一个w e b 容器;a p ps e r v e r 采用j 2 e es d 剐1 3 1j 2 e es e r v e r ,部署e j b 组件及相关业务组件( j a v a b e a l l ) ; w e bs e r v e r 使用l 衄l a p p l e t 、j s p 实现界面逻辑,j s p 、a p p l e t 分别通过j a v a b e a i l 、 s e r v l c t 使用j ,a 命名和目录接口( j n d i ) 定位e 码组件,毫j b 组件实现业务转 发功能,进而调用相关业务组件。 计算机应用硕士学位论文第二章基于j 2 e e 规范的虚拟实验室平台系统模型 2 1 2 m v c 模式 m v c 【1 2 】模式含义较为广泛,涉及的层面可以从两个方面理解:作为设计模 式的m v c 和作为体系结构模式的m v c 。 所谓m v c ,指的是一种划分系统功能的方法,它将一个系统划分为三个部 分: 模型( m o d e l ) :封装的是数据源和所有基于对这些数据的操作。在一个 组件中,m o d c l 往往表示组件的状态和操作状态的方法。 夺视图( e w ) :封装的是对数据源m o d e l 的一种显示。一个模型可阻由 多个视图,而一个视图理论上也可以同不同的模型关联起来。 夺控制器( c o n 仃o l l e r ) :控制器封装的是外界作用于模型的操作。通常,这 些操作会转发到模型上,并调用模型中相应的一个或者多个方法。一般 c o i 心0 1 1 e r 在m o d e l 和e w 之间起到了沟通的作用,处理用户在e w 上的输入,并转发给m o d e l 。这样m o d e l 和e w 两者之间可以做到松散 耦合,甚至可以彼此不知道对方,而由c o n 虹0 1 1 e r 连接起这两个部分。 使用m v c 的好处,一方面,分离数据和其表示,使得添加或者删除一个用 户视图变得很容易,甚至可以在程序执行时动态的进行。m o d e l 和v i e w 能够单 独的开发,增加了程序了可维护性,可扩展性,并使测试变得更为容易。另一方 面,将控制逻辑和表现界面分离,允许程序能够在运行时根据工作流,用户习惯 或者模型状态来动态选择不同的用户界面。 上面讲到的是作为设计模式的m v c 。而在j 2 e e 中,s u n 更是将m v c 提升 到了一个体系结构模式的高度,这儿的m v c 的含义就更为广泛了。在v i e w 部 分,j 2 e e 提供了三种手段:w 曲容器中的j s p ( 或s e l e t ) 、a p p l e t 和a p p l i c 砒i o n c l i e n t ,分别能够实现面向浏览器的数据表现和面向桌面应用的数据表现。w 曲 容器中的s e r v l e t 是实现c o n 咖l l e r 部分业务流程控制的主要手段;而e j b 则主要 针对m o d e l 部分的业务逻辑实现。至于与各种企业资源和企业级应用相连接,则 是依靠j 2 e e 的各种服务和a p i 。 在j 2 e e 中,m v c 是一个大的框架,这时我们往往把它不再看作为设计模式, 而是作为体系结构模式的一个应用了,在下一小节将详细描述。 2 。1 3 基于m v c 模式构建虚拟实验室平台 虚拟实验室原型系统采用j 2 e e 技术实现。在j 2 e e 中有几个核心的技术,j s p , j a v a b e a n ,s e r v l e t ,e j b ,s e s s i o l l b e a i l ,e n t i t y b e 趾构成了j 2 e e 构架的基石。j s p 能够生成h ,r m l ,w m l 甚至讧l ,它对应于w e b 应用程序中的v i e w 部分。 6 计算机应用硕 学位论文第二章基于j 2 e e 规范的虚拟实验室平台系统攘型 e j b 作为数据库与应用程序的中介,提供了对数据的封装。一般e “t y b e a n 封装 的是数据,s e s s i o n b e a n 是封装的是对数据的操作。这两个部分合起来,对应于 w 曲应用程序的m o d e l 部分。在技术上j s p 能够直接对e j b 进行存取,但这并 不是好办法,那样会混淆程序中的显示逻辑和控制逻辑,使得j s p 的重用性能降 低。这时候有两种解决方法,通过j a v a b e 髓或者s e r v l e t 作为中介的控制逻辑, 对e j b 所封装的数据进行存取。这时。j a v 丑b e a n 或者s e l e t 对应于、b 引用程 序中的c o n 廿o l l e r 部分。两种类型的c o 腑o l l e r 各有其优缺点:j s p 同s e r v l e t 的 交互不容易规范化,使得交互的过程变得复杂,但是s e r v l e t 可以单独同用户交 互,实际上j s p 的运行时状态就是s e r v l e t ;而由于j a v a b e a n 的规范性,j s p 同 j a v a b e a l l 的交互很容易,利用j a v a b e a n 的g e t ,s e t 方法,j s p 不需要过多的语句 就可以完成数据的存取,这能够让j s p 最大限度的集中在其视图功能上,而且, 在桌面应用程序中使用j a v a b e a l l 也很容易,而用s e r v l e t 就相对麻烦许多。根据 不同的阅题背景,可以选取不同的c o r l l l e r ,有时候也可以两者混合使用,或 者直接在s e r v l e t 中调用j a v a b e a i l 。 利用m v c 模式构建的虚拟实验室平台系统模型如图2 2 所示。 图2 - 2 虚拟实验室平台系统模型 在该系统模型中,视图、控制器及模型三个部分具体说明如下: 夺视图:实验设计、实验运行界面逻辑复杂,需要实现图形功能,因此采 用h n n 脚l c t 技术;其它功能,如用户管理、元器件定制等,界面逻辑 计算机应用硕士学位论文 第二章基于j 2 e e 规范的虚拟实验室平台系统模型 相对简单,仅涉及增、删、改等功能,采用j s p 技术实现。 夺控制器:控制逻辑使用s e l e t 、j a v a b e a n 技术实现,w e b 层通过s e r v l e t 或j a v a b e a l l 调用a p p l i c a t i o ns e r v e r 上部署的e j b ,传送相关参数并返回 调用结果。 夺模型:在模型部分实现数据源的封装及对这些数据的操作,具体来说, 使用e j b 实现业务方法调用转发功能,业务逻辑使用j a v a b e a i l 技术,支 持动态扩充;元器件模型库、实验及用户等数据保存在关系型数据库中, 实例化的数据使用v i l 封装。 m v c 架构使得虚拟实验室平台系统模型更加清晰,通过将代码按照层次划 分为业务逻辑数据、用户界面和应用流程控制这三个层次,增强了代码的稳定 性。对于m o d e l 、v i e w 、c o n 们l l e r 这三部分功能来讲,e w 的实现一般是由界 面设计人员和界面程序员来完成,m o d e l 则是由业务逻辑程序员来完成, c o n 仃o l l e r 则一般由负责整体控制的程序员来完成。c o n 的l l e r 部分的代码比较稳 定,一般会实现一个通用的架构;而m o d e l 则跟随业务流程的变化而变化;c w 的更改则是随着用户需求的更改而更改。这种模块功能的划分有利于在代码修改 过程中进行模块的隔离,而不需要把具有不同功能的代码混杂在一起造成混乱。 在原型系统的设计过程中,特别考虑到上述因素,因此提出了完整的计算框架, 在此框架基础上支持业务功能的动态扩充。 2 2 关键技术 2 2 1j a v a b e a n 技术 根据j a v a b e a l l 技术规范中的定义,b e a l l 的正式定义是可以重复使用的、基 于s u n 的j a v a b e a n 技术规范的软件组件,它可以使用生成器工具进行直观的操 作【1 4 】。j a v a b e a n 组件是可重用的软件组件,继承了在j a v a 程序中可以看到的 平台无关性,开发人员可以编写出可重用的组件,然后在各个平台上运行。同时 b e a i l ( j a v a b e a n 是关于组件的术语) 是正常的j a v a 类,它可以像其它类那样编 程使用。 j a v a b e 蛆组件使用标准的”方法”命名规则,这使得j a v a b e 锄组件具有可 预测的行为并可在工具中被轻松使用。j a v a b e 蛆组件的公共特性有属性、方法 和事件。 夺属性是j a v a b e a l l 的组成部分,它们可以是其它的j a v a 对象或原始类 型。j a v a b e 孤组件的属性是通过一对公用的( p u b l i c ) g e t t e r 和s e n e r 方 计算机应用硕士学位论文 第二章基于j 2 e e 规范的虚拟实验室平台系统模型 法来定义。 夺方法是一个j a v a b e a l l 可提供的动作或服务。 夺事件是j a v a b e a n 对有事件发生的一个提示。 在原型系统的开发中,有三个方面使用j a 、仰e a n 实现。( 其中第2 、3 点在 5 2 节中详细说明) 1 ) 虚拟实验元器件采用j a v a b e a i l 组件开发,因为组件开发的模式,易于封 装,使开发、测试和扩充元器件组件都变的相当简单:另外通过j a v a b e a n 强大的反射( k n e c t i o n ) 机制,可以在实验过程中对元器件的属性进行 动态显示、编辑等操作; 2 ) j s p 通过j a v a b e a n ( a c t i o f o i s p a t c h j a v a ) 调用劭b ; 3 ) 业务方法使用j a v a b e a n 封装,形成一系列的j a v a b e a n ,供e j b ( e j b 主 要实现业务转发,事务控制等功能) 调用,如系统管理组件( 如 s y s t e m m a n a g e r j a v a ) 、实验管理组件( l a b m a n a g e r l j a v a ) 、实验运行组件 ( l a b r u n i a v a ) 等;封装业务方法的j “a b e a n 不进行事务控制,而由实 现业务方法调用转发的e j b 来实施事务控制。 2 。2 2 e j b 技术 e n t e r d r i s ej a v a b e a n ( e j b ) 2 ,0 规范定义了开发和部署基于事务性、分布 式对象应用程序的服务器端软件组件的体系结构【1 5 1 。企业组织可以构建它们自己 的组件,或从第三方供应商购买组件,这些服务器端组件称作e j b ,它们是 e n t e r p r i s ej a v a b e a l l 容器中驻留的分布式对象,为分布在网络中的客户机提供远 程服务。e j b 组件是可部署的,它们可被导入到作为组件主机的应用服务器中, 如b e aw e b l o g i cs e r v e r 。 e j b2 o 定义了3 种不同的企业级b e a n : 1 ) 会话b e a l l ( s e s s i o n b e a n ) ,会话b e a n 模拟商务过程对象;客户端通过调 用s e s s o n b e a i l 的功能和j 2 e e 服务器通信,s e s s o n b e a n 和客户会话。 可以认为是客户端的扩展; 2 ) 实体b e a i l ( e m 竹b e a l l ) ,实体b e a i l 模拟商务数据;e n t 埘b e a n 的信息 不一定存储在关系数据库中,它也可以存储在对象数据库中、文件中或 其他别的存储机制; 3 ) 消息驱动b e a l l ( m e s s a g ed 由e nb e a l l ) ,与会话b e a n 类似,两者不同之 处在于只能通过发送消息来调用这些b e a r i 。 e i b 是s u i lm i c r o s y s t e m s 对c o r b a 的可移植性和复杂性的解决方案。 e j b 引入了比c o r b a 更简单的编程模块,它可以让开发人员创建可移植分布 9 计算帆应用硕士学位论文第二章基于j 2 e 规范的虚拟实验室平台系统模型 式组件。e j b 编程模块可以让开发人员创建安全的、事务性的和持久的商业对 象,该对象使用非常简单的编程模块和声明属性。c o r b a 需要使用复杂的a p i 来利用这些服务,而e j b 则根据一种称作“部署描述信息”的特性文件中的声明 将这些服务自动应用到e n t e r s eb e a n 。这个模型确保了b e a i l 开发人员可以集 中精力编写商业逻辑,而容器会自动管理更复杂但又必要的操作。 e j b 简化了分布式对象的开发、部署和访问。支持e j b 的应用程序服务器 可以使用任何分布式网络协议,包括本地j a v ar m i 协议( j 心佃) 、专有协议 或c o r b a 的网络协议( 1 1 0 p ) 。在某个特定产品中使用的基本网络协议是什 么,e j b 使用相同的编程a p i 和语义以j a v a r m i i i o p 访问分布式对象,协议 的细节对应用程序和b e a i l 开发人员隐藏,图2 3 展示了用户与一个e j b 组件系 统进行交互的诸多可能性。 图2 3 客户端与e j b 组件系统的交互 考虑到系统框架的灵活性并支持动态扩充,在原型系统中,界面逻辑使用 h n i l l ,a p p l e t 及j s p 实现,分别通过s e r v l e t 、j a v a b e 趴调用部署在a p p l i c a t i o ns e r v e r 中的e j b ,e j b 具体实现如下功能( 详见5 2 节e j b 示例代码说明) : 1 ) 系统初始化参数的设定( 如字符集、数据库连接等) ; 2 ) 业务方法调用转发,处理流程详见图5 7 : 3 ) 动态调用各相关业务组件( j a v a b e a l l ) ,以支持功能的灵活扩充; 4 ) 获取数据库连接并进行事务控制等。 1 0 计算机应用硕士学位论文第二章基于j 2 e e 规范的虚拟实验室平台系统模型 2 3 3 u l 技术 x m l ,或称为可扩展标记语言( e x t e l l s i b l em a 出u pl a l l g u a g e ) ,是一种可以 用来创建自己的标记的标记语言【l “。它由万维网协会( w 3 c ) 创建,用来克服 h t m l ( 即超文本标记语言( h y p e r t e x tm a r k u pl a n g u a g e ) ,它是所有网页的基础) 的局限。x m l 的特点如下: 1 ) “l 简化了数据交换。因为不同组织( 乃至同一组织的不同部门) 很少 就单一工具集形成标准,所以要使应用程序相互交流需要进行大量工作。使 用诅l ,每个实体可以创建单一的实用程序,该实用程序将该实体的内部 数据格式转换成x m l ,反之亦然。x m l 成为组件、系统之间进行内部交换 的公共的高级语营”j 。 2 ) x m l 支持智能代码。因为可以使) m i l 文档结构化以标识每个非常重要 的信息片段( 以及这些片段之间的关系) ,所以可以编写无需人工干预就能 处理这些v i l 文档的代码。 3 ) x m l 支持智能搜索。 x m l 的比较典型并且广泛使用的a p i 有四种:文档对象模型( d o c u m e n t o b j e c t m o d c l ( d o m ) ) 、用于x m l 的简单a p i ( s i n l p l e a p i f o r x m l ( s a x ) ) 、 j d o m 和用于订l 解析的j a v a a p i ( j a v a a p if o r lp a r s i l l g ( j u ( p ) ) ,分 别介绍如下: 1 ) 文档对象模型( 通常称为d o m ) 由w 3 c 创建,v i l 文档的已解 析版本定义了一组接臼。解析器读入整个文档,然后构建一个驻留内存的树 结构,然后代码就可以使用d o m 接口来操作这个树结构。 2 ) s a x 事件是无状态的。当s a x 解析器在x m l 文档中发现文本时,它 就向代码发送一个事件。该事件仅仅给发现的文本;它不告诉什么元素包含 那个文本。如果想知道这一点,则必须自己编写状态管理代码。s a x 事件 不是持久的。如果应用程序需要一个数据结构来对x m l 文档建模,则必须 自己编写那样的代码。 3 ) j d o m 是基于j a v a 技术的开放源码项目【1 9 i ,它试图遵循8 0 2 0 规则: 用d o m 和s a x 2 0 的功能来满足8 0 的用户需求。j d o m 使用s a x 和d o m 解析器,因此它是作为一组相对较小的j a v a 类被实现的。j d o m 的主要特性是它极大地减少了必须编写的代码数量。 4 ) 尽管d o m 、s a x 和j d o m 为大多数常见任务提供了标准接口,但仍 有些事情是它们不能解决的。例如,在j a v a 程序中创建d o m p a r s e r 对象 的过程因d o m 解析器的不同而不同。为了修正这个问题,s i l i l 发布了 j a x p ( 用于x m l 解析的j a v a a p i ,j a v aa p if o rx m l p a r s i l l g ) ,a p i 为 计算机应用硕十学位论文 第二章基于j 2 e e 规范的虚拟实验室平台系统模型 使用d o m 、s a x 和x s l l 处理x m l 文档提供了公共接口。 x m l 的数据存储格式不受显示格式的制约。一般来说,一篇文档包括三个 要素:数据、结构以及显示方式。把显示格式从数据内容中独立出来,保存在样 式单文件( s t y l es h e e t ) 中,这样如果需要改变文档的显示方式,只要修改样式 单文件就行了。 x m l 的自我描述性质能够很好地表现许多复杂的数据关系,例如在原型系 统中,利用x m l 文档可以用于描述逻辑芯片7 4 l s 0 8 与门逻辑功能的真值表形 式这种复杂的数据关系,我们同样可以利用垤l 文档描述逻辑芯片7 4 l s 0 8 与 门逻辑功能的函数表达式。 在本虚拟实验室原型系统中,x m l 解释器使用a p a c h ex e r c e sf o rj a v a 2 6 o , 对x m l 的操作根据应用的需要进行了封装( x m u 0 0 1 i “a ) ,使用了d o ma p i 实现,如自动分组功能等。 2 3 小结 本章提出了一个利用m v c 模式构建的基于j 2 e e 规范虚拟实验室平台系统 模型,并简单描述了相关的技术思路和关键技术,该模型的一个原型系统计算框 架( 在5 2 节详细说明) 中的一部分是遵循相关技术规范进行设计开发。 计算帆应用硕士学位论文第三章元器件模型库的建立 3 1 引言 第三章元器件模型库的建立 在虚拟实验平台中“元器件即软件”,虚拟实验室的设计主要包括了两方面的 内容:元器件模型库的建立和能够实现人机交互操作环境的虚拟实验平台的构 建。将面向对象的方法应用到虚拟设备库的建模中,根据组成系统的对象及其相 互作用关系来构造仿真模型,使模型具有良好的独立性、可扩展性、可维护性和 可重用性【2 0 j 。元器件可分为三种:原型原子元器件、非原型原子元器件、分子元 器件。原型原子元器件由实验最初创建者( 同时也是程序员) 提供,为每一个元 器件产品系列编写一个j 舢e a n 类:非原型原子元器件由实验创建者( 如实验 员、实验指导教师) 根据权限动态装载某一个器件产品系歹 j 对应的j a v a b e a l l 组 件,通过反射技术和x m l 技术由教师或实验员根据实验要求设置b e a n 的相应 属性,通过简单配置构造而生成新的、有具体功能的元器件,而不再需要为每一 个元器件编写一个组件程序来实现;分子元器件是指由多个原子元器件、分子元 器件混合封装而成。 本章简单分析了原型元器件的设计和存储后,主要讨论了如| 可在系列化的思 路上在为每一个系列元器件编写一个抽象的原型原予元器件j a v a b e a i l 类,然后 通过配置的方法来自动产生多个菲原型原子元器件。 3 2 原型原子元器件的设计与存储 实验室设备( 算法和仪器等) 以组件的方式开发,提高了开发效率,实现了 软件重用,实验室的功能易于扩充阱j 。 原型原子元器件是指由实验创建者兼程序员为每一大类型元器件编写一个 j a v a b e a n 类,内容包含:元器件的属性( 与外界的接口、元
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- DZ/T 0431-2005矿业权档案立卷归档规范
- DZ/T 0276.29-2015岩石物理力学性质试验规程第29部分:岩体强度试验(承压板法)
- DZ 2.2-1987地质钻探金刚石扩孔器
- CJ/T 89-1999真空吸污车技术条件
- CJ/T 347-2010家用燃气报警器及传感器
- CJ/T 34-2002液化石油气钢瓶涂覆规定
- CJ/T 186-2018地漏
- 系统分析师考试时间管理技巧试题及答案
- 绿化苗木买卖合同协议书
- 质量保证与测试的试题及答案
- 变压器维修投标方案
- 2025届山东师范大学附中高考适应性考试历史试卷含解析
- 四川省高职单招餐饮类《中式烹饪技艺》复习备考试题库-下(判断、简答题)
- DL∕T 5783-2019 水电水利地下工程地质超前预报技术规程
- SMP-04-022-00 共线生产管理规程
- 中考字音字形练习题(含答案)-字音字形专项训练
- 北京市西城区2023-2024学年七年级下学期期末考试数学试卷
- 2024年连云港市名小六年级毕业考试语文模拟试卷
- 枯死松树清理服务投标方案(完整技术标)
- 2024年四川省水电投资经营集团普格电力有限公司招聘笔试参考题库含答案解析
- 制冷行业的法律法规与安全生产标准
评论
0/150
提交评论