(计算机系统结构专业论文)协作学习系统的分析与实现.pdf_第1页
(计算机系统结构专业论文)协作学习系统的分析与实现.pdf_第2页
(计算机系统结构专业论文)协作学习系统的分析与实现.pdf_第3页
(计算机系统结构专业论文)协作学习系统的分析与实现.pdf_第4页
(计算机系统结构专业论文)协作学习系统的分析与实现.pdf_第5页
已阅读5页,还剩60页未读 继续免费阅读

(计算机系统结构专业论文)协作学习系统的分析与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

协作学习系统的分析与实现 题名:协作学习系统的分析与实现 硕士研究生姓名:姚莉 导师姓名:吉逸 学校名称:东南大学 摘要 论文“协作学习系统的分析与实现”是结合科技部十五重大科技攻关项目“网络教育技术及示范工 程”的“非实时教学系统”课题进行的。论文旨在研究基于i n t e m e t 的协作学习的关键技术,提出一种 灵活、高效、形式丰富的适应网络教学需求的协同教学机制,建立一个有效的基于网络的师生协作 学习与交流平台。 论文从分布式系统开发的解决方案入手,首先介绍了三种主流的分布式处理体系,并针对e j b 技术比较详缅地分析和对比了它与其它凡种分布式技术的区别以及它们之间的协同工作原理。然后 针对系统性能的提高介绍了服务器端的负载均衡技术,集群的特点,并具体分析了几种常用的负 载均衡算法。此外,在协作学习系统中引入多媒体手段,本文还介绍了多媒体技术的特点,音频,视 频的压缩编码技术以及多媒体实时传输协议。 在相关理论分析的基础上,本文介绍了适用于“非实时教学”的协作学习系统的设计和实现,针对 远程教育的需求,建立了协作学习系统的框架体系和总体功能模块关系图,详细阐述了系统的实现, 各个模块对象的功能和设计流程。最后论文对系统改进和完善进行了探讨。 关键字:协作学习,分布式,j 2 e e e j b ,负载均衡,集群,多媒体,j m f ,r t p r t c p 东南大学硕士学位论文 a b s t r a c t a n a l y s i sa n di m p l e m e n t a t i o no f c o l l a b o r a t i v el e a r n i n gs y s t e m b y y a o l i s u p e r v i s e db y p r o f j i y i s o u t h e a s tu n i v e r s i t y t h i s p a p e r ,“a n a l y s i sa n di m p l e m e n t a t i o no f c o l l a b o r a t i v el e a r n i n g s y s t e m i si n t e g r a t e dw i t h t h e n o n - r e a lt i m ee d u c a t i o ns y s t e m ”s u b j e c t ,w h i c hi sas u b - s y s t e mo f m o s t s ( m i n i s t r yo f s c i e n c ea n d t e c h n o l o g y ) n a t i o n a lk e yt e c h n o l o g i e sr & dp r o j e c to f t h et e n t hf i v e y e a rp l a n :”n e t w o r k e d u c a t i o nk e y t e c h n o l o g ya n d d e m o n s t r a t i o np r o j e c t t h ep a p e ri sa i m e dt or e s e a r c hi n t ot h ek e yt e c h n o l o g i e so f t h e i n t e r a c t - b a r e dc o l l a b o r a t i v es t u d y , b r i n gf o r w a r daf l e x i b l e , e f f i c i e n t ,m u l t i f o r ma n dn e t w o r k - f i t t e d c o o p e r a t i n gt e a c h i n gm e c h a n i s m ,a n df i n a l l yb u i l d sa ne f f e c t i v en e t w o r k - b a r e dc o l l a b o r a t i v el e a r n i n ga n d c o m m u n i c a t i n gp l a t f o r m i ts t a r t sw i t ht h ed e v e l o p m e n ts o l u t i o n so f t h o s ed i s t r i b u t e ds y s t e m s ,f i r s t , t h r e ep o p u l a rd i s t r i b u t e d d e v e l o ps y s t e m i si n t r o d u c e d ,a n df o c u s i n go ne j bt e c h n o l o g y , t h ed i f f e r e n c e sa n dc o o p e r a t i v ew o r k i n g p r i n c i p l e sb e t w e e n t h e s ed i s t r i b u t e dt e e h n o l c l g i e sa r ec o m p a r e da n db a l a n c e di nd e t a i l a i m i n ga tr e i n f o r c i n g f o rt h es y s t e mp e r f o r m a n c e ,i tt h e ni n t r o d u c e st h el o a db a l a n c i n g t e c l l i l i q u e so n t h es e r v e rs i d e ,t h ef e a t u r e so f a c l u s t e r , a n ds o m ec o m m o n u s e dl o a da l g o r i t h m s a n di ta l s or o u 曲l yi n t r o d u c e st h ec h a r a c t e r i s t i c so f t h e m u l t i - m e d i a t e c h n i q u e ,t h ee n c o d e r d e c o d e rt e c h n o l o g i e so f a u d i o a n dv i d e om e d i a s t r e a m ,a n dt h e m u l t i - m e d i ar e a l - t i m et r a n s p o r tp r o t o c o l ,e t c b a r e d0 1 3t h er e l a t i v et h e o r e t i ca n a l y s i s ,t h ep a p e ri n t r o d u c e st h ed e s i g na n d i m p l e m e n t a t i o no f t h i s c o l l a b o r a t i v el e a r n i n gs y s t e m ,w h i c hi sf i tf o rt h e n o n - r e a l t i m ee d u c a t i o n ”o nd e m a n do f r e m o t ee d u c t i o n , t h es y s t e mf r a m e w o r ka n dt o t a lm o d u l er e l a t i o ng r a p h i c sa r ef i r s tb u i l du p ,t h e n ,i st h ep r e s e n t a t i o n so f f u n c t i o n sa n di m p l e m e n t a t i o n si ne a c hs y s t e mm o d u l e a tt h ee n do f t h i sp a p e r ,g i v e st h ec o n c r e t es c h e m eo f t h ei m p r o v e m e n ta n dc o n s u m m a t i o nf o rt h i sc o n a b o r a t i v el e a r n i n gs y s t e m k e y w o r d s :c o l l a b o r a t i v el e a r n i n g , d i s t r i b u t e dt e c h n o l o g y , j 2 e e , e j b ,l o a db a l a n c e ,c l u s t e r , m u l t im e d i a , 刀艘r r r 开c p 东南大学学位论文独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得 的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含 其他人已经发表或撰写过的研究成果,也不包含为获得东南大学或其它教育机构 的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均 已在论文中作了明确的说明并表示了谢意。 研究生虢型卜日期:堕 东南大学学位论文使用授权声明 东南大学、中国科学技术信息研究所、国家图书馆有权保留本人所送交学位 论文的复印件和电子文档,可以采用影印、缩印或其他复制手段保存论文。本人 电子文档的内容和纸质论文的内容相一致。除在保密期内的保密论文外,允许论 文被查阅和借阅,可以公布( 包括刊登) 论文的全部或部分内容。论文的公布( 包 括刊登) 授权东南大学研究生院办理。 研究生签名:期:妒堆弓垃 牡 协作学习系统的分析与实现 1 1 研究背景 第一章绪言 现代远程教育是运用计算机网络技术和多媒体技术实现自主学习,个性化协同学习,交互学习 的新型教育模式,它具有基于网络的实时或非实时的双向交互的最基本的特征,实现了跨越时间和 空间的教育过程。与传统教育相比,现代远程教育具有办学开放性的特点,它打破了传统的封闭的 办学模式,人们可以在任何时间、任何地点学习所需的知识,接受任何层次的教育。此种模式有助 于建立起一种满足终身学习要求的教育保障体系是未来教育的根本目标。 在远程教育中,非实时教学起着主体作用,它充分体现了学生学习的自主性,可以不受时间、 空间的限制,学习到与教师课堂教学相同的课程收到相同的教学效果;同时。在一定程度上体现 了个性化学习的要求,学生不一定按照教师的教学过程按部就班地学,而是可以根据自身的学习情 况自己掌握学习的内容和学习的进度。通过网络,学生与学生、学生与教师之间可以进行协同学习、 交互学习,充分利用网络的优势,达到比传统教学更好的学习效果。 协作学习环境在非实时教学过程中是不可缺少的部分。随着i n t e r a c t 应用的不断丰富,w w w 、 电子邮件、多媒体会议系统等应用系统的出现。在远程教育中,使学生与教师之间、学生与学生之 间以及教师与教师之间可以进行同步或异步的信息交互成为可能。计算机支持的协作学习 c s c l ( c o m p u t e r s u p p o r t e d c o o p e r a t i v e l e a r i l 是在计算机网络技术环境支持下,学习参与者可突破 地域和时间上的限制。进行相互交流、信息共享和合作性学习的一种教育群件系统( e d u c a t i o n a l g r o u p w a r es y s t e m ) 。为学习参与者提供同步和异步的多媒体信息服务和共享学习空间。 1 2 研究现状 在基于建构主义的计算机辅助学习模式中,师生以及学生之间的交流、讨论是学习过程的重要 环节,明显地具有群体性,交互性,分布性和协作性等基本特征。如何在网络上,尤其在i n t e m e t 中建立一个有效的师生交流环境是网络化教育环境所需解决的关键技术之一。在这方面已有许多研 究。就实现形式和功能而言目前类似的协同教学系统实现主要分为以下几类; ( 1 )简单模式。通常采用b b s ,m a i l 等异步或c h a t 等同步方式。目前均以文本为主要的表 达形式,是协作交流系统在远程教育中的简单应用。 ( 2 )答疑式的协作学习方式,系统通过关键字匹配动态从答疑库抽取匹配问题,做出简 单智能答疑或者采取f a q s 的方式以协助学生学习。 ( 3 )讨论式的协作学习方式,系统一般以聊天室的形式为师生提供一个平等的商讨环境, 学习者可在其中畅所欲言各抒己见,取长补短,共同提高。 根据对当前实现的协作教学环境进行分析,我们可以发现它们普遍存在以下的一些缺点:表 达形式单一,交流方式主要是通过文本;表现形式单一,协助教学的交互活动都侧重于某一方面: 不能够及时发现学生学习中遇到的问题并做出反应:不利于培养学生分工协作完成学习任务的 能力:不能充分地利用现有的学习资源进行二次学习;不利于调动学生在学习过程中的主观能 动性。 因此,末来的协作学习环境发展的趋势必然是在以上的几个方面进行不断的完善: ( 1 ) 将多媒体手段引入到协作学习环境中,使协作教学交流的内容更为生动 在对诸如数学、化学方面的知识进行讨论时,文本方式的讨论通常是不够的这肘,用户希望 使用语音、图画、特殊符号或视频作为辅助,多媒体手段辅助是构成友好交流交互界面的重要组成。 1 东南大学硕士学位论文 另外,多媒体形式的交流更加生动,可以充分调动师生的积极性。 ( 2 ) 多种协作学习方式的引入,使协作教学交流的形式更加丰富多彩 允许学生的分组讨论,涉及到分组机制的实现:允许师生的同步浏览,涉及到学习过程中的同 步;允许师生共享白板,涉及到嵌入场景的同步讨论。 ( 3 ) 角色集中管理机制 系统中应该存在多种角色如管理员,教师,学生,各种角色具有不同的权限允许管理员进行教 师和用户的人员管理。 ( 4 ) 支持多级层次上的数据共享,体现教学中的协作特性 实现显示性数据共享( 例如外挂式电子自板共享) ,程序性数据共享,持久性数据共享,用户共享 服务器上的应用程序,协作操作公共数据,通过设计以程序共享为基础的由学生协同完成的作业, 来体现教学中的协作特性。 ( 5 ) 支持w e b 方式 w e b 化是i n t e m e t 应用的趋势,远程教学模式中,课程和协同应用都必须设计为支持w e b ,实 现有浏览器就可以完成课程的创建、课表编排、参与教学过程。 ( 6 ) 友好的界面 虚拟教学环境应该提供用户友好的界面,协同参与者应该能够感知到其他用户的存在。并且应 该为系统中不同的角色提供不同的界面,如学生,教师,课件创作者等。 ( 7 ) 良好的系统性能 由于远程教育系统面向i n t e r a c t 用户,要求能每天2 4 小时不间断运行、能承受大规模的访问、 并保证较高的性能,因此有必要考虑使用负载均衡技术来将负载平均分摊到多个内部服务器上,用 于提高服务器群的整体处理能力,并提高服务的可靠性、可用性、可维护性,减少单点故障最终 目的是使每一台服务器保持链康且均能最大限度发挥其自身的处理能力,以提供大规模的服务。 i 3 论文的研究内容 论文主要针对设计和实现协作学习系统所涉及的关键技术和开发技术进行研究,其中包括: ( 1 ) 面向对象的分布式开发体系的研究,如c o r b a ( c o m m o no b j e c tr e q u e s tb r o k e r a r c h i t e c t u r e ) 、e j b ( e a t e r p f i s ej a v a b e a n s ) 和j 2 e e 、c o m ( c o m p o n e n to b j e c tm o d e l ) g ld n a ( d i s t r i b u t e d i n t e r n e ta p p l i c a t i o n s ) 。 ( 2 ) 负载均衡技术的研究,分析负载均衡技术在服务器端的应用,以及对提高系统的性能的影响。 ( 3 ) 多媒体技术的研究,在协作学习系统中还引入了丰富的多媒体手段提高教学的质量,本文对 当前的多媒体通信技术进行一定的分析。 ( 4 ) 协作学习系统体系结构和功能研究。 论文主要侧重于分布式系统的开发和性能改善的研究,分析比较目前流行的几种分布式技术以 及它们之间的协同工作、负载均衡策略对性能的影响、以及多媒体技术的应用。在此基础上设计与 开发基于j 2 e e 的分布式协作学习系统。 系统所要实现的基本功能是基于i n t e r a c t 的,教师和学生通过在线讨论组进行协作学习,学生与 学生之间、学生与老师之间可以通过丰富的多媒体手段进行讨论。 i 4 论文的组织结构 本篇论文主要由四个部分组成。 第一部分讨论了现在流行的分布式开发体系。第二个部分论述了提高服务器性能的负载均衡技 术以及相关的调度策略。第三部分介绍了多媒体通信相关的技术,如多媒体实时传输协议、多媒体 编码技术等。第四部分论述了协作学习系统的实现,给出了系统的总体结构图,实现细节以及相关 2 协作学习系统的分析与实现 技术。具体如下: 第一章引言。主要介绍了论文的研究背景、目标和结构等。 第二章面向对象的分布式开发系统,介绍了目前流行的分布式体系结构,特别比较了e j b 和 其他分布式技术。 第三章服务器的负载均衡技术。主要分析了负载均衡的分类、策略、实施要素以及技术实现, 其中重点介绍了集群技术以及基于集群的几种调度策略。 第四章多媒体通信研究。介绍了多媒体通信的基本概念、特征、关键技术、发展方向和应用 领域,研究了多媒体实时传输协议以及音频i 视频压缩编码技术。 第五章协作学习系统的实现。主要介绍了系统的结构、设计实现的细节、相关技术以及评估。 第六章结束语 东南大学硕士学位论文 第二章面向对象分布式开发系统 应用程序体系结构的发展已经经历了四次革命。最初的程序都是所谓的“大型机,程序,即用户 接口、事务逻辑以及数据访问功能都集成在一个大型应用程序中,这样尽管便于集中管理并可服务 大量用户,但系统花费也是巨大的。后来就出现了所谓的“客户机胡务器”体系结构( 郎两层c s 结构) , 在这种结构中,系统的一些处理功能由用户端来完成,因此它的性能骱格比与“大型机程序相比有 了很大的提高。c i s 结构的进一步发展就是多层的c i s 结构,此时,照个系统被分成三个逻辑层: 用户接口层、事务逻辑层和数据库访问层。与两层c s 结构相比,它有两大优点:由于避一步将客 户端部分与程序其他部分隔离,程序更加健壮:由于可执行组件被进步细化,所以程序的分布更 为灵活。同时,我们也可以看到,未来的网络开发必须满足系统规模不断扩大,计算环境更为复杂, 应用呈现多层次、多样化的要求,因此又引入了采用多层c s 结构的分布式计算模型。 传统的分布式开发技术由于其本身的技术局限,如许多标准和网络编程机制。以及可重用组件 库缺乏类型安全、可移植和扩展的接口,还有许多分布式应用程序的开发采用了功能分解的方法, 使得应用程序不容易修改与重用。无法扩展其应用功能。面在新的分布式计算模型中,简单的将应 用程序的所有功能模块作为对象看特,每个对象都可以使用系统中其他对象提供的任何服务这使 得“客户”和“服务器”的界限变得更为模糊,但同时也为整个系统带来了无穷的灵活性。面向对象技 术以它的封装、重用、可移植性和扩展性等先进的机制,为w w w 分布式应用开发带来了无限生机。 就远程教育来说。希望实现一种k o d ( k n o w i e d g e o nd e m a n d ) 模式的教学。即能满足任何人在 任何时间、任何地方都可以从w e b 上获取任何知识,获取任何模式的服务与信息。如何利用网络技 术的发展选择合适的开发体系结构。设计即可包容现有系统又具有可扩展性的协作学习系统,是 在设计开发系统之初就需要考虑的问题。 本章主要研究在面向对象的分布式开发中,完成大型系统的开发所采用的体系结构、框架、组 件和面向对象技术,以作为协作学习系统开发的参考。首先介绍了三种主流的分布式系统开发的解 决方案,并针对e j b 技术比较详细地分析和对比了它与其它几种分布式技术的区别以及它们之间的 协同工作原理。 2 1 网络分布计算解决方案简介 随着计算机网络技术的迅速发展和广泛应用,分布式计算成了研究和应用的热点,需要有一个 健壮的分布计算框架来克服分布环境的异构性。达到信息和软件资源的共享。同时,对应用软件的 可扩展性和重用性的要求也使得面向对象的分析、设计和编程技术得到了广泛的应用。将面向对象 的思想应用到分布环境中,分布对象计算( d i s t r i b u t e do b j e c tc o m p u t i n g ,简称d o c ) 的概念就应运而 生了,并迅速成为构建分布式应用系统的主流技术。从目前情况看,基于网络的分布处理技术各成 体系,其中具有代表性的是o m g 组织制定的c o r b a 标准。m i c r o s o f t 公司提出的分布式对象 构件模型d c o m ,以及s u n 公司的j a v a 技术。 2 1 1 c o r b a 技术 c o r b a 是c o m m o no b j e c tr e q u e s tb r o k e r a r c h i t e c t u r e ( 通用对象请求代理结构) 的缩写。通常提 到的c o r b a 般有两层意思,一是指对象管理组织o m g 提出的分布式对象体系结构标准,另一 层意思是按这种体系结构开发的中间件产品。 o m g 定义c o r b a 是一种分布对象体系结构,它的主要功能是为客户提供对象请求代理服务。 如图2 1 所示。它有四个主要部分:对象请求代理( o v a ) 、对象服务( c o r b as e r v i c e s ) 、通用设施 4 协作学习系统的分析与实现 ( c o r b a f a c i l i t i e s ) 和应用对象。o r b 是一种中间件,负责在对象之间建立客户服务器的关系:对象 服务定义了为分布对象所提供的系统级的基本功能;通用设施定义了能够直接被应用对象所使用的 功能;应用对象则指所有以c o r b a 为运行环境的应用。其中o r b 是c o r b a 的核心,它定义了一 种与语言和平台独立的对象总线,通过它,对象能够透明地向本地或远程对象发送请求或从它们那 里接收应答。由o r b 负责完成寻找和激活对象、请求应答消息的打包和传送,并处理并发和异常等 工作。 l 应用程序对象 0 i o r b 工工 lc o r b a 服务c o r b a 通用设施 图2 1 c o r b a 体系结构 客户可以用动态或静态的方式通过o r b 调用远程对象所公开的属性和方法。静态的调用方式是 指在客户所采用的对象组件中明确定义了调用接口,客户程序可直接访问某远程对象的属性和方法; 动态调用方式是指客户程序在构造和生成时并未确切规定远程调用对象而是在运行时动态地确定 所需访问的对象及其访问途径。在c o r b a 中,对象的接口由接口定义语言o d e ) 描述,i d l 实现了 对象接口描述与对象实现的分离。1 d l 是一种独立于编程语言、下层网络和具体实现的数据类型描 述语言,用于静态描述对象的接口。o m gi d l 描述指定了对象实现能够提供什么操作以及客户如何 调用这些操作,因而也确定了系统对外提供的功能。 o m gi d l 语言仅提供了o r b 系统所管理对象的描述的概念框架,为了实现所描述的对象,必 须将1 d l 映射到具体的编程语言,如c ,c + + ,j a v a 等。c o r b a 规范中规定了i d l 到具体编程语 言的映射。一般的c o r b a 产品均包含一个称为i d l 编译器的部件,该部件实现了c o r b a 规范中 规定的i d l 到某种特定编程语言的映射,将i d l 描述编译成特定语言的头文件及客户方s t u b 桩和对 象实现方构架。在此基础上,开发者可以实现分布的客户和服务器系统。 具体来说,基于c o r b a 的分布式应用系统的开发过程如下: 用o m g i d l 语言描述和定义接口。 用1 d l 编译器编译i d l 描述文件,生成特定编程语言的头文件、客户方存根( s t u b ) 和服务器 方构架。 实现服务器系统,包括:使用特定的编程语言实现i d l 文件中定义的接口,编制服务器方 主程序,用于创建对象实例,完成初始化工作后,服务器处于等待接收请求状态,并通知系统。 服务器注册。 编制客户方主程序,用于连接服务器和使用服务器支持的对象。 c o r b a 作为一种应用级的互联标准得到了广泛的认同和应用。其主要特征是: ( 1 ) 在c o r b a 环境下应用系统闻的互联是以对象或程序的调用方式进行的,这样就可以做到系 统间实时互操作。这类环境有很强的互操作能力。原则上,一个系统内部能够完成的操作,在系统 之间通过c o r b a 都可以实现。 ( 2 ) c o r b a 的面f 甸对象的特点还保证了各对象的封装性和内部细节的隐蔽性。这不仅可以简化 各种功能的使用,还提高了系统的安全性。 ( 3 ) c o r b a 比较适合于分层结构的应用集成,相对于当前广泛应用的多层结构系统设计来说, 这一技术比较适合于核心业务逻辑的应用程序的集成。此外,由于目前应用服务器大多提供c o r b a 接口,这样利用c o r b a 技术完成应用程序和平台之间的无缝连接也比较容易。 2 1 2m i c r o s o f td c o m 及w i n d o w sd n a 分布式公共对象模型d c o m ( d i s t r i b u t c dc o m p o n e n to b j e c tm o d e 】) 是微软公司以其公共对象模型 c o m 为基础提出的分布式应用集成框架,d c o m 和w i n d o w sd n a 是m i c r o s o f t 公司的组件 东南大学硕士学位论文 集成标准该标准支持基于数据总线和控制总线的组件集成。 c o m 是一种技术标准,其商业品睥称为a c t i v e ) ( 它的特点是:组件遵循c o m 规范编写、是 以w i n 3 2 动态链接库( d l l s ) 或可执行文件( e j s ) 的形式发布的可执行二进制代码。遵循c o m 规范 标准组件与应用、组件与组件之问可以互撵作,极其方便的建立可伸缩的应用系统。 c o m 组件及其较高的可重用性为我们展示了一种新的软件设计思路以组件对象为中心的设计 方法把硬件以芯片为中心的工艺思想恰如其分的融合于软件的面向对象的分析、设计和编写之中, 使面向对象的概念和方法从工具语言的层次跃上了系统的应用层也为d n a 的思想奠定了物质基 础。 w i n d o w s d n a d i s t r i b u t e d i n t e r n e t a p p l i c a t i o n s ) 是微软在n t 平台上提出的分布式的互联同应 用框架结构,它被b i l l g a t e s 称为“数字神经系统”。这种结构的基本出发点是为了改酱传统的c s 两层结构愈发表现出的明显的局限性,以适应更快更复杂的事务处理任务和快速开发的需要。 w i n d o w sd n a 与微软的w i n d o w s 操作系统紧密结合它是在原来m i c r o s o f t 的分却式 对象服务( 如c o m ,事务服务器m t s 等) 的基础上构造的。w i n d o w sd n a 的结构和s u n 的j 2 e e 标准相似,如图2 - 2 所示: k 一表示雇 卜商业屠_ 卜数器屡一 图2 - 2w i n d o w sd n a 结构图 在w i n d o w sd n a 结构中,分布式应用系统由表示层,商业层和数据服务层三个组成部分: ( 1 ) 表示层:用户的界面部分。表示层包括c o r b a 客户端、w e b 制览器中运行的a e t i v e x 控件、 独立运行的应用程序、i r l t c m c l 服务器a p i ( i s a p l ) 程序、活动服务器页面( a s p ) 和静态w e b 网贾。客 户端使用微软动态目录服务定位中问层组件使用d c o m 对其他组件进行方法调用。消息同样可以 通过m s m q 、c o m + 事件或其他组件技术进行异步发送在圈2 - 2 中没有标出。 ( 2 ) 商业层:商业层包括商业逻辑和数据逻辑,包含在c o m + 组件中,负责处理表示层的应用请 求,完成商务逻辑的计算任务,并将处理结果返回给用户。商业层是将原先置于客户端的商务逻辑 分离出来集中置于服务器部分为所有用户托享,商业层是整个应用的核心部分而组件对象模 型c o m 则相当其心脏。商业层通过c o m 进行事务处理。井由l l s 和m t s 为各种应用组件提供完 善的管理。 0 ) 数据层:为应用提供数据褫。和以往的两层体系结构不同,数据库不再和每十活动客户程序 保持一个连接。而是若干个客户程序通过应用逻辑组件共享数据库的连接从而减少了连接次数, 提高了数据服务的性能和安全性。可以根据需要选择m i c r o s o f t s q l s e r v e r ,o r a c l e 或任何 与o l e d b 或o d b c 兼容的数据源 w i n d o w sd n a 的技术思想使应用开发有了明确的分工。一部分a 员专注于事务逻辑层c o m 组件的开发和测试工作。另一部分人员根据商务逻辑的需要选择和使用c o m 组件,而不需要了解 6 协作学习系统的分析与实现 组件功能实现的内部细节,最终以精练的a s p 脚本语言把组件集成到页面之中,从而有效地降低了 开发的难度。 将应用逻辑组件集中置于中间层,组件对象c o m 的可重用减少了应用系统整体的管理和维护 费用。商务逻辑改变时,不必改变整个页面源代码,只需调整中间层相应的c o m 组件,即可灵活 适应商务逻辑的变化。而后,系统可以在更新后的商务逻辑处理环境下运作,减轻了客户端应用程 序版本控制和更新的难度。在这样的结构下,所有复杂的事务处理都在中间层进行,客户端只需最 基本的浏览器配置,就可以和服务器及其他客户进行事务交流。 这种应用模式能够提高系统的运营效率和安全性。在中间层,i l s 负责应用逻辑层w e b 的管理, m t s 负责应用逻辑c o m 组件的管理。m t s 在多线程的支持下工作,实现对c o m 组件的分布式连 接管理、线程自动管理及高性能事务处理的监视。应用程序使用组件可以共享与数据库的连接,使 数据库不必为每个活动客户保持一个连接,而是若干个客户通过共享组件和数据库连接降低了数 据库的负担,提高了系统性。此外,客户通过组件访问数据库时,m t s 的安全管理可以按权限将特 定组件授给不同的用户组,使商务活动的安全性和系统结构有机地结合在一起。 2 1 3e j b 和j 2 e e e j b ( e n t e r p r i s ej a v a b e a n s ) 技术是s u n 微系统公司所推出的j 2 e e ( j a v a 2p l a t f o r m ,e n t e r p r i s e e d i t i o n ) 中的核心技术之一,是s u n 公司倡导的基于j a v a 的组件构架。它是j a v a 服务器端框架的技 术规范( 其最新规范是2 0 0 1 年8 月发布的e n t e r p r i s ej a v a b e a n ss p e c i f i c a t i o n , v e r s i o n 2 0 ) ,定义t 如 何编写和部署服务器端组件,提供了组件与管理组件的应用服务器之间的标准约定。 e j b 体系结构定义了可重用、可移植的j a v a 分布式事务服务器组件的设计和发布。它允许用e j b 开发的应用程序在多个应用程序服务器上发布,不必为每个应用程序开发专门的服务器,当然这些 服务器必须遵循e j b 标准。e j b 使开发者可以把精力主要放在开发多用户的、高可靠性、高性能的 应用程序上。通过使用和扩展j d b c 、j n d i 、r m i 和c o r b a 等技术,e j b 标准提供了建立应用程 序的统一方式,使这些程序具有永久性、事务处理、集群和负载均衡等能力,但又不需要开发者直 接实现这些能力。 在e j b 之后,s u n 提出了j 2 e e 定义了一个一致的环境,以支持企业级应用的集成,确保应用 的可移植性。在s u n 的j 2 e e 规范当中j 2 e e 被定义成为一个多层次的服务开发平台,总共包括4 个组成部分,其核心是j 2 e e 应用开发模型和j 2 e e 平台。 j 2 e e 规范:通过一整套详细的说明文档描述了j 2 e e 架构,明晰了各角色之间的约束关系。 j 2 e e 参考实现:是j 2 e e 应用的标准宿主平台,包括一些的a p i 和策略的集合。 j 2 e e 兼容性测试工具:用来校验产品是否与j 2 e e 平台相兼容。 j 2 e e 应用编程模型:一个标准的开发多层架构服务的应用模型。 f 1 1j 2 e e 应用编程模型 j 2 e e 应用编程模型如图2 - 3 所示。在该模型当中,商务逻辑处理被分成三个层次;客户层,中 间层和企业信息系统层。 客户层支持不同的客户端,包括基于浏览器的瘦客户端及其他客户端,中间层能够完成企业服 务的存取,企业信息系统层负责存储企业内部的关键商务数据。j 2 e e 模型中,应用服务被分为两部 分,一部分是商务及逻辑由开发人员实现:另一部分是标准的系统服务,由j 2 e e 平台提供。 在j 2 e e 模型当中,中间层的商务功能通过一些e j b 组件实现。中间层使用j s p 实现商务逻辑 处理结果的动态发布,构成动态的h t m l 页面,中间层也可以使用s e r v l e t 实现更为灵活的一些动态 页面。 在图2 - 3 模型中,中间层可以通过以下方式访问企业信息系统层中的信息资源: 7 东南大学硕士学位论文 图2 - 3j 2 e e 应用编程模型 j d b c :数据库访问接口a p i 。 ( 萤j a v a 名字及目录接口j n d hj n d i 可以获取名字服务和目录服务例如d n s ,n d s ,l d a p 和c o r b a 的名字服务。 ( 耍) j a v a 消息服务j m s :j m s 作为一个标准的a p i 接口可以和企业基于消息的中间件系统( 例如 i b mm q s e r i e s ,b e at u x e d o 等) 交互。 j a v am a i l :基于j a v a 的电子函件a p i 接口。 q j a v ai d l :i d l 是一种接口定义语言。j a v a i d l 可以通过建立远程接口支持j a v a 和c o r b a 应用的通信。利用j a v ai d l ,应用系统可以调用c o r b a 的服务。 ( 2 ) j 2 e e 平台 j 2 e e 平台是个运行1 2 e e 应用( e j b ,s p s e r v l e t s 等) 的标准环境。它包括以下几个部分: j 2 e e 分布规范:该部分定义了在j 2 e e 平台上进行应用集成及发布的标准。 厘) j 2 e e 平台的j a 、,a 技术标准:定义了j 2 e e 平台需要支持的标准集合。 ( ) j 2 e e 平台的i e i f 标准:j 2 e e 平台需要支持的i e t f 标准的集合。 j 2 e e 平台的c o r b a 标准:j 2 e e 平台的中间层需要支持的c o r b a 标准。对象管理组织o m g 和s u n 联合制定了r m i i i o p 协议。该协议定义了c o r b a 的i i o p 协议如何调用j a v a 的r m i 。同 时e j b 标准中也定义了e j b 如何和i i o p 进行映射,通过r m i - i i o p 协议j a v a 应用可以和c o r b a 应用之间进行互操作。 2 2 e d b 和其他分布式处理技术的比较 e j b 是一种基于构件的开发模型。用于创建可伸缩、多层次、跨平台、分布式的应用,并且可 以创建具有动态扩展性的服务器端应用。e j b 给分布式面向对象开发提供了一种新的模式和尝试, e j b 的分布式体系结构是基于j a v a r m i 的,它可以与c o r b a 、c o m 进行通信。下面将对e j b 和 其他分布式处理技术进行分析和比较。 2 2 1 e j b 的体系结构 e j b 体系结构的一个主要目标是使企业应用开发者可以不用关心应用的系统级事项,而将其精 力集中在应用的商业逻辑方面。企业b e a n 开发者将应用作为一组企业b e a n 来开发,每一个企业b e a n 8 协作学习系统的分析与实现 由企业b e a n 类、企业b e a n 客户视图和部署描述符三部分构成。 ( 1 ) 企业b e a n 类 企业b e a n 类是一个j a v a 类,它实现了商业逻辑和企业b e a n 对象生命的周期方法。e j b 2 0 规范 定义了三种类型的企业b e a n :会话b e a n 、实体b e a n 和消息驱动b e a n 。 会话b e a n 会话b e a n 是一种作为单用户执行的对象。作为对远程的任务请示的响应,容器产生一个会话b e a n 的实例。一个会话b e a n 有一个用户。从某种程序来说,一个会话b e a n 对于服务器来说就代表了它 的那个用户。会话b e a n 也能用于事务,它能够更新共享的数据,但它不直接描绘这些共享的数据。 会话b e a n 的生命周期是相对较短的。典型的是,只有当用户保持会话的时候,会话b e a n 是活着的。 一旦用户退出了,会话b e a n 就不再与用户相联系了。会话b e a n 被看成是瞬时的,因为如果容器崩 溃了,那么用户必须重新建立一个新的会话对象来继续会话。 会话b e a n 又被分为两种:有状态会话b e a n 和无状态会话b e a n 。有状态会话b e a n 用于贯穿多个 方法请求和事务的商业过程,当用户终止与有状态会话b e a n 互操作的时候,会话终止,b e a n 也不再 拥有状态值。其典型例子是网上商店的购物车。而无状态会话b e a n 在客户调用方法期闻不用维护任 何状态信息。无状态会话b e a n 并不掌握它的客户的信息或者状态。用户能够调用b e a n 的方法来完 成一些操作。但是,b e a n 只是在方法调用的时候才知道用户的参数变量。方法调用完成以后,b e a n 并不继续保持这些参数变量。这样所有的无状态会话b e a n 的实例都是相同的除非它正在方法调 用期间,因此无状态会话b e a n 就能够支持多个用户。容器能够声明一个无状态会话b e a n ,能够将任 何会话b e a n 指定给任何用户。其典型例子是执行较复杂的数学运算的b e a n 。 实体b e a n 实体b e a n 对数据库中提供了一种对象的视图。例如:一个实体b e a n 能够模拟数据库表中一行 相关的数据。多个客户能够共享访问同一个实体b e a n 。实体b e a n 通过事务的上下文来访问或更新下 层的数据。这样,数据的完整性就能够被保证。实体b e a n 能存活相对较长的时间。并且状态是持续 的。只要数据库中的数据存在,实体b e a n 就一直存活。即使e j b 容器崩溃了,实体b e a n 也是存活 的。实体b e a n 生命周期能够被容器或者b e a n 自己管理。如果由b e a n 自己管理,就必须写实体b e a n 的代码,包括访问数据库的调用。 实体b e a n 是由主键来唯一标识的,主键是c l i e n t 能够定位特定的数据。通常,主键与标识数据 库中一块数据库的主键是相同的。例如当实体b e a n 代表个数据库记录时,主键可能是该记录的组 合键。对于每个实体b e a n 的实例,有一个相应的e j b 对象。当一个e j b 对象与一个实体b e a n 实例 对应时,该实例的主键保存在e j b 对象中。 消息驱动b e a n 新的e j b 2 0 规范对规范的一个基础性更改就是添加了消息驱动b e a n 这种全新的企业级b e a n 类 型。消息驱动b e a n 专门设计来处理入网的j a v a 消息服务所提供的消息。 虽然大多数j a v a 消息服务厂商都提供消息中介工具,来将消息从发送者路由到接收者,但构建 使用( 接收) 消息的j a v a 消息服务客户机却是应用程序开发人员的职责。在许多情况下,接收消息的 应用程序必须强健、安全、快速而且可伸缩,它需要的基础结构基本上与e y b 应用程序相同。 由于认识到这种需要,e j b 2 0 现在包括了消息驱动b e a n 类型,它可以使用j a v a 消息服务的消 息,并且在同一个强健的、基于组件的基础结构中处理这些消息。这样的基础结构对于会话b e a n 和 实体b e a n 都非常有用。消息驱动b e a n 类型是一种企业级b e a n 组件,它设计以使用异步的j a v a 消息 服务提供的消息。 在e j b 中。一个己部署的消息驱动b e a n 表示个单一的消息使用者,但这个

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论