已阅读5页,还剩62页未读, 继续免费阅读
(计算机软件与理论专业论文)基于ejbsnmp技术的分布式网络流量监测系统的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于e j b ,s n m p 技术的分布式网络流量监铡系统的设计与实现 摘要 当前计算机网络的发展特点是规模不断扩大,复杂性不断增加,异构性越来 越高,传统的集中式的网管系统和网管技术难以满足大规模网络应用的需要,这 对网络管理提出了新的要求,需要研究新的、有效的网络管理模型和技术,开发 高效实用的网络管理系统。 随着中间件技术的兴起,企业j a v ab e a n s 在大型系统设计中用得越来越广 泛。目前,越来越多的系统开始采用多层体系结构的方法。本文将中间件e j b 技术和通用的s n 肿协议结合,提出一种新型的网络管理模型? 基于e j b s n m p 技术的分布式网络管理模型,并从模型的体系结构到各层的功能及关键技术:如 实体b e a n s 、会话b e a n s 、s 唧s e r v e r 的实现进行了详细的研究和讨论。本模型 采用客户端w e b 层逻辑层数据层四层体系结构的方法,其中逻辑层是系统设 计的关键和难点,逻辑层是界面层和数据层的桥梁,它响应界面层的用户请求, 执行任务并从数据层抓取数据,并将必要的数据传送给界面层,本模型根据网络 管理的功能,采用面向对象的思想将业务逻辑分成配置管理e j b 、故障管理e j b 、 性能管理e j b 、计费管理e j b 和安全管理e j b 。这样可以重复利用对象,减少冗 余,且e j b 组件在网络中的位置和应用无关,因此系统管理员可以很容易地重新 配置系统的负载。 在基于e j b s 皿技术的分布式网络管理模型上,我们设计并实现了一套 网络流量监测系统,主要目标是实现管理员可以方便的查看路由器或交换机相关 流量的日流量图、周流量图、月流量图和年流量图,进而可以查看网络运行情况, 便于更好的管理和维护网络,提高网络使用效率。实践表明,我们用基于 e j b s m 皿技术的分布式网络管理模型开发出来的应用系统一方面继承了基于 w 曲的网络管理模式多层体系结构的优点,另一方面又具有分布式网络管理的特 点异构性、分布性、可移植性、扩展性、灵活性、系统健壮性等,能大幅度 提高网络管理的效率。 关键字:e j b ,j 2 e e ,简单网络管理协议,中间件,网络管理 西北大学计算机系磺士研究生论文 兰主! 些竺型! 垫查竺坌塑茎旦竺亟墨些型墨竺笪塑生兰壅翌 d e s i g n a 1 1 di r r l p l e m e m a t i o no f d i s t r i b u t e dn e t n o w i n s p e c t i o n b a s e de j b s v t e c n o l o g y a b s t r a c t n o w a d a y sl a 唱es c a l e ,c o m p l e x i t y a n dh e t e m g e n e i t yi sc h a r i c t e ro fc o m p u t e r n 咖o r kw h i c hp r o p o s en e wr e q l l i r e m e m so fn e t w o r km 肋a g e m e n t ( n m ) t r a d i t i o n a l c e i 血a l i z e dn m s y s t e m s c a n h a r d l y m e e ts u c hr e q l l i r e m e n t s t h e r e f o r e ,i t si l e c c e s s a y f o ri l st o i n v e s t i g a t ea n df i n d o u tn e w ,e 毹c t i v en mm o d e la i l d t e c l l i l o l o g ) ,f o r d e v e l o 肿e mo f p r a c t i c a ln ms y m 髓 w i t l lm ei i l i d d l e w a r es p i l l g i n gu p ,e m 叩r i s ej a v ab e a l l s ( e j b ) i su s e di nt l l ed e s i 弘 o f l a 唱es y s t e m m o r e 弛d m o r e n o w a d a y sm 锄y 印p l i c a t i o ns y s t c ma d o p tt l l em e i h o d o fm u l t i t i e r 呲 l i c e c t u r e m 也i sp a p e r “i sb u i i d e d 也a tan a v e l 联婀懈k m 锄a g c m e m m o d e l d i s 仃i b u t e d 眦柳o r km a i l a g e m e mm o d e lb 嬲e do ne j b s n h 伊 t e c h n o l o g y 锄di ti ss t i l d i e d 锄dd i s c u s s e di nd e t a i lf 幻ma m c t i o n so fa r c l l i t e c t u r et o k e y 池1 0 9 ys u c h 丛c o m p l h n e n t o fe n 廿t yb e 弛s ,驼s s i o nb e a n sa n ds n r n p s e r v e r t h em o d e la d o p tf o l l rt i e ra r c l i i t e c t u r ct h a ti sc l l s t o mt i e r ,w 曲t i e “1 0 9 i ct i e r d a t a 蛀e r a m o n g o ft l l e m ,l o g i ct i e ri so fk e ya n dd i f f i c u l ti nd e s i 印ni s 蜥d g eb e 铆e e n i n t e r f 犯et i c r 舭dd a t at i e rw h i c hr e s p o n dr e q u e s t s 丘d mc u s t o m ,e x e c u t et 鹪k s ,g e t d a t a 丘d md l l 诅t i e r ,缸d r e t i l mr e s u ht oi m e r f k et i e li nt l l i s m o d e l ,c o m i g m a i l a g c m e me j b ,f h l tm a i i a g e m e n te j b ,p e r f o m 姐c em 托a g e m e n te j b ,c o s t m a l l a g e m e me j ba n ds e c l | r i t ym 锄a g e m e ma r ec i 曲s i 匆b yf i l i l c t i o i l s o fn e t w o r k m 锄g e m e m ,w h 王c ha d o p td i 刚b u t e d i d e a t h e s ea d v 酬吨e sa r er e d l l c i n gr e d 吼d 如c e b yu s i n gc o m p o n e n tf e p t i y a 1 1 ds y s 搬nm 锄a g e f c 趾e 雒i l yc o 曲g u r cr e n c w e d 王yt l l e l o a do fs y s t c mb e c a u s ec o m p o n e mh a v en om l a t i o nt op o s i t i o na i l da p p l i c a t i o ni n n e t 、v o r l ( 0 nb i so f n l en e t w o r km 趾a g e m e m m o d e lb 鹊e do ne j b s n m p t e c h n o l o g ) rw 色 曲s i 弘锄di m p l e m e n tas e to fs y s t c mi n s p e c t i n gn c t f l o w ,w h j c ht a r g e ti s a b l e m a i l a g e ri n s p e c te a s i l yn e t f l o wp i c n l 托o f a i l yd a y w e e k ,m o n t ha i l dy e 甜o fr o u t e ro r s 、v i c h ,s o 硒t ow a t c hn 咖r kc o n d i t i o n ,m a r m g e ,m a i n t a i n t 、o r k 强di m p m v e u s e de m d e n c yo fn e m o r k f r o mp r a c t i c e ,t l l ei m p l e m e n t e dn e t 、v o r km 锄a g e m e n t m o d e ib 觞e do ne j b ,s n m pt e c h l o g yo no n eh 锄di i l l l e r i t 让屺a d v 锄t a g e so f n e t 、v o r km 锄a g 咖e mb 鹳e dw 曲,o nm eo t h e rh 舭di th 硒c h a r t 凹so fd i s 砸b u t e do f n e t w o r k m 柚a g e m e n t ,s u c h 船h e t e r o g e n e i 魄d i s 研b u t i o n ,s c a l a b i l i 啦n c x i b i l i 坝 e x t e n s i b i l 吼r o b u s t i c i 戗蚰di te n h 锄c e t l l ee 衔c i e n c yo f n m k e yw o r d s :e j b ,j 2 e e ,s i r i l p l e n e t w o r k m a n a g e m e n tp r o t o c o l ,m i d d l e 眦眦,n 咖o r k m a n a g e m e n t 西北大学计算机系硕士研究生论文 独创性声明 本人声明所璺交的论文是本人在导烬指导下进行的磺究王铭及 取缮的研究成果。据我所知,除了文中特别加以标注的地方外,论文 中不毽含其拖入愁经发表或撰霉过的磷究残果,也不包会为获褥嚣北 大学或其它教育机构的学位证粥而使用过的材料。 签名: 了蠢 2 0 0 3 年5 月2 7 目 基于e j 日俗n m p 技术的分布式网络流量监测系统的设计与实现 第一章绪论 二十世纪网络快速发展,如今已经成为生活中不可或缺的部分,使得网络 管理显得越来越重要。大的、复杂的、由异构型设备组成的计算机网络靠人工是 无法管理的,没有功能强大的管理工具和有效的管理技术是无法组织网络协调高 效运行的。随着网络管理应用的不断深入和复杂程度不断提高,陆续产生了几种 网络管理体系结构,如简单网络管理( s n m p ) 和电信管理网( o s i ,r m n ) ,但 基本的思想是基于管理者代理( m a :m a n a g e r a g e n t ) 的管理方式。管理者主 要功能是要求代理提供信息,并向代理发出管理指示;而代理主要功能是收集被 监控对象的各种信息,完成管理者的要求。m a 框架将复杂的网络管理应用通 过两极模块划分加以简化,当前的大多数网络管理产品都是遵循这一模型。这种 网络管理模型主要缺点具体表现在以下几方面: ( 1 ) 由于客户端和服务器端直接连接,服务器将消耗部分系统资源用于处 理与客户端的连接工作。那么每当同时存在大量客户端数据请求时,服务器有限 的系统资源将被用于频繁应付与客户端之间的连接,从而无法及时响应数据请 求。客户端数据请求堆积的直接后果将导致系统整体运行效率的大幅降低甚至全 面崩溃。 ( 2 ) 主一从式的结构中,唯一在线的数据库服务器成为系统可靠性的极大 隐患。如果数据库服务器因为某种原因停止工作,那么整个系统将趋于瘫痪。 ( 3 ) 客户端应用程序的分发工作的烦琐程度令人难以接受。系统开发过程 完毕,随之而来的程序分发除了要求为每台客户机安装客户端程序的执行文件以 外,还要求安装程序运行所必须的动态链接库文件( d 1 1 ) 、程序初始化文件( i i l i ) 等许多其它文件。另外,还必须完成每台客户机器的0 d b c 的配置工作。不仅 如此,每次对客户端程序的修改和升级,又意味着上述相同分发过程的又一次重 复。 ( 4 ) 在存储过程调用中,即所有处理过程都在数据库层进行,只是将最终 结果返回到客户端。这种结构的业务逻辑需采用专用语言开发,很难再移植到其 它的数据库上去。 为了解决m a 这种集中控制方式导致的上述问题,网络管理的两极模式正 在被三级或多级模式取代。例如,基于w e b 的网络管理:如w b e m ( w 曲b a s e d 西北大学计算机系硕士研究生论文 基于e j 引s n m p 技术的分布式嘲络流量监测系统的设计与实现 e n t 泖妇m a n a g e m e n t ) 模型、j m a p i ( j a v a a p i f o rs n m p p r o t o c o l k ) 。 三级模式主要需要解决的问题如下 ( 1 ) 界面层提供给用户一个视觉上的界面,通过界面层,用户输入数据、获取 数据。界面层同时也提供一定的安全性,确保用户不会看到机密的信息。 ( 2 ) 逻辑层( 也称中间层、中介代理) 是界面层和数据层的桥梁,它响应界面 层的用户请求,执行任务并从数据层抓取数据,并将必要的数据传送给界面层。 ( 3 ) 数据层,数据层定义、维护数据的完整性、安全性,它响应逻辑层的请求, 访问数据。这一层通常由大型的数据库服务器实现,如o r a c l e 、s v b a s e 、d b 2 、 m s s q l s e n ,e r 等。 将界面层和逻辑层合为一层,数据层是另一层,通常称为胖客户服务器结 构:将逻辑层和数据层合为一层,界面层是另一层,通常称为瘦客户服务器结 构。而三层结构则将这几层分离处理。它是最简单的多层应用,它把应用程序分 为:瘦客户端应用程序、应用程序服务器和远端数据库服务器。其中,客户端主 要负责用户界面的处理:服务器端主要负责商业逻辑的处理,为客户端提供公共 的数据服务,处理客户端与数据库间的数据流;远端数据库服务器提供关系数据 库的存取与维护。其优点在于:( 1 ) 具有灵活的硬件系统构成及更好的支持分布 式计算环境,( 2 ) 提高程序的可维护性,( 3 ) 瘦客户的模式,( 4 ) 进行严密的安全管 理,此外,系统管理简单,可支持异种数据库,有很高的可用性。 但是现有大多数基于w 曲的网络管理的实现方案在系统的可扩展性、跨平 台性、可移植性、安全性和运行效率上都存在着不足。 随着9 0 年代分布式计算技术的发展,基于分布式思想的网络管理正在成为 研究的重点。目前国际上,分布式对象技术有三大流派c 0 b r a 、c o m d c o m 和 j a v a 。c o r b a 技术是最早出现的,1 9 9 1 年o 惦颁布了c o b r a1 o 标准,在当时来 说做得非常漂亮;再有就是m i c r o s o f t 的c 0 m 系列,从最初的c o m 发展成现在的 d c o m ,形成了m i c r o s o f t 一套分布式对象的计算平台;而s u n 推出了e j b ,除了 语言外还有组件的标准以及组件之间协同工作通讯的框架。于是,也就形成了目 前的三大流派。 c o m 技术是m i c r o s o f t 独家做的,是在w i n d o w s3 1 中最初为支持复合文档 而使用o l e 技术上发展而来。经历了o l e2 c o m 、a c t i v e x 、d c 伽和c 0 m + 等几个 西北大学计算帆系顼士研究生论文 基于e j b f s n m p 技术的分布式网络流量监测系统的设计与实现 阶段,目前c o m + 把消息通讯模块m s f q 和解决关键业务的交易模块m t s 都加进去 了,是分布对象计算的一个比较完整的平台。m c r o s o f t 的c 0 m 平台效率比较高, 同时它有一系列相应的开发工具支持,应用开发相对简单。但它有个致命的弱 点就是c o m 的跨平台性较差,如何实现与第三方厂商的互操作性始终是它的一大 问题。从分布对象技术发展的角度来看,大多数人认为c o m 竞争不过c 0 b r a 。 c o b r a 标准主要分为3 个层次:对象请求代理、公共对象服务和公共设施。 最底层是对象请求代理0 r b ,规定了分布对象的定义( 接口) 和语言映射,实现 对象间的通讯和互操作,是分布对象系统中的“软总线”;在o r b 之上定义了很 多公共服务,可以提供诸如并发服务、名字服务、事务( 交易) 服务、安全服务等 各种各样的服务:最上层的公共设施则定义了组件框架,提供可直接为业务对象 使用的服务,规定业务对象有效协作所需的协定规则。总之,c o r 队的特点是大 而全,互操作性和开放性非常好。c o r b a 的缺点是庞大而复杂,并且技术和标准 的更新相对较慢,c 0 b r a 规范从1 0 升级到2 0 所花的时间非常短,而再往上的 版本的发布就相对十分缓慢了。 相比之下,j a v a 标准的制订就快得多,j a v a 是s u n 公司自己定的,演变的 很快。j a v a 的优势是纯语言的,跨平台性非常好。j a v a 分布对象技术通常指远 程方法调用( r m i ) 和企业级j a v a b e a n ( e j b ) 。跚i 提供了一个j a v a 对象远程 调用另一j a v a 对象的方法的能力,与传统r p c 类似,只能支持初级的分布对象 互操作。s u n 公司于是基于r m i ,提出了e j b 。基于j a v a 服务器端组件模型,e j b 框架提供了像远程访问、安全、交易、持久和生命期管理等多种支持分布对象计 算的服务。 我们将e j b 这种面向对象的分布式计算环境应用于网络管理,提出了基于 e j b s n m p 技术的网络管理模型,并在此基础上设计并实现了网络流量监测系 统。这个模型是建立在客户端w 曲层逻辑层一数据层四层结构之上,逻辑层 由e j b 构成,即b 负责向代理收集被监控对象的各种信息,其中使用的通信协议 是s n m p ,之所以使用s n m p 协议,是因为现今各网络管理皆以s n m p 为基本 主轴,从最初的版本到现在的更新版本,s n m p 以更强大的功能来管理网络。 w e b 层由j s p 页面和s e r v l e t 组成,主要负责显示管理界面,接收管理者的请求 并将请求发送给e j b ,e j b 将按请求查询数据,然后将结果返回给客户端。由于 西北大学计算机系硕士研究生论文 基于e j b ,s n m p 技术的分布式网络流量监测系统的设计与实现 e j b 的面向对象分布式技术、分布式透明性、跨平台性等优点,因此将e j b 技术 应用于网络管理,不仅解决了网络平台复杂性和多样性的问题,并且把面向对象 的设计思想引入到网络管理系统的开发中。 综上所述,传统的网络管理方式已经不适应当前网络发展的趋势。网络管理 向多层分布式应用系统跨越已经成为一种必然趋势。因为在大型异构网络中,网 管信息分散于各代理的m i b 库中,且由于底层网络管理协议不同,这些网管信 息的表现形式也不同,在这种分布的、异构的环境中,使用分布式对象构筑一个 中间件层,它一方面对下层代理的信息进行集成以形成一个更高层次的管理信息 视图,屏蔽底层网络管理协议的不同,同时增强信息的有效性,另一方面对上层 的管理应用程序以对象和接口的形式提供统一的服务。这样不仅增加了系统的伸 缩性,还提高了网络管理程序的开发效率,并且可以和原理的系统进行集成。 因此,若采用多层开发模式,而不运用o o p 的开发思想,很难做到真正意 义的多层结构。如果把多层和o o p 结合起来,进行软件开发,那么开发出来的 应用系统就具有很强的适应性,所以基于分布对象计算技术的网络管理系统适应 了不断发展的现代网络技术和日益复杂的网络管理应用的需求,将成为未来的发 展趋势。 本论文在第二章介绍了企业j a v a b e a l l s 的基本概念、编程环境、体系结构、 r m i 1 1 0 p 和j n d i 技术以及肿的好处;在第三章中对于s n m p 协议的基本概 念及建立在s n m p 协议上的网络管理模型做了概述;在第四章中提出了一种基 于e j b s n m p 技术的分布式网络管理模型,并论述了此模型在当前网络管理系 统中的优势;在第五章中设计了一套基于e j b ,s n m p 技术的分布式网络管理模 型的网络流量监测系统。 西北大学计算机系硕士研究生论文 4 基于e j b ,s n m p 技术的分布式网络流量监测系统的设计与实现 第二章分布式组件e j b 为了使网络管理具有更好的性能和可扩展性,它正朝着分布式和w e b 化方 向发展。企业j a v ab e a i l s n t e r p r i s ej a v ab e a l l s ,简称e j b ) 是目前国外较为流行 的分布式结构,其优势表现在:e j b 是一个分布式开发标准,具有很强的通用性 和稳定性;它是与j a 、,a 紧密联系的,可移植性好。很多著名公司已经实现了 e j b 服务器,如:i b m w 曲s p h e r e 、b e a w 曲1 0 9 i c 、i p l a i l e t ( n e t s c 印e s u n ) 、s y b a s e e as e r 、r e r 等。它们提供了基本的分布式应用系统逻辑结构,让开发人员专注于 业务逻辑的开发。 2 1e j b 的实现平台j 2 e e ( j a v a2e n t e r p r i s ee d i t i o n ) j a v a 语言最早是为了实现嵌入式的消费类电子产品应用而产生的。它是一种 多用途的语言、并发的语言、以类为基础,面向对象的语言。它的设计尽可能做 到和操作系统无关,也就是j a v a 所宣称的那句话:“一次编写,到处运行。” j a v a 技术根据硬件平台与适用环境的差异,分成几个分支。 j 2 m e ( j a v a 2 p l a t f b 哪m i c r o e d m o n ) 小型版,应用于消费产品和嵌入 式设备。 j 2 s e ( j a v a2p l 帕ms t a i l de d i t i o n ) 标准版,应用于桌面开发和低端商 务应用。 j 2 e e ( j a v a2p l a 怕胁e m e r p r i s ee d i t i o n ) 企业版,面向以企业为环境而 开发应用程序。 下面从三个方面介绍j 2 e e v ,j 2 e e 多层体系结构:j 2 e e 平台的基本架构 v ,j 2 e e 提供的服务:应用组件需要用到的一些公共服务设施 j 2 e e 容器:j 2 e e 运行环境 2 1 1j 2 e e 多层体系结构 j 2 e e 平台使用多层分布式应用程序模型,根据功能的不同把应用程序逻辑 划分成各个组件。各组件安装在不同的机器上。组件的位置取决于组件本身在 j 2 e e 环境中所处的层次。j 2 e e 定义了四个独立的层,分别是:客户层、表示逻 西北大学计算机系硕士研究生论文 基于e 馆,s n m p 技术的分布式网络流量监测系统鲍监计与;塞塑 辑层、业务逻辑层和企业信息系统层,如图2 一l 所示 图2 1j 2 e e 多层体系结构 客户层 客户层用来运行在用户机器上的w 曲浏览器。它的功能是显示数据或更新 数据。客户端一般有两种类型:基于h r r p 的客户端和j a v a 应用。基于哪 客户端使用j a v as e 1 e t 和j g v 嬲e r v e rp a g e ( j s p ) 通过超文本传输协议与e j b 服 务器交互。j a v a 应用是通过r m i 1 1 0 p 协议使用j a v a 远程方法请求访问方式直接 与e j b 服务器交互。支持客户端的组件有嵌入w 曲页面的a p p l e t 和j a v a b e 锄s 。 糕( 嘲溅 表示层生成了w 曲页面和w 曲页面中的动态内容。动态内容通常从数据库 获得。表示层在w 曲服务器中实现,表示层由s e l e t 和j s p 组成,s e r v l c t 是动 态处理请求并形成应答的j a 垤类。j s p 页面是基于文本的文档,其中包含静态内 容,以及为了产生动态内容的j a v a 代码片断。装载j s p 页面时,后台s e r v l e t 会 执行代码片断,并返回应答。 西北大学计算机系硕士研究生论文6 基于e j b ,s n m p 技术的分布式网络流量监测系统的设计与实现 业务逻辑层 业务逻辑包括: 执行全部必须的计算和动作。 工作流管理( 包括跟踪会话数据) 。 表示层中全部数据访问的管理。 业务逻辑层的应用组件e j b 就负责完成上述业务逻辑,如接收由w 曲层发 送来的请求或数据并进行处理,然后发送给保存数据的企业信息系统层。另外, e j b 可以从存储中重新得到数据并进行处理,然后发送回客户程序。 e j b 不直接和客户端打交道,而是由e j b 容器( e j b 服务器) 提供接口和服 务。e j b 服务器是包含和运行企业b e a i l 的服务器。该服务器将业务逻辑和所用 数据封装在一起,可为多个e j b 客户端所共享。e j b 服务器由三个部分组成: e j b 服务器运行时环境、e j b 容器和企业b e a i l 。e j b 容器用于连接企业b e a l l 和 基本的e j b 服务器,同时提供b e 觚和容器之间的接口( a p i ) 。e j b 服务器与e j b 容器组件共同为企业b e a n 提供如下工具和服务: 部署企业b e a j l 的工具、安全服务、负载管理服务、持久性服务。命名服务、 事务服务。 1 安全服务 通过增强a c c e s s c o n t r o l e n 竹对象和r u n a s 安全标识中指定的限制,容 器为e j b 组件提供安全支持。a c c e s s c o n t r o i e n t r y 对象在b e a n 级别上或针 对单个方法,将i d e n f 时对象与企业级b e a n 相关联。i d e n t 时对象反映允许 调用b e a n 的方法的用户或角色。当容器试图访问数据源或另一个b e a n 时, 它们也会将r u n a s 安全身份应用于e j b 组件。可将r u n a s 身份设置为等同 于某个特定用户帐户、有权限的系统帐户或客户机安全身份。访问控制和r u n a s 的信息是b e a n 的开发人员在部署描述符中指定的,将影响容器管理b e a n 的 与安全有关的行为方式。 2 负载管理服务 负载管理服务通过将e j b 服务器划分成服务器组的方式提供e j b 服务器环 境的可伸缩性。客户端访问服务器组时就像服务一个单独的e j b 服务器一样。 负载管理服务确保负载在服务器组的各个e j b 服务器之间均匀分布。 西北大学计算机系硕士研究生论文 基于e j b ,s n m p 技术的分布式网络流量监测系统的设计与实现 3 持久性服务 持久性服务保证与实体b e 锄关联的数据可以和数据源中相应数据确切同步。 为了完成这个任务,持久性服务和事务服务共同工作,以便于在适当时机完成对 数据源中数据的插入、更新、获取和删除。 4 命名服务 在一个面向对象的分布式计算环境中,客户端必须有一个机制来定位和识别 对象,以使客户端、对象和资源似乎在同一台机器中。命名服务就提供了这种机 制。在e j b 服务器环境中,j n d i 用于屏蔽实际的命名服务,并为命名服务提供 一个公共接口。 5 事务服务 一个事务正式地定义了一个原子工作单位。一个事务中可以包含多个操作, 当事务终止时,所有执行的操作或者完全执行或者完全废弃。这称为提交和回滚 ( r o l l b a c k ) 。一个分布式事务是运行在多个进程( 通常在几台计算机上) 中的事务, 每个进程都参与这个事务。为了支持分布式事务,大多数事务管理器( 包括数据 库) 支持两段提交。在两段提交协议中,事务管理器在准备提交事务前首先询问 所有的事务参与者的工作是否完成。这是协议的第一阶段。一旦每个参与者同意 提交,第二阶段才会开始。如果其中有一个事务失败,那么就任务整个事务失败, 每个进程必须恢复启动事务之前的状态。在分布式网络管理系统中,事务可以保 证多用户管理网络的一致性。 数据层 用户希望保存的数据存储在数据库中,如果用户希望建立一个数据库连接, 通过查询在j n d i 服务中的数据源,可以从数据源中获取相应的数据库连接。这 样用户就只需要提供一个逻辑名称,而不是数据库登陆的具体细节。在建立数据 源时,提供相应数据库的j d b c 驱动程序,登陆名,密码等细节,扑d i 为这个 数据源取一个别名,在程序中,如果要连接数据库,只需要使用扑l 查找别名, 登陆的细节由j n d i 完成,而不需要获得建立连接时需要的所用信息,这在一定 程度上保证了安全。 西北大学计算机系硕士研究生论文 基于e j b s n m p 技术的分布式网络流量监测系统的设计与实现 2 1 2j 2 e e 提供的服务 j 2 e e 环境提供了完善的服务,以满足各类应用的需要。这些服务主要有: _ 连通服务 j d b c ( j a v ad a t a b a s ec o n n e c t i v i t y ) :提供数据库连接和访问服务 j c a ( j a v ac o n n e c t o ra r c h i t e c t u r e ) :提供与旧有遗留系统之间的 连接 通信服务j a v a 消息服务删s ( j a v am e s s a g i n gs e r v i c e ) :提供层与 组件之间的消息传递 电子邮件服务( j a f j a v a m a i l ) :提供电子邮件服务 j a v ai d l 跚i i i o p :c o r b a 兼容接口,提供j 2 e e 与c o r 队的通信服 务 j a x ( j a v a 瑚la p i s ) :提供x m l 语法分析绑定服务 认证服务 j n d i ( j a v an 锄i n ga n dd i r e c t o r yi n t e r f a c e ) :提供分布式命名和 目录服务 - 其它服务 j t s j t a ( j a v at r a n s a c t i o ns e r v i c e ) :提供事务处理监控服务 j 从s ( j a v aa u t h e n t i c a t i o na n da u t h o r i z a t i o ns e r v i c e ) :提供访 问控制等安全服务“叮 2 1 3j 2 e e 运行时的环境( 容器) j 2 e e 应用组件各自运行在相应的运行时环境中,这些运行时环境在j 2 e e 术 语里被称为“容器”a 不同服务器厂商推出的容器产品不尽相同,但一定都符合通 用接口标准- j 2 e e 标准共定义了以下四种容器,应用组件可通过配置工具部署 到对应的容器中: a p p l e t 容器:运行a p p l e t 客户端应用程序容器:运行标准客户端j a v a 应用程序 w 曲容器:运行表示逻辑层的s e r v l e t 和j s p e j b 容器:运行业务逻辑层的企业j a v a b e 锄 西北大学计算机系硬士研究生论文9 基于e j b ,s n m p 技术的分布式网络流量监测系统的设计与耋现 j 2 e e 体系结构的主导思想就是开发人员只需要专注于其业务逻辑的设计及 编程,而不必为考虑系统级问题分心,所以容器一般提供了一些系统级服务,这 些服务对程序员是透明的。例如,容器提供的基础设施包括:内存管理、垃圾收 集、可用性、可伸缩性、负载平衡和容错。 2 2e j b 的体系结构 2 2 1e j b 的类型 大体上讲,e j b 可以根据通信特征进行分类( 同步的和异步的) 。e j b 可以有 三种基本类型会话b e 趾、实体b e 趾和消息驱动b e 蛆。会话b e 她和实体b e a i l 是同步通信,消息驱动b c 缸是异步通信。下图是e j b 的基本类型图。 图2 - 2e r l l e r p r i s ej a v a b e 锄的类型 2 2 1 1 实体b e a n s ( e n t i t yb e a n s ) 实体b e a n 用于封装持久性数据和处理持久性数据的方法。所封装的持久性 数据可存储在数据源中,如数据库或文件系统。例如:一个实体b e a n 能够模拟 数据库表中一行相关的数据。多个c l i e n t 能够共享访问同一个实体b e a n 多个 c l i e n t 也能够同时的访问同一个实体b e 8 n 。实体b e a n s 通过事务的上下文来访 问或更新下层的数据。这样,数据的完整性就能够被保证。 为了确保实体b e a n 的数据不丢失,实体b e a n 将它的数据存放在数据库这样 的数据源中。当一个b e a n 实例中数据被修改时,数据源中的数据与b e a n 数据同 西北大学计算机系硕士研究生论文l o 基于e j b ,s n m p 技术的分布式网络流量监测系统的设计与实现 步修改。控制这个同步操作是由相应的实体b e a n 控制,还是由相应的容器控制, 可将实体b e a n s 分为基于b e a n 管理模式的持久性( b e a n m a n a g e d d e r s i s t e n c e ,b m p ) 和基于容器管理模式的持久性( c o n t a i n e r m a n a g e d p e r s i s t e n c e ,c m p ) 。 b e a n 管理持久性( b m p ) 数据的持久性由实体b e a n 管理。实体b e a n 通过直接从其企业b e a n 类向数 据源写入,以实现b e a n 管理持久性。但是,在要求对实体b e a n 的持久性有更 多的控制时,b m p 可能更有利,例如: 如果您的数据源不是数据库。 如果容器不提供您需要的支持来将实体b e 强存储到数据库。 因为具有b m p 的实体b e a n 可处理自己的所有数据源交互作用,所以它们 编写起来可能更复杂。如果下列有关实体b e a n 的任何种情况为真,必须使用 b m p : 。b e a i l 的持久数据存储在多个数据源中。 o b e 柚的持久数据存储在应用服务器不支持的数据源中。 容器管理持久性( c m p ) 将数据的持久性操作授权给容器。在创建配置描述符时,指定b e a n 实例的 哪些字段需要是持久的在配置期间,配置工具将持久字段映射为数据源,然后 容器处理b e a n 与该数据源之间的同步。持久字段到数据源之间的基本映射由管 理控制台配置工具提供a 具有c m p 的实体b e a n 编写起来比具有b m p 的实体 b e a n 简单,因为具有c i i l p 的实体b e a n 不需要与数据源交互作用的用户代码。 2 2 1 2 会话b e a n s s e s s i o nb e a n s 声明了与用户的互操作或者会话。会话b e a n 有两种类型: 有状态会话b e a n ( s t a t e f u ls e s s i o nb e a n ) ,无状态会话b e a n ( s t a t e l e s ss e s s i o nb e a n ) 。 西北大学计算机系硕士研究生论文 基于e j b ,s n m p 技术的分布式嘲络流量监测系统的设计与实现 有状态的s e s s i o nb e a n s 对象的状态由实例变量的值描述。对于有状态会话b e a i l ,实例变量描述了 客户程序与b e 孤的会话的状态。鉴于客户程序与b e a n 的交互关系,b e 她的状 态信息通常称为会话状态。在客户程序与b e 锄交互期间,状态信息一直有效。 如果客户程序运行结束或拆除了b e a i l ,则会话结束,状态信息也不再保留。然 而,状态信息的这种临时性并不成为问题,因为当客户程序与b e 孤之间的会话 终止,状态信息也就没有必要再保存了。 无状态的s e s s i o nb e a n s 无状态的s e s s i o nb e a n s 并不掌握它的客户的信息或者状态。用户能够调用 b e a n s 的方法来完成一些操作。但是,b e a n s 只是在方法调用的时候才知道用户 的参数变量。当方法调用完成以后,b e a n s 并不继续保持这些参数变量。这样, 所有的无状态的s e s s i o nb e a n s 的实例都是相同的,除非它正在方法调用期间。 这样,无状态的s e s s i o nb e a n s 就能够支持多个用户。容器能够声明一个无状态 的s e s s i o nb e a n s ,能够将任何s e s s i o nb e a n s 指定给任何用户。 2 2 1 3 消息驱动b e a n s 消息驱动b e a i l s 是无状态、服务器端组件。主要用于接收、处理j a v a 客户 通过j m s 发送的消息。这种b e 锄s 用于建模企业内部消息中的过程、路由。开 发者可以用消息驱动b 锄s 集成遗留系统和e j b 系统,或者完成b 2 b 交互。然 而,消息驱动b e a n s 只是由b e 锄类和x m l 配置描述文件构成,没有h o m e 或者 r e i n o t e 接口。消息驱动b e a n s 不是分布式组件,没有e j b o j e c t 和e j b h o m e 引用。 它们仅仅对来自j m s 的异步消息作出响应。 2 2 2 关键e j b 元素 e m e r p r i s e b e 蚰类 e m e r p r i s eb e a l i 类封装了需要实现的商务逻辑,b e 姐开发任一的主要工作就在 这个类的实现中。这个类首先需要遵循一些规范,并要与一些定义的接口保持一 西北大学计算机系硬士研究生论文 1 2 基于e j b ,s n m p 技术的分布式网络流量监测系统的设计与实现 致。不同类型的b e a n 的要求也不一样。对应s e s s i o nb e a i l ,这个类主要包含一 些商业处理逻辑,比如计算价格、银行系统的转帐、下定单等;对于e n t i t y b e a l l 则主要包含一些数据逻辑,比如一个用户的名字和地址、银行的帐户等;对于 m e s s a g e d r i v eb e a l l ,则主要包含一些消息处理逻辑,比如如何处理接受到股票 交易信息等。 e j b 对象 e j b 对象运行在e _ i b 容器中,e j b 容器通过b e a i l 提供的方法来管理b e 趾。 当客户端需要调用e j b 时,并不直接与b e a n 类提供的方法打交道,客户端的调 用被e j b 容器截获,而e j b 对象则充当了b e a i l 类实例的代理。e j b 对象是根据 b e a n 类、某些接口和某些描述文件,并通过专门的工具来生成的,它负责和一 些中间层a p l 打交道,这样b e 趾的编写人员的工作就大大减轻了。同时e j b 容 器以这种方式为用户提供了大量的服务:事务处理和安全性、资源管理( 如数据 库连接池、s o c k e t 池) 、b e 姐的生命周期管理、容器管理的永久性存储、透明的 远程访问、独立的多用户支持等。e j b 容器是客户端和b e a n 之间的中间层,这 个中间层负责管理一个能处理底层网络通信的对象,这个对象就是e j b 对象。 它复制了b e 锄类的商业方法,并代表b e 锄类做相应客户端的调用。图2 3 描 述了e j b 对象所起的作用,可见e j b 对象充当了b e 跹实例的代理对象。 图2 3 口b 对象 远程接口( r e m o t e i n t e r h c e ) 西北大学计算机系硕士研究生论文 基于e j b ,s n m p 技术的分布式网络流量监测系统的设计与实现 远程接口( 以及远程h o m e 接口) 为远程客户端提供种访问会话b e a n 或 实体b e a n 的方法。上面说过远程客户端只和e j bo b j e c t 打交道,而不是直接调 用b e a i l 类的方法,e j bo b j e c t 负责调用e j b 类的方法以及提供其它服务,如安 全服务,事务处理服务等。所以我们编写一个接口远程接口,远程接口继承 e j b o b j e c t ,提供b e a n 类的每一个方法,而且实现了h b 0 b j e c t 中定义的方法。 图2 3 描述了一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中国餐饮行业供应链发展研究报告
- 【口算能手】2025-2026学年三年级数学上学期口算笔算天天练(北师大版)
- 2025年低空设备展示会项目专项年终工作总结(企业+签约)
- 电工岗位面试技巧
- 2025福建莆田市秀屿区人民政府笏石街道办事处招聘编外人员4人备考题库含答案详解(a卷)
- 2025蒙商银行秋季校园招聘74人备考题库(含答案详解)
- 2025青海海东民和县招聘社区工作者17人备考题库及1套参考答案详解
- 2025年安阳市公安机关招聘留置看护辅警46人备考题库含答案详解(模拟题)
- 2026年中国银联校园招聘145人备考题库含答案详解(突破训练)
- 2025宁波余姚市总工会公开招聘工会社会工作者2人备考题库及答案详解(网校专用)
- 在线网课学习课堂《人工智能(北理 )》单元测试考核答案
- 金融科技:金融分析师个人简历
- 新收入准则下建筑企业的正确会计核算将影响到企业的收入、成本、利润的确认和结转
- 2025年陕西机电职业技术学院高职单招高职单招英语2016-2024年参考题库含答案解析
- 2025年外研版中考英语一轮复习:语法专题练习题(含答案)
- 【高分复习笔记】李博《生态学》笔记和课后习题(含考研真题)详解
- 粉末涂料的MSDS介绍
- (高清版)DB11∕T 1721-2020 水生生物调查技术规范
- 人教版高一地理必修一期末试卷
- 储能系统充放电策略
- 《JAVA程序设计A》教学大纲
评论
0/150
提交评论