(计算机软件与理论专业论文)基于jini技术的分布式会议系统设计与实现.pdf_第1页
(计算机软件与理论专业论文)基于jini技术的分布式会议系统设计与实现.pdf_第2页
(计算机软件与理论专业论文)基于jini技术的分布式会议系统设计与实现.pdf_第3页
(计算机软件与理论专业论文)基于jini技术的分布式会议系统设计与实现.pdf_第4页
(计算机软件与理论专业论文)基于jini技术的分布式会议系统设计与实现.pdf_第5页
已阅读5页,还剩68页未读 继续免费阅读

(计算机软件与理论专业论文)基于jini技术的分布式会议系统设计与实现.pdf.pdf 免费下载

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

文档简介

摘要 随着网络的普及和网络应用的扩大,以前老的联网方式已经不能适应人 们对于网络产生的爆炸式的需求,理所当然的需要有一种快捷、健壮的联网 方式出现。像电话网一样,人们不需要在终端上做任何操作,只需要将电话 线接口插入接口就可以将电话接入电话网;而且,某一个甚至一组设备的接 入或离开网络,不会对网络造成任何不良影响。为了满足这种需求,s u n 公 司提出了一种动态分布式体系结构一一j i n i 。 在s u nm i c r o s y s t e m s 的官方文档j i n i 体系结构规范中,对j i n i 是这 样定义的;“j i n i 是一个基于由用户群组和用户群组所需资源所结成的联盟 思想的分布式系统。系统的总体目标是将网络转变为一个灵活的、易于管理 的工具,使资源可以由入或者其它客户发现。系统的中心就是通过灵活地增 加和删除服务使网络成为一个能更好地反映工作群组动态特性的更加动态 的实体。”从定义中我们不难发现j i n i 的目标就是构建一个即插即用的动态 分布式网络。本文首先介绍了j i n i 的体系结构它的目标、它做出的假 设以及它的组件,然后论述了使用j i n i 的结构组件来组成动态的分布式群 体的步骤,并分析了j i n i 与其他传统的分布式系统在性能上的差别,指出 了为什么需要采用j i n i 技术来构建本文所设计的分布式会议系统。 在j a v a2 中引入了激活的概念,采用它可以使得程序中的远程对象只 有在需要时才“活化”,而在不被需要时基本保持睡眠。当远程对象很少工 作,或者是有很多的远程对象,要使它们全部保持活跃花费太大时,r m i 激 活框架所提供的功能就特别有用。本文所建立的服务都是基于r m i 激活框架 的,这样可以提供较好的系统性能。 在以上分析研究的基础之上,本文设计了基于j i n i 技术的分布式会议 系统并编码实现。该系统在查找服务中注册自己,然后创建了隶属于此会议 系统的两个服务:聊天服务和共享白板服务。因为这些服务都是隶属于此会 议系统的,没有公开给出服务的命令接口,因此任何加入此会议的用户都只 能通过图形化的方式使用这些服务。 关键字:j i n i ,j a v a ,r m i ,s o c k e t ,即插即用,分布式 a b s t r a c t w i t ht h ep o p u l a r i z a t i o no fn e t w o r k sa n dt h ea p p l i c a t i o n sv i an e t t r a d i t i o n a lw a yo fn e tc o n n e c t i n gc o u l dn ol o n g e rs a t i s f yp e o p e s e x p l o s i v ed e m a n d i tc a l l sf o ram o r ee x p l i c i ta n dr e b u s tw a yo fn e t c o n n e c t i n g j u s ta st h ep h o n en e t w o r k ,p e o p l ed o n tn e e da n yo p e r a t i o n o nt h et e r m i n a l s b yp l u g i n gt h ei n t e r f a c e s ,p h o n ec o u l dh ee a s i l y c o n n e c t e dt ot h en e t w o r k s m e a n w h i l e ,a n yo n eo rg r o u po fe q u i p m e n t s d e a t t a c e df r o mt h en e t w o r kw i l lm a k en oi m p a c tt ot h eo t h e r s i no r d e r t o s a t i s f y t h e n e e d ,s u np r o p o s e d a d y n a m i c a n dd i s t r i b u t i v e s t r u c t u r e 一一j i n i a c c o r d i n g t ot h ec r i t e r i o no f j i n i s t r u c t u r ea n do f f i c i a l d o c u m e n t so fs u nm i c r o s y s t e m s ,j i n iisd e f i n e da sf o l l o w s ”aj i n i s y s t e mi sad i s t r i b u t e ds y s t e mb a s e do nt h ei d e ao ff e d e r a t i n gg r o u p s o fu s e t sa n dt h er e s o u r c e sr e q u i r e db yt h o s eu s e r s t h eo v e r a l lg o a l i st ot u r nt h en e t w o r ki n t oaf l e x i b l e ,e a s i l ya d m i n i s t e r e dt o o lw i t h w h i c hr e s o u r c e sc a nb ef o u n db yh u m a na n d c o m p u t a t i o n a lc 】i e n ts r e s o u r c e sc a nb e i m p l e m e n t e d a se i t h e rh a r d w a r e d e v i c e s ,s o f t w a r e p r o g r a m s ,o rac o m b i n a t i o no ft h et w o t h ef o c u s0 ft h es y s t e mist o m a k et h en e t w o r kam o r e d y n a m i oe n t i t yt h a tb e t t e rr e f l e c t st h e d y n a m i cn a t u r eo ft h ew o r k g r o u pb ye n a b l i n gt h ea b i l i t yt oa d da n d d e l e t es e r v i c e s f l e x i b l y ”f r o m t h ea b o v e d e f i n i t i o n ,i t i sn o t d i f f i c u l tt of i n dt h a tt h eo b j e c to fj i n ii st oc o n s t r u o tad y n a m i c a n dd i s t r i b u t i v ep l u g a n d p l a yn e t w o r k f o c u s i n go ni t ,t h i sp a p e r f i r s t l yd i s c u s s e st h es t r u c t u r eo fj i n i ,i t so b j e c t i v e ,p r o p o s i t i o n a n d c o m p o n e n t t h e n ,i t d i s o u s s e st h e w a y t 0c o n s t r u c t d y n a m i c d i s t r i b u t i v e g r o u p s v i a j i n ic o m p o n e n t s ,a n a l y z e st h ed i f f e r e n c e b e t w e e nj i n ia n dt r a d i t i o n a ld is t r ib u t i v es y s t e m s ,p o i n t i n go u tt h e r e a s o nt ou s e j i n it e c h n i q u e s i n c o n s t r u c t i n g t h ed i s t r i b u t i v e m e e t i n gs y s t e m i i t h ec o n c e p to f ”a c t i v e ”isi n t r o d u c e di nj a v a2 b yu s l n gi t t h e d i s t a n to b j e c ti n p r o g r a m sc o u l db ea c t i v a t e do n l yi nt i m eo fd e m a n d , w h i l ek e e p i n gs 1 e e pi ns p a r et i m e w h e nt h ed is t a n to b j e c t ss e l d o m w o r ko rt h e r ea r et o om a n yo ft h e mw h i c hm i g h tc o s tal o tt ok e e pt h e m w a k e ,w ec o u i du s et h ef u n c t i o no f f e r e db yt h ef r a m e w o r ko fr m i ,t h e s e r v i c ed i s c u s s e di nt h i sp a p e ri sd e f i n i t e l ye s t a b l is h e do nt h i s m e c h a n i c s ,w h i c h c o u l dm a k et h e s y s t e mr u n n i n g w i t ht h eb e t t e r p e r f o r m a n c e o nt h eg r o u n do fa l lt h e s ea n a l y s isa n dr e s e a r c h ,t h em a i nw o r k o ft h isp a p e ri st h ed e s i g na n dr e a l i z a t i o no fad is t r i b u t i v em e e t i n g s y s t e mv i aj i n i t h i ss y s t e mc o u l dr e g is t e ri t s e l fw h e nc o n d u c t i n g t h el o o k u ps e r v i c e ,c r e a t i n gt w os u b s e r v i c e s 一一c h a t t i n ga n dt h e s h a r eo fw h i t e b o a r d b e c a u s et h e s es e r v i c e sa l lb e l o n g st ot h em e e t i n g s y s t e mw h i c hh a v en op u b l i cc o m m a n di n t e r f a c e s ,a n yu s e rw h ow a n tt o a c c e s sm u s tu s et h e s es e r v i c e si n g r a p h i cw a y s k e yw o r d s :j i n i ,j a v a ,r m i ,s o c k e t ,p l u g a n d p l a y ,d i s t r i b u t i v e 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名:丕叁墨望导师签名_ 歪公 日期:砂。年i v 月? 日 基于j i n i 技术的分布式会议系统设计与实现 第一章引言 i 1 课题来源和国内外研究状况 本课题为自拟题目,来源于理论和实际应用的需要。 j i n i 是s u n 公司的研究与开发项目,它能极大扩展j a v a 技术的能力。 丁in j 技术可使范围广泛的多种硬件和软件一一即可与网络相连的任何实体 一一能够自主联网。j i n i 可以使人们极其简单地使用网络设备和网络服务, 就像今天我们使用电话一样一一通过网络拨号即插即用。j i n i 的目标是最 大限度地简化与网络的交互性。 1 9 9 9 年1 月2 5 日,s u n 公司推出了具有革命性的新技术j i n i ,将j a v a 技术所建立起来的基于开放性标准的以网络为中心的计算模式向前推进。 j i n i 技术是在美国加州旧金山市举行的s u n 全球分析家大会上发布的,它 一发布就得到业界3 0 多个主要合作伙伴的大力支持。目前,这些合作伙伴 正在将j i n i 技术纳入他们下一代的家用或商用器件之中,所有这些新型器 件都能与网络实现互操作。围绕j i n i 技术所形成的社团已呈现这样的迹象: 即将出现的新型器件将覆盖极其广泛的应用范围,从摄像机到家庭打印机, 因为这些正在应用j i m 技术源代码的厂商们已拥有了创造多种多样的新颖 产品的全新的途径和方法。目前约有1 5 万名程序开发人员和大约1 0 0 家商 用授权客户正在使用j i n i 。 j i n i 技术的出现为数字化电子设备和现有计算机网络之间的连接构筑 了一条通道,各种电子设备的联网将产生许多服务,生成新的经济增长点, 推动计算机产业和信息家电产业的发展。目前,美国s u n 公司已和日本的索 尼、夏普、东芝、同立,荷兰的飞利浦等八家公司,联合研制开发基于j i n i 技术的家电产品。而对于国内的家电厂商和计算机厂商来说,需要联合起来, 进行家电的数字化改造和家电联网关键技术的研究开发,争取在后p c 时代 的竞争中处于有利的地位。 维吉尼亚州的t e m p l a r 公司正用j i n i 软件,从浩瀚的执法数据库中采 集数据。该软件从位于不同城市的民调机构搜集资料,然后转化为统一的档 案规格。t e m p l a r 的软件内含j i n i 技术,扮演着网络“通报员”的角色, 基丁j i n i 技术的分布式会议系统设计与实现 可记录某一笔数据相对于中央数据搜集系统的所在位置。 1 2 本课题在理论和实际应用方面的意义 目前的网络计算环境非常复杂。w i n d o w s9 8 和w i n d o w sn tw o r k s t a t i o n 等客户机操作系统都包含1 0 0 0 万到2 0 0 0 万行代码。这些系统的规模和复杂 性要求使用昂贵的、资源密集型计算设备,它们能够随各新版软件的面市而 不断升级。 在现有网络中添加新的设备也是同样的情况。虽然m i c r o s o f t 公司在其 操作系统上增加了p l u g a n d p l a y ( 即插即用) 功能,但对多数信息服务企 业来说,新硬件的添加、配置和安装设备驱动程序总是一个问题。 对那些必须为成千上万用户维护稳定的计算环境的系统管理员来说,对 客户机端软件的不断复制使其工作负担加重,且成本增加,同时也限制了能 与网络相连且有效使用的设备的范围。 j i n i 具有创建庞大的电子设备网络的潜力。用户可使用标准计算机设 备与之相连,或从网络本身获得这些服务( 存储器、存储和计算) 。因此,j i n i 在至少以下l o 个主要方面有别于传统操作系统: 1 它规模小。j i m 的内核只需要一台j a v a 虚拟机,4 k b 常驻内存和一 些计算环路( c o m p u t i n gc y c l e s ) ,j i n i 系统大约为6 0 0k b 。 2 该系统完全基于对象。其组件包括可远程执行的方法,如果某个方 法与其执行环境不兼容( 如浮点代码) ,则它能自动装载正确的方法。 3 j i n i 的基本控制结构简单。对象通过j a v a s p a c e s ( 管理诸如对象处 理、共享和移植等功能的系统) 的基本操作一r e a d ,w r i t e 和t a k e 一一和 标准j a v ar m i 接口实现通信。 4 所有服务均通过简单的“租用”提供。租用是依赖于时间的( 到期后 可延续) ,并允许对同一服务有多个租用。 5 j i n i 包括标准j a v a 安全性构造。因为环境具有分布式特点,所以 这一点非常重要,因为在执行对象的地方必须具备安全性。 6 借助j a v a s p a c e s ,j i n i 还包含了事务( 两阶段提交) 和持续性( 即 p e r s i s t e n c y ,最初是用o b j e c td e s i g n 公司的o b j e c t s t o r ep s ep r of o r j a v a ) 。 7 在j i n i 内部,像安全策略等基本信息群均可访问。这些信息群几乎 基于j i n i 技术的分布式会议系统设计与实现 可以无限地汇集起来,放置在大型网络中。 8 j i n i 支持j a v a 编程模式。j a v a 服务和协议( g a v a b e a n s 等) 仍可为 广大程序员使用。 9 资源可免费授权( 或近乎免费) 。 1 0 最重要的是,j i n i 提供插入即可执行的能力,新连接的设备能立 刻得到网络的认可( 通过l o o k u p 、j o i na n dd is c o v e r y 协议) ,并可访问任 何已经授权的服务。s u n 公司把这一特点比作标准电话网的拨号,并且正 在考虑使用j a v a t o n e 品牌来描述整个环境。 j i n i 的重要性体现在,它可能能够做到:将服务的可用性扩展到更加 广泛的电子设备的同时,降低维护分布式计算环境的成本和复杂程度。 降低企业网络拥有成本是一个重要的问题。在企业2 0 0 0 年问题解决以 后,这个问题将成为各企业信息服务部门下一个1 0 年的主要课题。 除了降低成本以外,j i n i 还可能创建全新一代的网络服务和产品。服 务已经打破了本地计算机系统的界限,并将发展到与远程设备功能相符,并 且当功能受到限制时可以从网络上动态地提供。请想象一下这样一种智能化 家庭网络:它控制着从电脑到烤面包器、从分布式超级计算机到能把呼叫自 动传输给您( 可能是您的计算机、电话、电视和蜂窝设备) 的电话网。j i n i 有可能使这一切及更多其它的应用成为现实。 1 3 课题实现的具体目标 通过学习与分析j i n i 的技术规范及其应用价值,开展j i n i 的实用性研 究,并在此基础上设计与实现基于该技术的分布式会议系统。 基于j i n i 技术的分布式会议系统设计与实现 2 1 c o r b a 第二章分布式体系结构的发展 2 1 1c 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 ) 是对象管理组织( o m g ,o b j e c tm a n a g e m e n tg r o u p ) 推出的 一个重要规范。为了解决分布式计算环境( d c e ,d i s t r i b u t e dc o m p u t e e n v i o r m e n t ) 中不同硬件设备和软件系统的互联、增强网络间软件的互操作 性、解决传统分布式计算模式中的不足等问题,o m g 提出了c o r b a ,试图增 强软件系统问的互操作能力,使构造迅捷灵活的分布式应用系统成为可能。 对象请求代理( o r b ,o b j e c tr e q u e s tb r o k e r ) 是c o r b a 平台的核心,它用 于屏蔽与底层平台有关的细节,使开发者可以集中精力去解决与应用相关的 问题,而不必自己去为创建分布式计算基础平台而操心。 c o r b a 使用接口定义语言( i d l ,i n t e r f a c ed e f i n i t i o nl a n g u a g e ) 来 提供语言和平台的独立性。i d l 有助于描述服务而无需深入到具体实现细节。 用这种方法可以将实现与接口相分离。跨开发商的互操作性可以通过通用跨 o r b 协议( g i o p ,g e n e r a li n t e ro r bp r o t o c 0 1 ) i n t e r n e t 跨o r b 协议( i i o p , i n t e r n e ti n t e ro r bp r o t o c 0 1 ) 规范来保证。由这些组件,c o r b a 就为开 发与语言和平台无关的分布式应用提供了一个简单而又强大的体系结构。如 图2 - lc o r b a 系统体系结构 基于j i n i 技术的分布式会议系统设计与实现 图2 - 1 所示是c o r b a 的组件体系结构。 2 1 2c o r b a 的工作原理 c o r b a 遵循了通用的分布式系统解决方案模式。提供服务的服务提供者 通过一个对象在可用的命名目录( c o r b a 命名) 中发布其对象。对此分布式对 象感兴趣的客户则通过该命名服务找到服务器对象,然后就可以调用服各器 对象上的合适的服务了。为了做到该点,客户必须提前与服务器提供的各 种服务绑定以得到有关信息。这是通过c o r b ai d l 完成的。c o r b a 服务器实 现了i d l 接口。 所有本地调用的方法调用均通过一个称为桩的客户代理完成,它将对方 法参数和数据进行串行化,并发到一个称为体的服务器端对象,而体则需要 重构此方法及其详细内容。体要负责代表客户来调用这个方法,并正确地返 回结果。o r b ,也称为对象b u s ,则要负责找到合适的服务器对象( 使用服 务器对象引用) ,并向服务器传输方法参数、数据,此外还要从服务器传回 方法结果。客户与o r b 通过一个桩实现交互,而服务器对象则使用一个对象 c o r b a 客户 c o r b a 服务器 图2 - 2c o r b a 工作原理 基于l i n i 技术的分布式会议系统设计与实现 适配器( o a ,o b j e c ta d a p t e r ) 或o r b 接口与o r b 实现交互。因此,为了使一 个客户对象参与到c o r b a 环境中,它必须知道服务器的位置、服务描述以及 服务调用机制。图2 2 详细说明了c o r b a 是如何工作的。 2 2d c o m c o m + 2 2 1d c o m c o m + 简介 分布式组件对象模型( d c o m ,d i s t r i b u t e dc o m p o n e n to b j e c tm o d e l ) 原来被称为网络对象链接和嵌入技术( o l e ,o b j e c tl i n k i n ga n d e m b e d d i n g ) ,是为了处理网络中的组件通信而引入的。他为分布于网络中分 离主机上的分布式对象提供了一个集成的体系结构。像c o r b a 一样,d c o m 是一种与位置和协议相关的体系结构。d c o m 的体系结构如图2 - 3 所示。但 它又不同于c o r b a ,因为c o r b a 的体系结构是从头建立的以支持分布式异构 计算,而d c o m 则是为了满足桌面应用的分布式需求而发展的。当前d c o m 特 别适用于分布式m i c r o s o f tw i n d o w s 应用,但不能处理其它平台。 在d c o m 体系结构中的对象通信是对象远程过程调用( o r p c ,o b j e c t r e m o t ep r o c e d u r ec a l l ) 。o r p c 是基于o s f d c er p c ( 开放软件基础分布式 计算环境远程过程调用) 建立的,而o s f d c er p c 既可以在一个诸如t c p 的 图2 - 3d c o m c o m + 体系结构 面向连接的协议上运行,也可以在u d p 等无连接的协议上运行。d c o m 服务 通过微软的接口定义语言( m s i d l ) 来描述,该语言是o s f d c ei d l 的一个超 基于j i n i 技术的分布式会议系统设计与实现 集。基本上,c o m 为接口定义了一个二进制标准。只要一种编程语言能够支 持这种二进制标准,它就能用于实现c o m 对象。 2 2 2d c o m c o m + 的工作原理 d c o m 的工作采用的是通用的分布式系统解决方案,这与此问题空间中 的其它体系结构是完全相同的,如c o r b a ,r m i 或d c e 。通过一个对象提供 服务的服务器在一个可用的命名目录( 活动目录服务) 中发布其对象。对此 分布式对象感兴趣的客户必须知道此服务器提供的多种服务。这可以通过 m s - i d l 来实现。该服务器实现了i d l 接口。 所有本地调用的方法调用均通过一个称为代理的客户代理来完成,它将 完成方法参数和数据的串行化并发送到一个称为桩的服务器端对象上,在此 要重构此方法及其详细内容。这个桩要负责代表客户调用方法并正确地返回 结果。在d c o m 中的术语桩与其它分布式技术中的含义有所不同。c o m 服务 器可以创建多个c o m 对象类的对象实例。一个c o m 对象支持多个接口,而每 d c o m c o m + 客户d c o m c o m + j i 务器 图2 - 4d c o m c o m + :e 作原理 个接口又表示了不同的对象观点或对象行为。c o m 客户通过获得某个对象接 基于j i n i 技术的分布式会议系统设计与实现 口的指针来与一个c o m 对象交互,并且通过此指针来调用方法,就好像此对 象就在客户的地址空间一样。所有c o m 接口必须遵循一个标准的内存分配, 既v t a b l e 接口,这是用c 什语言定义的。由于d c o m 规范是二进制的,它可 以将用不同的编程语言编写的二进制组件加以集成,如c + + ,j a v a ,v is u a l b a s i c 。图2 4 显示了d c o 斟工作的详细内容。 2 3d n a n e t 2 3 1d n a n e t 简介 微软的w i n d o w s 分布式跨网络应用( d n a ,w i n d o w sd is 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 ) 体系结构,也称为m i c r o s o f t 的w e b 解决方案平台, 它为应用开发人员群体提供了丰富的、成熟的基础设施服务,从而可以在开 发核心企业应用时使用。所提供的服务包括分布式目录服务( 也称为活动目 录服务a d s ) 、安全服务( 支持公开和私有密钥技术如r s a 以及网络验证技 术如k e r b e r o s ) 、分布式执行、自动安装及验证服务。由d n a 提供的其它中 间件服务还包括事务服务( m i c r o s o f t 事务服务m t s ) 、消息队列服务 ( m i c r o s o f t 消息队列m s m q ) 、线程、对象池、集群、数据访问以及管理。 m i c r o s o f t 的d n a 体系结构的目标是提供一个集成的操作系统加基础设施模 型,从而履盖i n t e r n e t 、i n t r a n e t 和e x t r a n e t 计算的全部范围,并满足当 前分布式企业的需求。 n e t 平台是对d n a 体系结构的扩展,它提供了一个更为丰富的框 架。,n e t 体系结构如图2 - 5 所示。n e t 的出现是软件界的一大革命,它带 来的新特性解决了当今软件开发中的如下核心问题: ( 1 ) 互操作性( i n t e r o p e r a b i l i t y ) 、集成性( i n t e g r a t i o n ) 和应用 程序的可扩展性( e x t e n s i b i l i t y ) 利用原有的开发工具很难实现,而且即 使实现,也要付出高昂的代价。n e t 依靠x m l 技术标准消除了数据共享和 软件集成的障碍。 ( 2 ) 在现有的开发环境中,开发人员不能在程序之间方便地共享数据 或无法操作可访问的数据。而x m l 使得数据交换变得简单易行,n e t 对x m l 提供了强大的支持。 ( 3 ) c o m 公司和w e b 站点很难为开发人员提供有价值和可操作的数据, 基于j i n i 技术的分布式会议系统设计与实现 一个个信息孤岛很难与其他程序和服务很好合作,而n e t 技术可以整合整 个w e b 上的程序和服务。 ( 4 ) 终端用户的信息和数据的个人隐私和安全问题成为在w e b 上活动 的大障碍,n e tm ys e r v i c e 提供了一整套服务,增加了用户信息的可管 理性和安全性。 臣困医面 图2 - 5 n e t 体系结构 2 3 2 d n a n e t 工作原理 n e t 平台中的应用模型仍然是d n a 模型。这与在j 2 e e 平台中仍然选择 e j b 应用模型是类似的。d n a 的主要重点是为开发企业应用提供一个体系结 构。在这个角度来看,d n a 与j 2 e e 可以满足相应的企业解决方案空间。d n a 的引擎建立在c 0 m 十组件模型和d c o m 协议基础上。以下简单列出了d n a 体系 结构的各个组件。 平台服务 组件技术:a c t iv e x 、c o m + 基于j i n i 技术的分布式会议系统设计与实现 系统服务:a d o 、m d t c 、a d s 、微软安全服务 通信:d c o m 应用模型 客户层:h t m l 、 w e b 层:a s p 中间层:m t s e i s 层:a d o 、o l ed b 2 4 本章小结 本章主要介绍了在j i n i 技术出现以前的一些分布式技术,如c o r b a 、 d c o m c o m + 、d n a n e t 等。这些技术有他们自身的优势,但是由于这些技术 对分布式计算模型做了一些过分简化的假设,使得它们在编程模型、编程语 言和基础设施方面存在一些问题。 基于j m i 技术的分布式会议系统设计与实现 第三章j i n i 体系结构概述 在j i n i 出现以前,分布式计算领域已经取得了长足的发展,如c o r b a 、 r m i 和d c o m 等技术的引入和采用等等,但是分布式计算仍然存在着主要的 局限性以及一些不正确的假设。计算机专家p e t e rd e u t s c h 指出了分布式计 算的七个错误认识,我们在这里列举如下:( 1 ) 网络是可靠的;( 2 ) 延迟 ( 1 a t e n c y ) 是零;( 3 ) 带宽( b a n d w i d t h ) 是无限的;( 4 ) 网络是安全的; ( 5 ) 拓扑( t o p o l o g y ) 不变:( 6 ) 只有一个管理员;( 7 ) 传输无代价。而 且以上这些分布式系统都取决于具体的协议和编程语言,因此相应于动态的 分布式计算完全是迥异的概念。它们也没有预见到i n t e r n e t 会“爆炸”,没 有考虑到手持设备或其他在分布式计算环境中引入的设备。目前,它们仅支 持分布式软件对象,并准备为其他非软件形式的实体( 即硬件) 提供支持。 j i m 的出现就是为了解决这些问题,它的目标就是为了解决如今广泛 存在着的动态分布式计算,并为此创建一个健壮的动态分布式环境。 3 1j i n i 的定义 在s u nm i c r o s y s t e m s 的官方文档j i n i 体系结构规范中,对j i n i 是这 样定义的:“j i n i 是一个基于由用户群组和用户群组所需资源所结成的联盟 思想的分布式系统。系统的总体目标是将网络转变为一个灵活的、易于管理 的工具,使资源可以由人或者其它客户发现。系统的中心就是通过灵活地增 加和删除服务使网络成为一个能更好地反映工作群组动态特性的更加动态 的实体。” j i n i 本身并不是一个缩写词,它是一种自诊断、自配置的分布式网络 体系结构,而且相对于其服务节点,它具有更强的生命力。j i n i 允许服务 动态地加入或离开,而不会对网络或网络用户造成任何影响。甚至可以说, 它是一种与协议无关的分布式计算体系结构,可以与任何分布式对象采用任 何协议进行交互。 3 2j i n i 解决方案 如上所述,j i n i 是一种动态的分布式体系结构,可以提供自发的服务 基于j i n i 技术的分布式会议系统设计与实现 网络。通过采用以下方法可以解决分布式计算中存在的常见问题: 利用j a v a 来克服编程模型和编程语言的问题。 j i n i 协议提供了一个新的基础设施,完全是从头建立的,可以用于 解决基础设施问题。 3 2 1j i n i 是一种基于j a v a 的解决方案 通过使用j a v a ,j i n i 可以解决分布式计算中相关的大部分编程语言方 面的问题。j a v a 不仅仅是一种编程语言一一更是一个平台。通过采用j a v a 虚拟机( j v m ,j a v av i r t u a lm a c h i n e ) 。它可以屏蔽机器平台和操作系统的 异构性。因此,所有应用都可以在任何平台或操作系统上运行。“一次编写, 随处执行”正是j a v a 的市场宗旨。 此特性的逻辑扩展即是对硬件和软件加以抽象。应用所需的只是能够获 得j v m ,而并不关心它在哪里运行,例如可以在一个膝上计算机上运行,也 可以在以往的系统、手持设备或者是一台打印设备上运行。这说明要支持某 些设备并使之参与计算,唯一需要做的就是在设备中导入j v m 。使用 j v m j a v a 对分布式异构进行“统一”将有助于避免相关数据和调用格式的 转换,因为网络任何一端都能够理解j a v a 语言。j a v a 的强类型特征更在提 供简单性的同时还增加了健壮性。 j a v a 之所以独树一帜还在于它具有其他强大的特性,即能够在j v m 之 间实现代码的移动。此特性通过a p p l e t 程序设计在i n t e r n e t 应用中得到了 广泛应用,此外还应用于r m i 程序设计中。通过使用这一特性,r m i 可以根 据需要发送客户代理,从而解除了客户与服务器的藕合。代码的移动性同样 也增加到了j i n i 体系结构中,并为体系结构提供了更强大的作用。移动代 码环境中存在的安全威胁可以利用策略文件得到妥善处理。 j a v a 作为一种纯粹的面向对象语言是从头建立的,而且它不支持指针。 这对于分布式程序设计来说是再好不过了,因为编程人员将没有机会来破坏 远程主机的内存空间或者是攻击一台远程主机。由于有如此之多的有力特 性,j a v a 在适应分布式计算方面总是遥遥领先于其他的竞争对手。由此可 以看出,j i n i 体系结构肯定要建立在j a v a 基础之上。 基于j i n i 技术的分布式会议系统设计与实现 3 2 2j i n i 基础设施 n n i 考虑到了现有分布式体系结构中存在的种种基础设施问题,并且 重新建立了一个新的基础设施。j i n i 提供了一组新协议一一发现和加入一一 从而支持自发的服务网络。在j i n i 协议中,你可以使用j r i p ( j a v a 远程消 息协议,j a v ar e m o t em e s s a g ep r o t o c 0 1 ) 、i i o p 、o r p c 、s o a p ( 简单对象 访问协议,s i m p l eo b j e c t a c c e s sp r o t o c 0 1 ) 或者其他任何专用协议。因 此,它是与协议无关的。它还提供了一种命名服务,即所谓的查找服务,各 种服务可以据此实现注册并向其他对象发布其可用性。服务提供者可以通过 属性的形式表现其特殊性或宣布它的惟一性。这就使服务请求者可以根据某 种通用类型、超类型、子类型或专用类型来进行查询。 j i n i 还提供了一个分布式事件机制,这是对j a v a b e a n s 事件模型的扩 展,由此服务请求者可以在服务提供者处注册其所需服务。服务一旦可用, 服务请求者还能获得通知,因此,不再需要任何轮询了。 部分失败是通过一种租用机制加以处理的。租用为资源或服务的使用引 入了一个时间的概念。在j i n i 中,允许服务请求者根据实际需要的时间维 持与服务提供者的连接。在j i n i 环境中,租用可以在某个特定时间段将服 务提供者列在查找服务中,如果超出此时间段,则需要重新协商一个新的租 用,或者干脆将它从查找服务中移出。这样就可以支持建立一个动态的网络, 服务提供者能够随时离开或重新加入进来而不会影响到其他系统。此外,由 服务请求者与服务提供者协商得到的租用,还可控制使用某个服务提供者的 服务请求者。 j i m 通过j a v a s p a c e s 和j i n i 事务服务提供了可选的持续性和事务服 务。表3 1 中,我们可以看到j i n i 是如何解决现有的分布式计算问题的。 3 3j i n i 的体系结构 3 3 1j i n i 体系结构概览 j i m 体系结构包括以下组件: 基础设施组件,它将支持建立一个j v m 联盟。 编程模型组件,它将提供一组接口从而建立可靠的分布式服务。 基于j i n i 技术的分布式会议系统设计与实现 编程模型 网络延迟 部分失败 并发性 服务提供者于服务请求者 之间存在紧耦合 注册所需服务的机制 编程语言 地址空间 基础设施相关 对请求协议的依赖性 不太通用的请求协议以处 理服务通知 通过j a v a 远程接口区别本地对象和远程对象 使用租用机制和发现( 多点传送宣布) 协议加咀处理 通过事务管理器接口加以处理 由于代理对象将按需下载到客户端,因此没有更多的 耦台。服务提供者与服务请求者之间的关系是动态的, 而且生存期很短,这要依服务请求者具体的需求而定 提供一个分布式事件机制,服务请求者可以在某个查 找服务处注册其所需服务,并在服务可用时得到通知 j a v a 语言,无指针,但区别对本地对象和远程对象 它与协议无关,可以包容任何协议:j r m p 、l l o p 、 o r p c 、s o a p 或某个专用协议 由于采用了一种j a v a 虚拟机j v m ,从而使硬件、软件、 设备以及其他种种设备看上去都完全一样 服务组件,它将建立当前存在的实体,并表示在联盟中所提供的功能。 尽管系统包含以上三个组件部分,但是各个部分之间的界限却是模糊 的。实际上,基础设施组件和服务组件都是利用编程模型组件接口建立的。 j i n i 体系结构是面向动态分布式计算的一个基于j a v a 的解决方案。 j in i 系统将j a v a 应用环境由单独的j v m 扩展到一个j v m 网络。从这个观点 看,j i n i 可以认为是j a v a 应用环境的基础设施、编程模型和服务的网络扩 展。j i n i 利用了大部分的核心j a v a 技术,诸如r m i 和j a v a b e a n 等,同时 还增加了另外的功能来满足系统的分布式网络性质。 j i n i 体系结构与j a v a 的耦合程度要从以下两个方面来分析: 5 i n i 作为一个应用环境和编程模型与j a v a 是紧耦合的。 但作为语言则与j a v a 没有藕合关系。 这说明服务可以用任何语言实现,如:c 、c 或j p y t h o n ( p y t h o n 的 1 4 基于j i n i 技术的分布式会议系统设计与实现 j a v a 实现) 等等。但是为了参与到这个体系结构中来,则需要指定一个编 译器,要求它能够生成与j a v a 兼容的字节码。如果无法做到,还可以利用 j a v a 本地接口( j n i ,j a v an a t i v ei n t e r f a c e ) 来进行j a v a 包装或j a v a 化。 这样,即使是以往的应用也可以得到j a v a 包装并生成为一个j i n i 服务。总 而言之,j i n i 体系结构不是以j a v a 语言为中心,而是以j a v a 应用为中心 的。 3 3 2 系统假设 j i n i 的体系结构建立在以下环境假设基础上: 有一个网络,并具有合理的网络延迟。这将保证网络的延迟

温馨提示

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

评论

0/150

提交评论