(计算机应用技术专业论文)ejbcorba集成应用研究与实现.pdf_第1页
(计算机应用技术专业论文)ejbcorba集成应用研究与实现.pdf_第2页
(计算机应用技术专业论文)ejbcorba集成应用研究与实现.pdf_第3页
(计算机应用技术专业论文)ejbcorba集成应用研究与实现.pdf_第4页
(计算机应用技术专业论文)ejbcorba集成应用研究与实现.pdf_第5页
已阅读5页,还剩50页未读 继续免费阅读

(计算机应用技术专业论文)ejbcorba集成应用研究与实现.pdf.pdf 免费下载

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

文档简介

中文摘要 随着计算机网络技术的飞跃发展,社会对信息化的要求越来越高。传统客户 端朋艮务器结构的应用已经不能满足不断扩大的发布、维护和升级应用程序的需 要。此时,基于组件技术的三层体系结构w e b 应用应运而生。该体系是在分布 式技术的基础上,把信息系统按功能划分为表示、功能及数据服务的逻辑分离和 独立封装,从而具有显著的优点:易维护、扩展性强、可重用、降低网络负荷、 安全性高。 随着分布式计算技术的发展,分布式对象中间件技术也取得了很大的进步。 但是在实际应用中还有许多问题霈要解决,特别是不同分布式对象的互操作问 题。c o r b a 是一种基于开放标准的分布式计算解决方案,在c o 只b a 框架体系 结构下,可以构造跨越平台、跨语言的应用;而e j b 技术具较强的业务处理能 力。 将传统的c o r b a 技术应用到w e b 环境下,充分利用两者的优势,能够为 分布式w e b 计算带来高效率。两者集成能使c o r b a 系统能够利用j 2 e e 的e j b 遗留资源,也可以使原有的j 2 e e 系统提高对非j a v a 语言的可扩充性和兼容性。 目前有多种技术用来实现e j b 和c o r 队之间的集成,最为可行的包括基 于r m i - l i o p 技术、基于w e bs e r v i c e 技术和c c m 技术。本文研究了技术的原理 和集成的具体方法,选择在当前的情况下最适合采用的方案并且予以实现。 本文对以下方面进行了探讨: 1 阐述e j b 技术的相关概念:j 2 e e 的体系结构和层次模型,讨论了e j b 的调用机制以及适用环境,以及e j b 开发的一般开发步骤。 2 阐述c o r b a 技术的相关概念:c o r b a 模型,c o r b a 机制和相关技 术,以及c o r b a 的适用环境和优缺点。 3 研究两种技术集成的依据和当前可行方案,并对几种集成方案进行比较, 选择出当前情况下可行性最高的方案。 4 介绍基于f _ j b c o r b a 集成方案的实验程序的具体实现方法,并给出部 分代码。 在下一步的工作中,在c o r b a 和e j b 的集成应用方面还将继续深入。 c o r b a 与e j b 直接互操作,还需解决两者在安全,事务,消息服务方面的互操 作,这些需求在两者简单的集成上是不能完全做到的。可以按照c c m 规范设计 一个能兼容f j b 组件的c c m 容器,或者对现有e j b 容器添加c o r b a 服务和接 口以实现两者高层次上的互操作。 关键字:e j b ,c o r b a ,组件技术,分布式对象技术 武汉理工人学硕士论文 a b s tr a c t a si n t e m e tt e c h n o l o g yg o e so nr a p i d l y , t h er e q u e s tt ot h ei n f o r m a t i o n a l i t yo ft h e s o c i e t yi n c r e a s e ss t e a d i l y t h es t r u c t u r a la p p l i c a t i o no ft h et r a d i t i o n sc l i e n t s e r v e r h a v ea l r e a d yd i s s a t i s f i e dc o n t i n u o u s l ye x p a n do fa n n o u n c e ,f o rt h es a k eo ft h e p r o b l e mi nt h em o d eo fc s ,w e ba p p l i c a t i o np r o c e d u r es y s t e mb a s e do nc o m p o n e n t s e m e r g ew i t ht h et i d eo ft h et i m e s i nt h et h r e e - l a y e ra r c h i t e c t u r em o d e li n f o r m a t i o n s y s t e mb a s e do nc o m p o n e n t se m e r g ew i t ht h et i d eo ft h et i m e s i nt h et h r e e - l a y e r a r c h i t e c t u r em o d e li n f o r m a t i o ns y s t e mi sd i v i d e di n t o :e x p r e s s i o nl a y e r , b u s i n e s sl o g i c l a y e r , d b m sl a y e r t h e r e f o r e ,t h r e e l a y e ra r c h i t e c t u r e i s o b v i o u s l ys u p e r i o r t o t w o l a y e ra r c h i t e c t u r ei nm a i n t a i n i n g ,e x p a n s i b i l i t y , r e u s a g e ,s e c u r i t ye t c w i t ht h ed e v e l o p m e n to ft h ed i s t r i b u t e dc o m p u t i n g ,d i s t r i b u t e do b j e c t o r i e n t e d m i d d l e w a r eh a sm a d eg r e a tp r o g r e s s b u ti ts t i l lh a v em a n y p r o b l e m sw h i c hd e s e r v e r e s e a r c h ,e s p e c i a l l yi no p e r a t i o no ft h ed i f f e r e n td i s t r i b u t e do b j e c t c o r b ai sa d i s t r i b u t e dc o m p u t i n gs o l u t i o nb a s eo no p e n i n gc r i t e r i o n ,w ec a np e r f o r ma p p l i c a t i o n s o v e rt h ec r o s s - r p l a t f o r ma n dc l o s s - l a n g u a g eu n d e rt h ec o r b as y s t e ms t r u c t u r e ;w e c a nm a k et r a n s a c t i o n a lb u s i n e s sl o g i c a le a s i l yw i t ht h eh e l po fe j b t oi n t e g r a t ec o r b aa n de j bm a k e si tp o s s i b l ef o rc o r b a s y s t e mt ot a k eu s eo f t h ee j bl e g a c yr e s o u r c c si nj 2 e es y s t e m ,a l s ot h i sw i l le n h a n c et h ea b i l i t yo f e x p a n s i b i l i t ya n dc o m p a t i b i l i t yt on o n - j a v as y s t e mi nj 2 e e , n o w , t h e r ea r eal o to ft e c h n o l o g i e st oi m p l e m e n tt h ei n t e g r a t i o no fe j ba n d c o r b a ,t h em o s tp o s s i b l ew a y si n c l u d et h er m i i i o p ,w e bs e w i c ea n dc c m ( c o r b ac o m p o n e n tm o d e l ) c o m p a r et h et h r e et h e o r i e s ,c h o o s et h em o s ts u i t a b l e w a y a n di m p l e m e n tas i m p l es a m p l eb a s e do nt h i st h e o r y t h i se s s a yd i s c u s s e st h ep r o b l e m sf r o mh e r e i n a f t e rf o u ra s p e c t s : ( 1 ) t h ec h a p t e ri n t r o d u c e st h ec o n c e p t sa b o u te j b :t h ea r c h i t e c t u r ea n dm o d e l o f j 2 e e ,d i s c u s st h et r a n s f e rm e c h a n i s ma n dt h ea p p l i c a b l ee n v i r o n m e n to fe j b ,a n dt h e p r o c e s so fd e v e l o p m e n t ( 2 ) t h ec h a p t e ri n t r o d u c e st h ec o n c e p t sa b o u tc o r b a :t h ec o r b am o d e l s , d i s c u s st h et r a n s f e rm e c h a n i s ma n dt h ec o r r e l a t i o nt e c h n o l o g e so fc o r b a ,d i s c u s s t h ea d v a n t a g e sa n dd i s a d v a n t a g e so fc o r b a ( 3 ) r e s e a r c ht h et h e o r ya n df e a s i b l ep r o j e c to fe j b c o r b a , a n dc o m p a r et h i s p r o j e c t s ,c h o o s et h em o s tf e a s i b l ep r o j e c t ( 4 ) t h ec h a p t e ri n t r o d u s et h ei m p l e m e n to fp r o g r a mb a s eo nt h ee j b c o r b a i i 武汉理工大学硕士论文 i n t e g r a t i o n a n dp r o v i d et h ec o d e n e x t ,1w i l ld om o r ej o bt or e s e a r c ht h ei n t e g r a t i o na p p l i c a t i o no fe j ba n d c o r b a t h ep r o b l e mo fs e c u r i t y b u s i n e s sa n dm e s s a g es e r v i c em u s tb es o l v e a n d w ec a nd e s i g nac c mc o n t a i n e rb a s et h ec c mr u l e s ,o ra d dt h ec o r b as e r v i c ea n d i n t e r f a c ei n t ot h ee j bc o n t a i n e r ,i m p l e m e n tt h e o p e r a t i o n b e t w e e nd i f f e r e n t e n v i r o n m e n t k e yw o r d s :d i s t r i b u t e do b j e c tt e c h n o l o g y , e j b ,c o r b a , c o m p o n e n tt e c h n o l o g y j 此页若属实请申请人及导师签名。 独创性声明 y8 t ;0 9 5 3 本人声明,所呈交的论文是我个人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢 的地方外,论文中不包含其他人已经发表或撰写过的研究成果, 也不包含为获得武汉理工大学或其它教育机构的学位或证书而使 用过的材料。与我一同工作的同志对本研究所做的任何贡献均已 在论文中作了明确的说明并表示了谢意。 研究生签名:鼋b 日期 关于论文使用授权的说明 和一多牛 本人完全了解武汉理工大学有关保留、使用学位论文的规定, 即:学校有权保留送交论文的复印件。允许论文被查阅和借阅; 学校可以公布论文的全部内窖。可以采用影印、缩印或其他复制 手段保存论文。 ( 保密的论文在解密后应遵守此规定) 研究生签名:整生导师签名:立i :5 山 i 注:请将此声明装订在论文的目录前。 日期堑! 武汉理工人学硕士论文 1 1 课题研究的意义 第一章绪论 随着应用需求的发展,传统的简单两层计算模式已经逐渐不能满足企业发 展的要求。在当今的企业级计算中,应用系统需要具备高可扩展能力、高可用性、 高可靠性和高安全性等特征。为保证系统具备较高的可扩展能力,就需要系统 具备灵活的升级能力,基于中间件技术的开发是解决面向分布、多层和异构环 境的应用系统的有效方式,而且基于中间件技术的开发和应用能够很好地保证 系统的灵活性和扩展能力,同时也能够保证系统的可用性和可靠性。 在异构系统集成应用中常常面临的个重要问题可能是在个异构环境存 在多种不同的应用系统,它们采用不同的语言、架构,运行在不同的平台上。 实际上现有的大多数分布式系统都包括了一个或多个现存系统,如何合理的设 计和处理这些遗留系统成为一个重要的问题。而目前广泛应用的几种分布式应 用模型虽然各有其优点,但同时也都存在着局限性和不足。 由于成本以及其他一些现实的因素,我们不可能用一种方式完全替代另外 一种方式,所以为了适应分布式应用的集成需求,必须使由异种方式实现的服 务能够互通互用。e j b ( e n t e r p r i s ej a v a b e a n ) 和c o r b a ( c o m m o n o b j e c t r e q u e s t b r o k e ra r c h i t e c t u r e ) 都是当今流行的分布式技术,并且很多现存的系统都是基 于这两种技术。如果能在分布式系统中将e j b 和c o r b a 两项当前广为使用的分 布式技术进行合理的集成,使两者达到一定程度上的优势互补,这样不仅可以 满足跨平台、跨语言的需要,又使得j 2 e e 系统的开发能够充分的利用现存系统, 避免对现存系统的源代码进行大量修改,从而减小了分布式系统开发的复杂性 和重复性,减轻了程序员的工作量,在很大程度上提高系统的可扩展性以及系 统更新的效率。 1 。2 课题的研究内容 本课题主要研究和实现了e j b 和c o r b a 集成应用。目前很多企业级w e b 应用是基于e j b 技术实现的,但缺点是j 2 e e 技术是语言相关的。因此,采用 语言无关的c o r b a 技术,可以对j 2 e e 进行集成,这在某些场合下是很有意义 的。为此,在提出c o r b a 和e j b 几种集成方法并进行研究、分析和比较后, 在系统中实现c o r b a 客户端集成应用遗留的e j b 资源。 本文首先讨论了e j b 和c o r b a 两项流行的分布式中间件技术,并探讨两 武汉理工大学硕士论文 者集成应用的依据和可能性,对现阶段几种可能的集成方式进行研究和比较, 并且在此基础上实现一个系统。本文具体的内容和章节安排如下: 1 阐述e j b 技术的相关概念:j 2 e e 的体系结构和层次模型,讨论了e j b 的调用机制以及适用环境,以及e j b 开发的一般开发步骤。 2 阐述c o r b a 技术的相关概念:c o r b a 模型,c o r b a 机制和适用环 境。 3 研究两种技术集成的依据和当前可行方案,并对几种集成方案进行比 较,选择出当前可行性最高的方案。 4 介绍基于e j b c o r b a 集成方案的实验程序的具体实现方法,并给出 部分代码。 5 论文总结:总结论文的内容与结论,分析研究与实现中的不足之处, 提出下一步为完善集成方案需要做的工作。 2 武汉理工大学硕十论文 第二章中间件技术 2 1 中间件技术概述 传统的计算机系统多为单机系统,多用户间通过联机方式访问终端,不存 在网络的概念。在网络出现后,随之产生了c l i e n t s e r v e r 的计算机结构模式, 多个用户端可以通过共享方式使用数据库服务器等。随着i n t e r n e t 技术的快速发 展,跨地域、跨企业、跨部门、跨业务的计算机应用越来越广泛,许多软件需 要在不同的网络产品、硬件平台和网络协议的异构环境下运行1 3 1 。然而异构硬 件平台、异构网络环境、异构数据库等因素大大的影响了计算机系统的集成应 用。在应用开发过程中,大部分的时间和精力耗费在解决与业务逻辑没有直接 关系的跨平台问题上。因此,将分布式应用中具有共性的问题进行提炼和抽象, 使之形成一个供应用系统使用的可复用的软件部分显得非常必要,这个软件部 分就是中间件。中间件的结构如图2 1 所示。 图2 1 中间件结构 武汉理工大学硕+ 论文 中间件是一种通用服务,它位于操作系统和应用软件之间,它的主要功能 是屏蔽网络硬件平台的差异性以及操作系统和网络协议的异构性,从而使应用 软件在不同平台上能够平滑的运行。同时,中间件能够通过平衡负载、连接管 理和调度等技术手段大幅提升企业级应用的性能。基于中间件技术,分布式系 统的开发人员能够摆脱传统的网络编程以及维护分靠事务完整性等烦琐局面, 直接针对业务逻辑功能进行实现,从而减少了工作量,提高了效率。中间件的 运用不仅仅降低了开发的繁琐度,还节约了计算机总体费用的投入。总之,中 间件做为新层次的基础软件,其重要作用是将不同时期、不同操作系统上的应 用软件集成起来,以便于整体有效的协同工作。 随着面向对象技术的进一步发展和完善,如何利用面向对象技术为分布式 技术服务,成为了计算机业界所关注的问题。与此同时,传统的c l i e n t s e r v e r 体系结构也发生了巨大的变化,主要体现在:客户机和服务器的界限f ? 1 益模糊, 同一台机器可以在某一个时刻是服务器,而在另一时刻是客户机。在这样的环 境下,分布式对象中间件技术逐渐成为分布计算的趋势。p j 2 2 中间件特点 ( 1 ) 跨平台的实现。中间件必须县有跨平台的实现,否则只是称为在某一 个平台下的服务。由于中间件的这一优势,它的服务将促成不同平台上应用的 覆盖。中间件服务在编程时常常被设计成可移植的,以便于在不同平台下成功 的移植使用。 ( 2 ) 支持分布对象计算。中间件服务的分布是指能够被远程访问或者能使 其应用和服务被远程访问。因此一个可以远程访问的中间件服务有客户端和服 务器端两部分来构建整个体系的集成和通信。 ( 3 ) 支持标准协议。中间件应该支持某些通用的标准协议。只有这样,才 能使中间件服务在异构平台上使用,从而达到异构平台上的应用程序的互操作 性。 ( 4 ) 支持标准a p i 。中间件服务应该支持某一套标准的a p i 。当某个中间 件服务能通过一套a p i 被访问而且不必修改这套a p i ,那么我们称这一中间件 服务透明于该套a p i 。显然,透明于一套标准a p i 的中间件,将更容易被市场 和用户接受。 2 3 中间件分类 在1 ;同的角度或不同的层次上,对中间件的分类也会有所不同。由于中问 4 武汉理工大学硕士论文 件需要屏蔽分布环境中异构的操作系统和网络协议,它必须能够提供分布环境 下的通讯服务,可以把这种通讯服务称之为平台。基于目的和实现机制的不同, 可将平台分为以下主要几类:远程过程调用( r e m o t e p r o c e d u r e c a l l ) 、面向消 息中间件( m e s s a g e o r i e n t e d m i d d l e w a r e ) 、对象请求代理( o b j e c t r e q u e s t b r o k e r s ) 、事务处理监控( t r a n s a c t i o np r o c e s s i n gm o n i t o r s ) i 吲。 ( 1 ) 远程过程调用( r e m o t ep r o c e d u r ec a l l ) 远程过程调用是一种广泛使用的分布式应用程序处理方法。一个应用程序 使用r p c 来“远程”执行一个位于不同地址空间里的过程,并且从效果上看和 执行本地调用相同。事实上,一个r p c 应用分为两个部分:s e r v e r 和c l i e n t 。 s e r v e r 提供一个或多个远程过程fc l i e n t 向s e r v e r 发出远程调用。s e r v e r 和c l i e n t 可以位于同一台计算机,也可以位于不同的计算机,甚至运行在不同的操作系 统之上。它们通过网络进行通讯。相应的s t u b 和运行支持提供数据转换和通讯 服务,从而屏蔽不同的操作系统和网络协议。在这里r p c 通讯是同步的。采用 线程可以进行异步调用。 在r p c 模型中,c l i e n t 和s e r v e r 只要具备了相应的r p c 接口,并且具有 r p c 运行支持,就可以完成相应的互操作,而不必限制于特定的s e r v e r 。因此, r p c 为c l i e n t s e r v e r 分布式计算提供了有力的支持。同时,远程过程调用r p c 所提供的是基于过程的服务访问,c l i e n t 与s e r v e r 进行直接连接,没有中间机 构来处理请求,因此也具有一定的局限性。比如,r p c 通常需要一些网络细节 以定位s e r v e r ;在c l i e n t 发出请求的同时,要求s e r v e r 必须是活动的等等。 ( 2 ) 面向消息的中间件( m e s s a g e o r i e n t e dm i d d l e w a r e ) m o m 指的是利用高效可靠的消息传递机制进行平台无关的数据交流,并 基于数据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型, 它可在分布环境下扩展进程间的通信,并支持多通讯协议、语言、应用程序、 硬件和软件平台。消息传递和排队技术有以下三个主要特点: 通讯程序可在不同的时间运行 程序不在网络上直接相互通话,而是间接地将消息放入消息队列,因为程 序间没有直接的联系。所以它们不必同时运行。消息放入适当的队列时,目标 程序甚至根本不需要正在运行;即使目标程序在运行,也不意味着要立即处理 该消息。 对应用程序的结构没有约束 在复杂的应用场合中,通讯程序之间不仅可以是一对一的关系,还可以进 行一对多和多对一方式,甚至是上述多种方式的组合。多种通讯方式的构造并 没有增加应用程序的复杂性。 武汉理工大学硕士论文 程序与网络复杂性相隔离 程序将消息放入消息队列或从消息队列中取出消息来进行通讯,与此关联 的全部活动,比如维护消息队列、维护程序和队列之间的关系、处理网络的重 新启动和在网络中移动消息等是m o m 的任务,程序不直接与其它程序通话, 并且它们不涉及网络通讯的复杂性。 ( 3 ) 对象请求代理( o b j e c tr e q u e s tb r o k e r s ) 随着对象技术与分布式计算技术的发展,两者相互结合形成了分布对象计 算,并发展为当今软件技术的主流方向。1 9 9 0 年底,对象管理集团o m g 首次 推出对象管理结构o m a ( o b j e c t m a n a g e m e n t a r c h i t e c t u r e ) ,对象请求代t 里( o b j e c t r e q u e s tb r o k e r ) 是这个模型的核心组件。它的作用在于提供一个通信框架,透 明地在异构的分布计算环境中传递对象请求。c o r b a 规范包括了o r b 的所有 标准接口。1 9 9 1 年推出的c o r b a l 1 定义了接口描述语言o m g i d l 和支持 c l i e n t s e r v e r 对象在具体的o r b 上进行互操作的a p l 。c o r b a 2 0 规范描述的 是不同厂商提供的o r b 之间的互操作。 对象请求代理( o r b ) 是对象总线,它在c o r b a 规范中处于核心地位,定 义异构环境下对象透明地发送请求和接收响应的基本机制,是建立对象之间 c l i e n t s e r v e r 关系的中间件。o r b 使得对象可以透明地向其他对象发出请求或接 受其他对象的响应,这些对象可以位于本地也可以位于远程机器。o r b 拦截请 求调用,并负责找到可以实现请求的对象、传送参数、调用相应的方法、返回 结果等。c l i e n t 对象并不知道同s e r v e r 对象通讯、激活或存储s e r v e r 对象的机制, 也不必知道s e r v e r 对象位于何处、它是用何种语言实现的、使用什么操作系统 或其他不属于对象接口的系统成分。 值得指出的是c l i e n t 和s e r v e r 角色只是用来协调对象之闻的相互作用,根 据相应的场台,o r b 上的对象可以是c l i e n t ,也可以是s e r v e r ,甚至兼有两者。 当对象发出一个请求时,它是处于c l i e n t 角色;当它在接收请求对,它就处于 s e r v e r 角色。大部分的对象都是既扮演c l i e n t 角色又扮演s e r v e r 角色。另外由于 o r b 负责对象请求的传送和s e r v e r 的管理,c l i e n t 和s e r v e r 之间并不直接连接, 因此,与r p c 所支持的单纯的c l i e n t s e r v e r 结构相比,o r b 可以支持更加复杂 的结构。 ( 4 ) 事务处理监控( t r a n s a c t i o np r o c e s s i n gm o n i t o r s ) 事务处理监控( t r a n s a c t i o np r o c e s s i n gm o n i t o r s ) 最早出现在大型机上,为 其提供支持大规模事务处理的可靠运行环境。随着分布计算技术的发展,分布 应用系统对大规模的事务处理提出了需求,比如商业活动中大量的关键事务处 理。事务处理监控界于c l i e n t 和s e r v e r 之问,进行事务管理与协调、负载平衡、 武汉理工大学硕士论文 失败恢复等,以提高系统的整体性能。它可以被看作是事务处理应用程序的“操 作系统”。总体上来说,事务处理监控有以下功能: 进程管理,包括启动s e r v e r 进程、为其分配任务、监控其执行并对+ 负 载进行平衡。 事务管理,即保证在其监控下的事务处理的原子性、一致性、独立性和 持久性。 通讯管理,为c l i e m 和s e r v e r 之间提供了多种通讯机制,包括请求响应、 会话、排队、订阅发布和广播等。 事务处理监控能够为大量的c l i e n t 提供服务。如果s e r v e l 为每一个c l i e n t 都 分配其所需要的资源的话,那s e r v e r 将不堪重负。但实际上,在同一时刻并不 是所有的c l i e n t 都需要请求服务,而一旦某个c l i e n t 请求了服务,它希望得到快 速的响应。事务处理监控在操作系统之上提供一组服务,对c l i e n t 请求进行管 理并为其分配相应的服务进程,使s e r v e r 在有限的系统资源下能够高效地为大 规模的客户提供服务。 它们可向上提供不同形式的通讯服务,包括同步、排队、订阅发布、广播 等等,在这些基本的通讯平台之上,可构筑各种框架,为应用程序提供不同领 域内的服务,如事务处理监控器、分布数据访问、对象事务管理器o t m 等。 平台为上层应用屏蔽了异构平台的差异,而其上的框架又定义了相应领域内的 应用的系统结构、标准的服务组件等,用户只需告诉框架所关心的事件,然后 提供处理这些事件的代码。当事件发生时,框架则会调用用户的代码。用户代 码不用调用框架,用户程序也不必关心框架结构、执行流程、对系统级a p i 的 调用等,所有这些由框架负责完成。因此,基于中间件开发的应用具有良好的 可扩充性、易管理性、高可用性和可移植性。 2 4 发展现状 在当前应用中广泛使用三种组件模型是:o m g 的c o r b a 组件模型、m i c r o s o f t 的c o m d c o i 组件模型和s u n 公司提出的e j b 组件模型。 c o r b a c o r b a ( 通用对象请求代理体系结构) 是o m g ( 对象管理组织) 首先提出的应 用软件体系结构和对象技术规范,是提出最早也是目前最完善的分布式体系结 构。c o r b a 的核心内容是一套标准的语言、接口和协议,用以支持异构分布应 用程序间的互操作性及独立于平台和编程语言的对象重用。c o r b a 标准主要可 以分为三个层次:对象请求代理、公共对象服务和公共设施。 早在1 9 9 1 年o m g 组织就颁布了c o r b a l 0 标准,该版本的主要内容包括 武汉理_ 大学硕士论文 c o r b a 对象模型、接口定义语言( i d l ) 、用于动态请求管理和动态调用的a p i 集合以及接口仓库等。 1 9 9 6 年8 月推出的c o r b a 2 ,0 在解决互操作问题方面又迈上一个新的台阶。 其突出的贡献是引入了g i o p i i o p ( g e n e r a li n t e r - - o r bp r o t o c o l i n t e r n e ti n t e r - - o r bp r o t o c 0 1 ) 协议,能用于解决不同供应商的c o r b a 平台互操作问题。 在该版本中还增加了动态骨架接口、对接口仓库的扩展、对多层次的安全和事 务处理服务的支持、与o l e 2 c o m 之间的协同工作等功能。 o m g 在吸收利用了最新的组件技术特别是e j b 技术规范的基础上,在最新 的c o r b a 3 0 中正式提出了c o r b a 组件模型( c c m ,c o r b ac o m p o n e n t m o d e l ) 。使用它创建的服务端应用具有扩展性好、支持事务处理、支持多用户、 具备良好的安全性和支持事务处理等一系列优势。 c o r b a 以基于g i o p i i o p 的o r b 作为底层通信平台,从而实现跨平台功 能:以i d l 语言映射机制为基础实现跨语言功能,通过可增值的服务a p i 可以 实现高性能。特别指出一点,c o r b a 体系中不存在绝对的客户端和服务器, 只要发出方法请求,就具备客户端的身份;只要响应方法请求,就具备了服务 器的身份。 c o r b a 体系结构不仅提供了跨平台性,同时也提供了很好的跨语言性,底层 可使用任何c o r b a 规范支持的语言实现,如c c + + 、j a v a 、p a s c a l 、c o b o l 、 s m a l l t a l k 等。可是c o r b a 没有定义一个服务器端的构件协调器框架,也没有 定义一个完整的服务器端构件模型,系统建设和维护较为复杂,而且厂商的支 持度尚不完善。 c o m d c o m c o m ( c o m m o no b j e c tm o d e l ) ,微软官方称之为组件对象模型。d c 咖用于分 布式计算,是对c o m 的一个扩展。c o m 技术最初是在w i n d o w s 3 1 中为支持复合 文档而使用0 l e 技术上发展而来,经历了0 l e 2 c o m ,a c t i v e x 、d c o m 和c o m + 等几个阶段。目前,c 侧+ 将消息通讯模块裕m q 和解决关键业务的交易模块m t s ( m i c r o s o f tt r a n s a c t i o ns e r v e r ) 包括了进去,是分布对象计算的个比较 完整的平台。c o m 平台的效率比较高,同时也具有一系列与之相对应的开发工 具支持,应用开发也相对简单。 c o m 定义了客户与对象之间的二元结构,同时也是用不同程序语言书写的组 件之间相互操作的基础。d c 叫提供了c o m 的两个主要的扩展:m t s 和m s m q 。d c o m 服务器对象支持多线程,支持基于网络的交互,允许通过网络进行进程处理。 m t s 提供事务导向的进程,并且是基于d t c ( d i s t r i b u t e dt r a n s a c t i o n c o o r d i n a t o r ,分布式事务协调) 的。m t s 作为一个实时中间环境被包台于d c o m 8 武汉理工大学硕士论文 中,提供对m s m q 的异步应用操作,以及针对r p c ( r e m o t ep r o c e d u r ec a l l ) 的同步操作。d c o h f 还内建了远程垃圾收集功能,使之称为一个健壮的系统。 d c o i 是由微软制定并拥有的体系结构,只能运行与微软操作系统支持的硬 件平台上。虽然微软提供了d c o m 向u n i x 平台移植的解决方案,但是代价非常 的高昂。 e j b 技术 e j b 是1 9 9 8 年由s u n 公司提出的基于j a v a 的面向对象组件标准,是服务 器方的组件模式。e j b 定义了开发和布署可重用的j a v a 服务器组件模式和a p i 规范。 e j b 技术建立在已经取得极大的成功的j a v a 语言基础上,采用e j b 技术能 有效的进行软件复用,提高开发人员的效率,降低软件开发的开发和维护成本, 提高软件的质量,控制所构建系统的负载性。e j b 技术使得复杂的多层结构应 用系统开发变的容易。 e j b 体系结构对分布式的事件提供灵活的支持,允许远程客户通过远程方法 调用a p i 访问服务器功能,适应分布式体系结构中的多层应用。e j b 在i n t e r n e t 环境下集组件模式,跨异构平台,兼具事务处理,数据库连接等许多基础结构 服务,但仅限于支持j a v a 语言,不能用私有库,不能访问本地代码或者与私有 协议交互,使得其他语言实现的系统访问其服务存在一定的困难,因此将现有 的应用系统直接移植到e j b 中几乎是不可能的事。 武汉理工大学硕士论文 3 1j 2 e e 概述 第三章e d b 组件技术 3 1 1j 2 e e 框架结构 目前,j a v a2 平台有3 个版本,它们分别是:适用于小型设备和智能卡的 j a v a2 平台m i c r o 版( j a v a2p l a t f o r mm i c r oe d i t i o n ,j 2 m e ) 、适用于桌面系统的 j a v a2 平台标准版( j a v a2p l a t f o r ms t a n d a r de d i t i o n ,j 2 s e ) 以及适用于创建服 务器应用程序和服务的j a v a2 平台企业版( j a v a2p l a t f o r me n t e r p r i s ee d i t i o n , j 2 e e ) 。其中最重要的就是j 2 e e 平台。 7 a v a2p l a t f o r m ,e n t e r p r i s oe d i t i o n ( j 2 e e ) 是一套全然不同于传统应用 开发的技术架构,被设计成专门用来解决多层式企业解决方案的开发、布署以 及管理上的问题。它的核心是一组技术规范与指南,其中所包含的各类组件、 服务架构及技术层次,均有共通的标准及规格,让各种依循j 2 e e 架构的不同平 台之间,存在良好的兼容性,解决过去企业后端使用的信息产品彼此之间无法 兼容,导致企业内部或外部难以互通的窘境。一个多层的分布式的应用模型意 味着应用逻辑被根据功能而划分成组件,并且可以在同一个服务器或不同的服 务器上安装组成j 2 e e 应用的这些不同的组件。一个应用组件应被安装在什么地 方,取决于该应用组件属于该多层的j 2 e e 环境中的哪一层。这些层是客户层、 w e b 层、业务层及企业信息系统层( e i s ) ,如图3 1 。 客户端表示 服务器端表示服务器瑞业务逻辑企业信息系统 图3 1j 2 e e 体系结构 1 0 武汉理工大学硕士论文 尽管j 2 e e 支持四个不同的层:客户层、w e b 层、业务层和e i s 层,但不一 定要求每一层在物理上位于单独的计算机体系中。在通常情况下,w e b 层和业 务层在同一台服务器( j 2 e e 服务器) 上运行,基于这一点,这两层被认为是 中间层的子层。因此,j 2 e e 应用通常被考虑为三层结构的应用。三层结构的应 用程序可以理解为在标准的两层结构c s 模式的客户端应用程序和后端数据库 中间增加了一个多线程的应用程序服务器。 3 1 2 客户层 这一层处理j 2 e e 应用程序的客户表示和用户界面。客户层用来与用户交 互,并把来自系统的信息显示给用户。基于w e b 的j 2 e e 应用,允许浏览器将 w e b 网页和a p p l e t 下载到客户机器上运行。运行在诸如手持设备或车载电话上 的a p p l e t 可以显示w m l 网页,这些网页由运行在j 2 e e 服务器上的s e r v l e t 或 j s p 生成。 j 2 e e 应用可以是基于w e b 的,也可以是不基于w e b 的。在一个基于w e b 的j 2 e e 应用中,用户的浏览器在客户层中运行,并从一个w e b 服务器上下载 w e b 层中的静态h t m l 页面或由j s p 或s e r v l e t s 生成的动态h t m l 页面。在一 个不基于w e b 的j 2 e e 应用程序中,一个独立客户程序,或者不运行在一个h t m l 页面中,而是运行在其它一些基于网络的系统( 比如手持设备或汽车电话忡的 a p p l e t 程序,在客户层中运行,并在不经过w e b 层的情况下访问e j b 。根据j 2 e e 规范,j a v a b e a n s 类不被视为组件。【矧 客户层 w e b 浏览器、 叫一 业务逻辑 w e b 网页、 a p p t e t s 、可选 j a v a b e a n 组件 ii 图3 - 2 客户端层、w e b 层以及业务逻辑层 武汉理工人学硕士论文 w e b 客户端一般指的就是w e b 浏览器,它以标准格式显示从服务器传递来 的网页。不管j 2 e e 应用服务器怎样生成这些网页的,它们被传递给浏览器时己 经是h t m l 或x m l 格式,浏览器只是正确地显示给用户。所以,有时w e b 客 户端被称为“瘦客户”,瘦客户不承担复杂的数据检索和计算任务,这些复杂而 耗时的操作在j 2 e e 服务器端w e b 容器和e j b 客器内进行。这样保证了客户服 务器结构的优势,降低了w e b 流量。图3 2 显示了组成客户层的不同组件,它 们有的直接和业务逻辑层交互而不经过w e b 层。 3 1 3 表示层 j 2 e ew e b 组件可以由j s p 页面、基于w e b 的a p p l e t s 以及显示h t m l 页 面的s e r v l e t s 组成。调用s e r v l e t s 或者j s p 的h t m l 页面在应用程序组装时与 w e b 组件打包在一起。就像客户层一样,w e b 层可能包括一个j a v a b e a n s 类来管 理用户输入,并将输入发送到在业务层中运行的e j b 类来处理。 w e b 组件与基于w e b 的客户端( 如w e b 浏览器) 进行交互。j 2 e e 中有四 类w e b 组件:s e r v l e t 、j s p 、可选的j a v a b e a n 和j a v as e r v e rp a g e ss t a n d a r dt a g l i b r a r y ( j s t l ) 。j s p 和s e r v l e t 都是w e b 服务器的功能扩展,接受w e b 请求, 返回动态的w e b 页面。w e b 容器中的组件可使用e j b 容器中的组件完成复杂的 商务逻辑。按照j 2 e e 规范,静态的h t m l 页面和a p p l e t s 不算是w e b 层组件, 虽然它们和w e b 层组件( j s p )

温馨提示

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

评论

0/150

提交评论