(计算机应用技术专业论文)j2ee平台下的应用管理框架——jmx的结构分析与应用.pdf_第1页
(计算机应用技术专业论文)j2ee平台下的应用管理框架——jmx的结构分析与应用.pdf_第2页
(计算机应用技术专业论文)j2ee平台下的应用管理框架——jmx的结构分析与应用.pdf_第3页
(计算机应用技术专业论文)j2ee平台下的应用管理框架——jmx的结构分析与应用.pdf_第4页
(计算机应用技术专业论文)j2ee平台下的应用管理框架——jmx的结构分析与应用.pdf_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

j 2 e e 平台下的应用管理框架j m x 的结构分析与应用 摘要 现在越来越多的应用和缀件创建和部署在j 2 e e 架构的应用服务平台上, 为了满足大规模应用开发和企业级管理、监控和配置的需要,j a v am a n a g e m e n t e x t e n s i o n s ( m x ) 作为j 2 e e 应用和组件的管理糕架,已经成为j 2 s e l 5 的标 准之一。许多应用服务器,铡如w e b l o g i c 、j b o s s 等,都采雳埘x 这种技术来 实现服务器的核心控制、管理功能和各类分布应用必备的基础框架。 本文对j 2 e e 管理规范( j s r 7 7 ) ,3 a x 规范( j s r 0 0 0 3 ) 分剐作了介绍和分 析,并且对当前流行的基于w e b 方式的网络管理标准c i m w b e m 和j m x 分别 做了分祈和琵较。在此基磕上奔绍了凡款利用j m x 规范作力应麓管遂框架鹃服 务器产品。本文对作者开发部署的网络教学平台作了大爨细致的介绍,并分析 和研究了其代码设计翻模块功麓,并对教学平台豹开发避褥了经验总结和工 乍 展坦。 关键词 j 2 e ej m xw e b l o g i c 网络教学平台m b e a n 组件 af r a m e w o r ko fj 2 e e a p p l i c a t i o nm a n a g e m e n t t h e a n a l y s i sa n di m p l e m e n t a t i o n o ft h e 删sa r c h i t e c t u r e a b s t r a c t i n c r e a s i n g l y ,a p p l i c a t i o n s a n d c o m p o n e n t s a r e b e i n g b u i l ta n d d e p l o y e d o nj 2 e e i n f r a s t r u c t u r e s a sa r te m e r g i n gm a n a g e m e n ts t a n d a r df o rj 2 e ea p p l i c a t i o n sa n dc o m p o n e n t s ,j a v a m a n a g e m e n te x t e n s i o n s ( j m x ) ,as t a n d a r dc o m p o n e n to f j 2 s e1 5 , w i l lb ee s s e n t i a lt om e m i n g t h e s en e e d sf o rj 2 e ea p p l i c a t i o n s m a n yj 2 e ev e n d o r s ,s u c ha sj b o s sa n dw e b l o g i c ,a r eu s i n g j m x t e c h n o l o g yf o r c o r ec o n t r o l ,m a n a g e m e n tf u n c t i o n sa n dj 2 e ea p p l i c a t i o n i n f r a s t r u c t u r e s f i r s t l y , t h ep a p e r i sf o c u s e do ni n t r o d u c t i o n a n d a n a l y s i s o ft h ej 2 e em a n a g e m e n t s p e c i f i c a t i o n ( j s r7 7 ) a n dl m x ( j s r 0 0 0 3 ) ,t h e na n a l y z e sa n dc o m p a r e s t h ew e b - b a s e de n t e r p r i s e n e t w o r km a n a g e m e n t c i m w b e ma n d j m x o 建t h eb a s i so ft h es t u d y , w ei n t r o d u c eaf e w o f a p p l i c a t i o ns e r v e rw i t hj m x ,a n di m p l e m e n t j m xi n t ot h ed e v e l o p m e n ta n db u i l d i n go ft h eb u p t sn e t w o r kt e a c h i n gp l a t f o r m t h i sp a p e r d e t a i l 。d l vi n t r o d u c ea n da n a l y z et h ef r a m ea n dd e s i g no f n e t w o r kt e a c h i n gp l a t f o r m ,a n dm a k e a s u m m a r y 1 ( e yw o r d s j 2 e ej m xw e b l o g i c n e t w o r k t e a t h i n g p l a t f o r mm b e a n 硕士研究生论文姓名:杜秀川 j 2 e e 平台下的应用管理框架j m x 的结构分析与应用 第一章需求与背景 1 i 网络管理的发展与分布式应用的需求 电话网络获得可信度、高质量和可靠性的原因之一,是由于绝大部分电话网的管理实现 了自动化,这种管理已经成为运营的一部分。计算机通信网不像电话网络成熟,但是各种行 业组织和标准化组织正在不断努力,大量的网络通信技术和标准不断更新和优化,互联网技 术的成功也促进了网络管理基础结构的形成。网络管理可以定义为网络和服务资源的 o a m & p ( 操作、管理、维护及供应) ,其目标在于确保网络用户获得信息技术服务及他们所 期望的服务质量。一个组织管理严密的网络管理系统包含网络供应组、网络运营组和网络安 装、维护组( i & m ) ,在某个公司的网管系统内,网络运营组控制和管理n o c ( 网络运营中 心) ,是这个系统的核心和中枢。i s o 定义了n o c 的5 个网络管理应用:故障管理、配置管 理、性能管理、安全管理和计费管理。 目前网络管理的标准正在被各个公司和行业协会不断完善,有两种最主要的管理协议标 准:在o s i 模型中是c m i p 标准,在互联网模型中是s n m p 标准。两种标准各有其优劣, 大多数网络管理系统( n m s ) 根据这两种协议来建立。 当前的网络管理系统大多数都基于s n m p 协议,大多数网络商业组件具有内嵌的s n m p 代理,s n m p 协议己成为事实上的工业界标准。最初s n m p 协议由简单网关监视协议( s g m p ) 发展而来,原认为它是一个临时的过渡协议,其最终标准应该是o s i 标准的c m i p c m i s , 但是s n m p 协议简单且容易实现,实现的方式多样,已经成为最广泛使用的网络管理系统标 准。目前s n m p v 2 、s n m p v 3 被相继开发出来,来增强s n m p 协议的特性。 但是目前的网管系统仍有许多局限。例如需要专用的n m s 监控端,该监控端运行在特 定类型的操作平台上,从远程位置访问n m s 必需使用特定的应用程序实现。虽然允许远程 工作站执行报告的输出和运行n m s ,但是该远程工作站也必需运行在u n i x 平台上。 除此之外,s n m p 管理系统未把被管理对象的值定义为等级值,虽然c m i p 管理协议作 为面向对象的协议做到了这一点,但是其规定的被管理对象规格过于复杂,以及工作站处理 c m i p 需要大量内存,使c m i p 协议迟迟没有取得成功。 基于s n m p 的管理是一种基于轮流检测的系统。n m s 为快速发现错误或获得好的统计 数据,可以轮流检测每一个代理,但是这样的检测会造成网络通信流量的剧增。 上述的限制正在被一种新的网络管理方式解决,这就是基于w 幻的内嵌管理方式。这 种模式中,管理软件要嵌入在网络组件中,如j a v a 的服务小程序。这些服务小程序不经过 检测,即可传递管理信息到基于w e b 的n m s 服务器。n m s 可以在任何位置,通过任何w e b 浏览器进行监控。 硕士研究生论文姓名:杜秀川 j 2 e e 平台下的应用管理框架j m x 的结构分折与应用 基于w e b 的系统对于管理软件( 使用j a v a 技术) 来说,是不依赖于平台的,该组件既 可以是基于w e b 的n m s 服务器,也可以是w e b 浏览器的监视器。另外,传递的信息只有 个方向:在需要时,从管理元素到n m s 。这样大大减少了网络管理的通信量。 s u n 公司开发的基于j a v a 技术的j m x j a v a 管理扩展) 协议就是这样一种具有发展潜 力的基于w e b 的管理模式。现在许多的j 2 e e 应用程序正在采用j m x 规范来管理网络资源, 建立分布式应用,更好地监控网络服务。j m x ( j a v am a n a g e m e n te x t e n s i o n ) 为复杂和异构 环境下的企业分布式系统提供了一个很好的解决方案。简而言之,j m x 具有如下的特点: 平台和操作系统的独立性 基于w e b 式的网络管理 动态适应各类管理组件 j m x 对于应餍服务环境中所有资源的管理来醌非常方便。通过j m x 的打包类封装一个 应用组件,并在j m x 服务器的环境中公布其属性和方法,这就是j m x 的开发方式。j m x 可以提供对于硬件和软件资源的管理和监控服务,具体细节如下: 硬件监控和管理对全部物理设备的健康状态、性能和故障的管理和监控。这样 的硬件设备可能包括网络交换机、集线器、路由器和网络应用服务器,甚至是数据库、负载 平衡、拨号和文件服务器等,当然,能够管理的设备不限于此。你的j m x 组件还应该提供 这样的管理能力,即当主服务器的负载超出了一定闽值时,系统能够将一部份负载转移到后 备服务器上,保证系统的正常运行。同嗣。管理员也可以借助e m a i l 或页面设置事件通知。 软件监控和管理:与硬件设备一样,也是对各类软件组件的健康状态、性能和故障 的管理和监控。被管理的资源可以是e j b s 、s e r v l e t s 、j a v ac l a s s e s 、同志文件和数据库。j m x 组件可以提供许多管理功能,诸如日志事件、动态改变连接池的连接句柄数、启动和停止某 个应用、收集攀务统计数据、报告网页点击量,以及借助e m a i l 或网页触发通知事件等。 1 2j s r 7 7 ,j 2 e e 框架下的管理规范 由b e a 、b o r l a n d 、i b m 等软件巨头提议的j s r7 7 ( j 2 e e 企业版管理规范) 于2 0 0 2 年7 月1 9r 成为最终版本。j s r7 7 规范为服务器提供商和应用工具开发商提供了一个j 2 e e 平台 的标准管理模型。该规范对j 2 e e 的构架进行抽象,并且定义了管理对象的接口。j s r 7 7 有 助于透明地管理多个j 2 e e 服务器的系统,可以方便构建统一的系统管理环境,而且借助j s r 7 7 规范,可以开发自己的管理工具。 1 2 1j 2 e e 平台的管理模型 j 2 e e0 , 蹭n n n 由在j 2 e e 平台上的被管理对象组成,这些被管理对象以m e j b 硕士研究生论文 姓名:杜秀川j 2 e e 平台下的应用管理框架j m x 的结构分析与应用 ( m a n a g e m e r i te j b ) 的形式表现。m e j b 是j 2 e e 管理模型的基本元素,它不仅为j 2 e e 应用 程序提供远程操作接口,而且实现了关于j 2 e e 应用的事件、状态和性能( 数据统计) 的信 息模型。j 2 e e 管理对象的细节层次见图1 - 1 。 在流行的网络服务平台中,j 2 e e 服务器由于其跨平台性、稳定性和分布性获得越来越 多的青睐。j 2 e e 服务器的管理模型符合j s r 7 7 的规范,无论是j v m ( j a v a 虚拟机) 、j d b c , 还是j s p s e r v l e t 、e j b 模块,都成为j 2 e e 管理模型的被管理对象。 图1 1j 2 e e 管理对象的细节层次图 源。8 r 7 71 2 5 8m ”a g 。“。“8 9 。1 “。“i 。“ 1 2 2j 2 e e 被管理对象 一o b j e c t n a m e :o b j e c t _ n a m e s l a l e m a n a 9 8 a b l 日:b d 0 l b a n g t a 前s 柏c s p r d 、f i d e r i b o o l e a n e v e n p r d v i d e rb 0 口f e a n 图1 2j 2 e e 被管理对象的属性结构 被管理对象模型是j 2 e e 管理模型的基础。如上图1 - - 2 ,每一个被管理对象必须有其唯 硕士研究生论文姓名:杜秀川 j 2 e e 平台下的应用管理框架j m x 的结构分析与应用 一的标识,即对象名( o b j e c t n a m e ) ,但状态管理( s t a t e ) 、统计数据( s t a t i s t i c s ) 和事 件( e v e n t ) 的实现是可选的。对象名的形式如下: d o m a i n n a m e :j 2 e e t y p e = v a l u e , n a m e = v a l u e , ,p r o p e r t y = v a l u e * d o m a i n n a m e : 2 e e 管理域内的符合命名空间的一个名字结构。 n a m e :被管理对象的名字 j 2 e e t y p e :被管理对象的j 2 e e 类型。j s r 7 7 规范中的表3 - 1 列举了全部2 6 种标准的 j 2 e e 类型以及所要求的父类j 2 e e 类型。 p a r e n t j 2 e e t y p e :被管理对象的父类j 2 e e 类型。在j s r 7 7 规范中表j s r 7 73 1 列 举出所有的j 2 e e 被管对象类型和其要求的父类 2 e e 键值。 p r o p e r t y :可选的属性键值对的列表,可有多个。 1 2 3 事件、状态和性能监控管理 事件生产者: 当某个被管理对象的e v e n t p r o v i d e r 为真时,表示这个对象包含有独立的事件生产 者的属性和操作,可以提供事件通知的服务。 事件生产者模型只有一个e v e n t t y p e 属性,是描述对象所发出的所有事件类型的列 表。 s t r i n g lj e v e n t t y p e : e v e n t t y p e 属性的可能值为: j 2 e e o b j e c t c r e a t e d 生成新的被管对象 j 2 e e o b j e c t d e l e t e d 删除一个被管对象 j 2 e e s t a t e s t a r t i n g 一个状态管理对象启动 j 2 e e s t a t e r u n n i n g 一个状态管理对象运行中 j b e e s t a t e s t o p p i n g 一个状态管理对象停止中 j 2 e e s t a t e s t o p p e d 一个状态管理对象处于停止状态 j 2 e e s t a t e f a il e d一个状态管理对象处于失败状态 j 2 e e a t t r i b u t e c h a n g e d 属性值改变 由7 m x ( t s r 0 0 0 3 ) 规范定义的j a v a x m a n a g e m e n t n o t i f i c a t i o n 包来实现事件通知 的服务模型,通知( n o t i f i c a t i o n ) 的数据结构在下一章的j m x 中会有详细阐述,在其结构 定义中,通知事件的类型即上表所定义的全部值。 状态管理 状态管理模型定义为s m o ( s t a t em a n a g e a b l eo b j e c t ) 对象。当状态发生改变时,s m o 对象产生事件。s m o 对象的运行状态图如下: 硕士研究生论文 姓名:鞋秀川 j 2 e e 平螽下的应用管理框架一j 姒盼结构分析与成爝 一一 鞫卜一3s m 0 对蒙懿状态图 瀑24 5 3 要7 7 2 8 0 m “a g e “蟾p e e ; 性熊监控 j 2 e e 管理模型中对性能监控的要求是通过性能数据框架来描述的,性能数据框架包括统 计数据生产嚣( s t a t i s t i c p r o v i d e r ) 。统计数据生产者具有一个s t a t 8 属性,任何提供统计 数据( s t a r i s t i c ) 蛉被管对蒙郝必矮提供与s t a t s 裁缝籀对痤鲍s t a t s 接潮。铡磐:e n t i t y b e a n 提供e n t i t y b e a n s t a t s 接日,强v a m a i l 提供j a v a i _ l a i t s t a t s 接g 等等。 j a v a x 。m a n a g e m e n t j 2 e e s t a t i s t i c s 包实现了s t a t i s t i c 和s t a t s 的j a v a 标准接口。 1 3 与流行网络管理技术的联系 1 。3 。1 墓予w e b 豹管避 随着因特网和w e b 技术的恢速发展,用于浏览器上显示多重地址信息的网络技术和用于 获取数据的网络管理技术正在邂步融合。现在网络瞥理系统中流行的有攥于w e b 接口的网络 管理和基于w e b 技术的网络管璎。 在旱攒获基于w e b 夔管联系统中,d m i ( 鬃嚣镑理接珏) 是基予w e b 懿曩来代替s n m p 协议酌两终和系统管理,疆怒幽予s n m p 蛰议弱广泛应用帮疆大多数厂囊掰接受,群良d g i 并不很成功。后来d m t f ( 桌面管理工作组) 试图将各种管理技术融合在一起,并命名为w b e m ( 基于w e b 的企业管理) 。 基于微软公司的公共信息模型( c i 1 ) 的w b e m ,通过微软的w i n d o w s 管理工具包w i 来 其体实现,纂磁莰蕤包摄c i m o m 秘硼i 疼。c i m o m 对象管理器静对辨接翻逶过c o m d c o m ( 缀 俘对象模黧分毒式) a p i 静i w b e m 骚务薅往来实袋。它的蒋毪毫括对象靛翻建、巍除、数缀 检索、事件通知和查询处理。州i 库是管理数据的絮中存储区。c i m o m 和w m i 进行数据交换, 或使用w b e m 被管对象格式( m o f ) 语言,或使用c o m d c o ma p i 。对象供应器通过c o m d c q ma p i 和c i m o m 进行通信,而和被管对象的通信则通过各自的协议。例如:它利用s n m p 协议与s n m p 被管对象避行暹售。 硕j 二研究生论文姓名:柱秀川 j 2 e e 平台下的威用管理糨架j m x 的结构分析与成用 j m x ,即j a v a 管理扩展是基于w e b 的企业管理协议,是支持j a v a 技术的公共信息模型 管理体系,与微软公司开发的公共信息模涎( c i m ) 共同成为基予w e b 拽术的网络管理中的 两类框架系统。州x 由原先的j a v a 管理a p i ( j m a p i ) 发展丽来,以j a v a 动态管理工舆箱( j d m k ) 为基础,其代理可以被嵌入囊对象中,是一穆菲集中豹管理系统,它为道过w e b 客户视鲍潮 览器能够远程管理网络和祭统构件提供了一种解决途径。基于j a v a 的j m x 正在处于发展之 中,并将与另辩一种阏络管理技术w b e m 逐渐结合。它们并不是要淑代s n m p ,丽是要兼容s n m p 技术,为网络加入智能型分布式代理的能力,实现本地监测和控制能力的积极网络管理。 1 3 2 j 2 e e 管理的s n m p 定义 j s r 7 7 规范也定义了应用在网络和系统管理协议中的管理信息库( m i b ) ,这对于j 2 e e 平台疆禁下弱对象整控燕鬻重癸蠡冬。j 2 e e 管瑾模型是令涵蕊tj 2 e e 平台譬臻数据鹁绩 构、格式和语义的u m l 模型,它的餐理信息库( m i b ) 与流行的s n m p 协议管理框架定义的s i m v 2 慧一致懿。j 2 e e 下趣m i b 模块定义霹隧发褒寂婺控j 2 e e 疑务器粒详缨馕援,莠逶过定义帮 索引下的m i b 对象、陷阱甚至性能数据采报告j z e e 服务器和各缎件的状况。 j 2 e e 警理懿m i b 也撬供了黠多服务器弱支持。 该m i b 的详细定义可参见b ! 女;j 垒! 热:! ! ! :q 婴j ! ! 女理! ! 盟q 艘皿。 1 3 3 j 2 e e 管理的c i m 定义 由微软公司开发的c i m ( c o m m o ni n f o r m a t i o nm o d e l ,公共信息模型) 模型在w b e m ( 基 于w e b 款企业警瑷) 开发上取褥照著的进展。e l m 是一秽用于企业管理系统、软件、用户移 网络的手段,它采用基本的面向对象的结构和概念。c i m w e b m 由5 种构件组成:w e b 客户机、 公共信息模型对象管理嚣( c i m o m ) 、c i m 模式、特定管理信息生产者和特定协议代理的被管 对象。 c i m o m ( c l m 对象管耀嚣) 构成了w b e m 结构的核心,由它协调在被篱对象、w e b 客户机 鞠c i m 横式间的所有信息,这些信息以h t t p 作为传输协议。 j s r 7 7 规范定义t c i m 与j 2 e e 管理模型之间的映射,遇过被管对象格式( m a n a g e d o b j e c t f o r m a t ,m o f ) 采提供j 2 e e 管理对象( 魍捂应用、模块、隘务等) 、事件、捩态管理和往熊韵 c i m 模型。! 例如j 2 e e d o m a i n 对象是用采标识j 2 阮管理对缘范闰的域,一个c i m 酾j 2 e ed o m a i n n c l ma d m i n d o m a i n 的子类,从c i 畦s y s t e m 继承而米。 再如c 蕊的指示( i n d i c a t i o n s ) 事 串可以鲻分为生命锤环( 1 i f ec y c l e ) 指示帮过程 ( 口r o c e s s ) 指示,在j 2 e e 事件的c i m 模型里,引进了过程指示( c i m _ p r o c e s s l n d i c a t i o n ) 礁士磺究叟论文姓名:寿土莠镬监疆平台下抟蔽鞲管理撬粢j m x 躯缝擒分接冀j 豇霸 的子类j 2 e e m a n a g 鲫e n t i n d i c a t i o n ,该子类与前筒描述的j 2 e e 管壤事件有潜相同的属性语 义。 孬翔状态蛰溪,每令7 2 e e 拔餐对象( j 2 耋麓a n a g e d b j e e t ) 都羧浃羹誊为稳应静i 麓邋谚元 素( c i m _ l o g i c a l g l e m e n t ) ,而c i mh o g i c a l e l e m e n t 实例将与一个j 2 e e _ s t a t e m a n a g e a b l e 实铡握联,舞以簿令遘牙状怒7 2 e e 接管对象都霹以逶遣j 2 髓一s t 毡t e 纂氇n a g e a b i e 熬接口 执行所需的方法和状态存淑操作。 1 4 本章小绒 君蓊疆鍪予w e b 的方式避行的潮络管理开始营遍菜耀,业界也正在刹嗣成熟韵技术加以 磷究,形成了蕊大阵营:基予微软e 联豹w b e m 和蒸于7 2 e e 蛉j m x 。由j s r 7 7 规范规定的j 2 e e 管理模黧为j a v a 应用程序管瑾提髻乏了统一的标磴,丽在此基穑上慈传樽翔的拜x 麓藏臻熊 对整个祭娩资源的管理框架,本章对网络管理的背景、7 2 e e 中网管的定义和基于w e b 的网络 管理作了阐述帮分毫斥,为下牵j m x 她介绍和续构分柝进行了铺垫。 硕士研究生论文姓名:桂秀圳 j 2 e e 平套下瓣应曩警瑾框絮j m x 的缝擒分析与菠麓 第叠誊j m x 规范的应用框架 2 1 j m ,基于w e b 的j a v a 应用程序管理模型 虽然j s r 7 7 规范引入了m e j b ( m a n a g e m e n te j b ,可管理的企业b e a n ) 的定义,但是它对 j 2 e e 的管避撼架并没有具体实现,丽j s r 0 0 0 3 规范,即j m x ( j a v am a n a g e m e n te x t e n s i o n s , j a v a 管理扩滋) 燹蓦彀弱了这点。 j m x 使你够查询、配置、设定并且馥交其运行德,而且也提供萁它的服务,例如监控、 事件通知、恣时服务和从x m l 配辫文件中动态装入j a v a 类。你能够使用j m x 装入、初始化、 改变和监控你的应用程序和它的分布式组件。你能够融合第三方或你自己开发的框架体系信 息库,产生镣理你的应用程序的一致型方案。 j m x ,帮j a v a 管理扩震,戆一个为空爱程旁、没薅、系统等接入饕灌功巍弱疆繁。j m x 可以跨越一系列异构操 睾系统平螽、系统体系结稳獭两络传输协议,灵灞避开发无缝集成虢 系统、网络和服务管理应用。例如结合现有的网络箭理协议s n m p ,邋过j 2 9 9 平台的应用襁 序来管理各裳网络资源,可以实王见基于w e b 的企业管理。 州x 由服先的j a v a 管理a p i ( j m a p i ) 发展而采,j m a p i 是关于瞒络接口和服务管理的 a p i ,爱寒n a p i 舞缀为2 0 敝,发震为j 艇x 燕蓬。 j m x 正在对j 2 e e 应霜疆浮滋行完善鹣管理,著且在j 2 e e 应甭架褐方箍捞演举是轻耋滟 角色。例如:许多j 2 9 9 应用服务器供应商使用该技术作为核心的控制和管理机制,而且尉x 已经成为服务器产品必备的绑髭模块。j m x 的应用在增长,现在已成为j 2 e e l 4 版的兼容可 选包和j 2 e e l 5 的标准组件包。 2 。23 黻管理握絮戆三令凄次 j m x 体系结构分为三个屡次,设备层、代理层和分布服务层。如潮2 1 : 硕士研究生论文姓名:杜秀川 j 2 e e 平台下的应用管理框架j m x 的结构分析与应用 口口曰曰晰r i :b u t e d s 蒜e r v i c e sl e 雯v 于e l l m b e a n 可配置白勺 l 代理服务 j 代理层 l服务器i代理逻辑 。la g e n t l e v e l 1l :连接器和协议适配器: j a wm a n a g e m e 呲m b e a n st 州 | m 标b 釜e a n 川m 釜b e a n 豢| | m 融b e a n l 咖m 。n l e v e l 对应矗看】h x 可管熹资源:如软件盎务、服务器、建律设备等 图2 - 1j m x 的体系架构 2 2 1设备层( i n s t r u m e n t a t i o nl e v e l ) 主要定义了信息模型。在j m x 中,各种管理对象以管理构件( m b e a n ) 的形式存在,需 要管理时,向m b e a n 服务器进行注册。每个m b e a n 用公共函数提供对其状态的存取,一个m b e a n 可以是任何支持j m x 规范接口和语义的j a v a 对象。m b e a n 的类型有:标准( s t a n d a r d ) 、动 态( d 、r n a m i c ) 、开放( o p e n ) 和模板( l o d e l ) 类型。标准m b e a n 提供静态接口;动态g b e a n 在运行时利用m e t a d a t a ( 元数据) 类型为j m x 代理暴露其接口;开放m b e a n 是类动态m b e a n , 但是它使用预先规定的j a v a 数据类型,以便减少对其它j a v a 类的依赖,能产生较好的运行 查找效率和动态性能:模板m b e a n ,正如其名称,是一类模式和配置m b e a n ,它可以提供每 一种j m x 实现,你可以使用模板来生成h b e a n 而无需定义自己的m b e a n 类。 标准m b e a n 是最普通的类型。这里有一个例子,假定你有一个j a v a 类叫作l o g g e r ,通 过指定曰志文件名和冗余级别来配置应用程序的调试信息。你可以生成l o g g e r m b e a n 接口来 把l o g g e r 类转化成标准m b e a n ,该接口的s e t t e r ( 设置) 和g e t t e r ( 获取) 公共函数暴露 了这个日志文件名和冗余级别的属性。对文件名属性而言,函数名应为s e t f i i e n a m e ( ) 和 g e 5 f i l e n a m e ( ) ,这种命名规范类似于j a v a b e a n 的s e t x x x 和g e t x x x 方法。完成这个接口 后,l o g g e r 类需要实现l o g g e r m b e a n 接口以便于j m ) 【代理能使用回调方法生成关于l o g g e r m b e a n 的m e t a d a t a ( 元数据) 。这样j i m ) ( 代理就能够通过存取属性值和定义在接口内的其它 操作来管理这个m b e a n 了。m b e a n ( 被管理组件) 是在被管理资源( 你的应用程序) 和j m x 框架其余部分之间联系的纽带。 该层还定义了通知机制以及一些辅助元数据类。 硕士研究生论文姓名:杜秀川 j 2 e e 平台下的应用管理框架j m x 的结构分析与应用 管理构件( m b e a n ) 在j m x 规范中,管理构件定义;n t :它是一个能代表管理资源的j a v a 对象,遵循一定 的设计模式,还需实现该规范特定的接口。该定义了保证了所有的管理构件以一种标准的方 式来表示被管理资源。 管理接口就是被管理资源公布出的一些信息,通过对这些信息的修改就能控制被管理资 源。一个管理构件的管理接口包括: 1 ) 能被接触的属性值; 2 ) 能够执行的操作; 3 ) 能发出的通知事件; 4 ) 管理构件的构建器。 管理构件通过公共的方法阻及遵循特定的设计模式封装了属性和操作,以便暴露给管理 应用程序。例如,一个只读属性在管理构件中只有g e t 方法,既有g e t 又有s e t 方法表示是 一个可读写的属性。 其余的j m x 的构件,例如j m x 代理提供的各种服务,也是作为个管理构件注册到代理 中才能提供相应的服务。 j m x 对管理构件的存储位置没有任何限制,管理构件可以存储在运行j m x 代理的j a v a 虚拟机类路径的任何位置,也可以从网络上的任何位置导入。 j m x 定义了四种管理构件:标准( s t a n d a r d ) 、动态( d y n a m i c ) 、开放( o p e n ) 和模 板( m o d e ) 管理构件。每一种管理构件可以根据不同的环境需要进行选择使用。 1 ) 标准管理构件( s t a n d a r dm b e a n s ) 标准m b e a n s 的设计和实现是最简单的,它们的管理接口通过方法名来描述。标准管理 构件的实现依靠一组命名规则,称之为设计模式。这些命名规则定义了属性和操作。检查标 准管理构件接口和应用设计模式的过程被称为内省( i n t r o s p e c t i o n ) 。j m x 代理通过 i n t r o s p e c t i o n 来查看每一个注册在m b e a n 服务器上的管理构件的方法和超类,看它是否遵 从一定设计模式,决定它是否代表了一个管理构件,并辨认出它的属性和操作。 在实现标准l b e a n s 时应该遵循以下三条原则: 】) 资源的管理接口与资源的实现类必须有相同的名字,而且该接口应带有“m b e a n ”的 后缀,注意这里大小写敏感。也就是说这个接口应是一个j a v a 接口,必须要由被管理的资 源类通过i m p e m e n t s 关键词来实现。 2 ) 实现类必须包含至少一个构造函数。 3 ) 管理接口定义的获得属性( g e t x x x ) 函数和设置属性( s e t x x x ) 函数必须符合严格 的命名约定。 例如: 管理接口 硕士研究生论文 姓名:, p 生秀j l l j 2 e e 平台下的应用管理框架j m x 的结构分析与应用 _ _ 一 p u b l i ci n t e t r a c ew o r k m b e a n ,必须符合严格的命名规范 p u b l i ct o n gg e t a d d w a i i t i m e o ; ) 实瑗类 p u b l i cc l a s sw o r ki m p l e m e n t sw o r k m b e a n 至少一个构造函数 p u b l i cw o r k ( ) p u b l i ct o n g g e t a d d w a i t t i m e o 2 ) 动态管理构件( d y n a m i cl d b e a n s ) 动态g b e a n s 提供了更大的灵活性,它可以在运行期暴露自己的管理接口。 使用动态i d b e a n s 的主要原因怒为了比较容易勰决已有代码的编写方式与拣准k l l 3 e a n 编 笃模式褪渖突靛簿题。动态l , l b e a n 瓣接器著不透过i n t r o s p e c t i o n 来定义,焉是逶过动态 m b e a n 自己的方法来定义。这种方法称作g e t m b e a n i n f o ( ) ,该函数返回关予篱理接口的信息, 并且由d y n a m i c m b e a n 接口定义。动态m b e a n 还能够撮供对m b e a n 属性、构避函数、参数和 事件通知定义的简要描述,而这对于管理程序来说非常重要,这样的描述在标准m b e a n 里是 没有的。 由子动态i b e a n 在运孬对对麓户豢露其嫠日,丽不楚掭獾鹾3 e 鞠在缡蝾露产生,所以其 管理接口的酸变为动态m b e a n 的燮源管理提供了更大的必活性。 3 ) 开放管理构件( o p e n 渤c a n s ) 开放h l b e a n s 非常适用于有着复杂数据结构定义和脊复杂参数操作的资源管理,通过开 放m b e a n 在代理或管理程序内的实现,这类资源的管理将会非常容易,鹦外一些使用开放 i b e a n s 豹代璎或者管理翟痔甚至可以楚雾j a v a 憝程黪。 开放隔e a n s 是一释专门亿的动态管理构件,其中繇有与该管理孝每俘榻关豁参数、返回 类型和属性都围绕一组预定义的数据类型( s t r i n g 、i n t e g e r 、f l o a t 等) 来建立,并且通 过一组特定的接口来进行自我描述。_ x 代理通过获樽一个o p e n m b e a n i n f o 对象来获取开放 管理构件的管瑕接口,o p e n m b e a n i n f o 是m b e a n i n f o 的予类。 4 ) 模授繁毽稳传( n o d e m b e a n s ) 模板g b e a n s 也是一耱专门纯鹊渤态管理梅锋。它蹙颈割的、运嗣豹裰动态的m b e a n 类, 已经包含了所脊必要缺省行为的寰现,并允许在运行时添加或覆盖需要定制的那些实现。j m x 规范规定该类必须实现为j a v a x m a n a g e m e n t m o d e l m b e a n r e q u i r e d m o d e l m b e a n ,管理者要做 硪士j 鞋嚣变生论文姓名:桎秀矮j 2 e e 乎蠡下鞠应弼警瑾挺黎j m x 的续摘努辑每斑麓 瓣藏蹩实铡纯该类,并酝饕该襁传懿默认嚣为并注勰到j 醅x 代理中,麟哥以实凌对瓷澈熬喾 溅。j m x 代遐通过获得一个m o d e l m b e a n l n f o 对蒙来获敬管理接口。 把应用资源的管理设计为摸板m b e a n s ,实现的过程会比较快,仅仅几霉亍代隅就可以满 足嚣簧。囊孬取或设萋一令爨源浆属愁对,袋楚簸行装_ 爪豢 蕈时,攒投m b e a n 懿实蕊蕊霉8 称 售测调( c a l | b a c k ) 。换言之,当描述m b e a n 特点黝元数据类( 诸麴爝往或操捧) 生成时, 也就是关于资源实例的元数据的参考实现,它的表达形式是属性的g e t t e r s e t t e r 丽数或执 行函数。当瞥遐程序要管理该m b e a n 时,只需简荤地使用这个信:息来阐调( c a l l b a c k ) 资源。 模援m b e a n 还有缓多特点,船: 鑫动豹_ | i 雾往更改通知; 在预定时期内m b e a n 状态的特续饿; 滋e a n 获态发生改变黪羹簧筝传黧恋; 缓存存取m b e a n 状态戳该进蕊性簸。 2 。2 。2 代理屠( a g e n tl e v e l ) 代理屡熙一个运行在j a v a 虚拙机上的管理实体,它活跃在管理资源和管理鬻之间,阁 来赢接管理资源,并使这些资源可以被谶程的管理程序所控制。代理层由个m b e a n 服务 器莘醛系列处遐被管理资源的服务所缀成,还包掇黧少一个协议适配器或连接嚣。下图表示 了l 弋理瑟鹅缀成: 口删管璎翦赉嚣 图2 - 2 胤x 援蕊的代理层结构 代骥艨主要定义了冬零孛缀务戬及懑落模登,该滋懿核心是一个m b e a n 箴务嚣tm b e a n 黻 务器是一个注册中心,由j a v a x 。m a n a g e m e n t m b e a n s e r v e r 接口来寇义,所肖瀚篱理构件都 潜要向它注爝,才能被管理,每个n b e a n 霄裔己唯一韵标识,称为对蒙名( o b j e c t n a m 。) , 1 2 坝士 j 十究生论文姓名:牡秀川 j 2 e e 平台下的应用管理框架j m x 的结构分析与应用 参见繁一章2 。2 节对j 2 e e 对象豹定义。在t t b e a n s e r v e r f a c t o r y 上季蔻行静态熬方法 c r e a t e m b e a n s e r v e r ( ) 来,圭或这个藏务瓣。这个驻务器工厂( s e r v e r f 3 c t o r y ) 璨辩有先翦 生成的m b e a n 服务器静备份,所以不麓婺震掰生成,可以通过f i n d m b e a n s e r v e r ( ) 方法来 获戢这些备份。 k i b e a n s e r v e r 类提供f i n d m b e a n s e r v e r ( ) 方法柬找到指定或所有的m b e a n s e r v e r 实铡, 参数i d 代表m b e a n s e r v e r 的标识号,如荣i d 为空,则返回j v m 中所有注册的m b e a n s e r v e r 。 p u b l i cs t a t i ca r r a y l i s tf i n d i i b e a n s e r v e r ( s t r i n gi d ) 注册m b e a n 实例到m b e a n s e r v e r 里使用以下方法 p u b t i co b j e c t i n s t a n c er e g i s t e r m b e a n ( o b j e c to b j e c t ,o b j e c t n a m e n a m e ) 两) 4 b e a n 实例可由以下的方法之一来生成: 这些方法基本上需要两个参数: 1 、s t r i n gc l a s s n a e 代袈骤生成的m b e a n 实例的类名; 2 、o b j e c t n a n l en a

温馨提示

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

评论

0/150

提交评论