(计算机软件与理论专业论文)基于jmx规范的资源管理框架的研究和实现.pdf_第1页
(计算机软件与理论专业论文)基于jmx规范的资源管理框架的研究和实现.pdf_第2页
(计算机软件与理论专业论文)基于jmx规范的资源管理框架的研究和实现.pdf_第3页
(计算机软件与理论专业论文)基于jmx规范的资源管理框架的研究和实现.pdf_第4页
(计算机软件与理论专业论文)基于jmx规范的资源管理框架的研究和实现.pdf_第5页
已阅读5页,还剩84页未读 继续免费阅读

(计算机软件与理论专业论文)基于jmx规范的资源管理框架的研究和实现.pdf.pdf 免费下载

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

文档简介

四j i i 大学硕士学位论文 基于j m x 规范的资源管理框架的研究和实现 计算机软件与理论专业 研究生:莫沙 指导老师:唐宁九 今天,越来越多的开发者需要为企业实现分布式事务的应用程序,在服务 器端技术方面获得良好的速度、安全和可靠性。要适应快速发展和需求易变的 电子商务和信息科技大环境,企业级应用程序必须以比传统方案更低的成本、 更快的速度以及尽量更少的资源消耗来进行设计、构造和生产。 为了缩减开发成本,快速跟踪企业应用的设计和开发,j 2 e e 技术提供了基 于组件的设计方法来开发、集成、部署应用程序。j 2 e e 平台提供了多层分布式 应用模式,使具有重用的能力,并集成了基于x m l 的数据交换一个统一 的安全模式及灵活的事务控制。 j 2 e e 框架的核心是j 2 e e 容器,它是组件和支持组件功能的底层特定平台 ( 如数据库) 之间的接口。在运行w e b 组件、企业b e a n 或者j 2 e e 应用程序客 户端之前,必须将它们装配到一个j 2 e e 应用程序中,并部署它们到容器中。j 2 e e 应用程序由组件构成。一个j 2 e e 组件是自包含的,与其相关的的其他组件通信 的类及文件集成到j 2 e e 应用程序的功能单元。j 2 e e 规范定义了这样一些组件: 客户程序及小程序、服务器端的s e r v l e t & j s p 组件、服务器端的企业逻辑组件 e j b 。 如此多的相关技术被集中到一个框架,引发了一个问题,就是如何管理、 控制这些组件和它们之问的协作关系,以及如何管理、监控它们所表达的企业 资源。这个问题的解决之道就是建立j a v a 管理扩展框架( j m x ) 。j a v a 管理扩 展框架用j a v a 编程语言定义了一个体系结构、设计模式、用户编程接口,以及 为应用程序提供了管理、监控的多种服务。j h x 就是一个为应用程序、设备、 系统等植入管理功能的框架,它可以跨越一系列异构操作系统平台、系统体系 结构和网络传输协议,灵活的开发无缝集成的系统、网络币服务管理应用。j m x 结构的优势主要体现在: 1 大幅度降低对j a v a 应j j 稚序符理的成本; 2 提供一个可扩展的管理框架; 3 整合现存的管理方案; 4 协调现存的标准j a v a 技术; 四川大学硕十学位论文 5 充分集成末来的管理理念; 6 为资源伦理提供惟一、统一的标准接f 1 我们将j a a p 应用服务器的体系结构建筑在j x x 框架之j 二,为复杂丰寓的 j 2 e e 相关技术提供一个健壮的管理底层框架,使得它们可以灵活轻便地得以配 置、控制和镑理嘞对拥有一个接f j 统一的协作平台。 术文就j a a p m x 微内核的设计与实现问题进行了深入的研究,并在现有的技 术条件下提出并详细分析了作者的设计方案,介绍了具体实现工作,就设计与 实现:l 作中的关键技术问题进行了分析和讨论。同时,在j m x 规范末涉及到的 部分,作者给出了合理的设计方案和有效的实现。 关键词:j 2 e e 应用服务器j m x 微内核组件管理资源管理应用程序管理 四川大学硕士学位论文 t h er e s e a r c ho fr e s o u r c e m a n a n g e m e n t a r c h i t e c t u r eb a s e do nj m x s p e c i f i c a t i o n m a j o r :c o m p u t e rs o f t w a r e t h e o r y s t u d e n t :m os h a a d v i s o r :t a n gn i n j i u t o d a y ,m o r e a n dm o r e d e v e l o p e r s w a n tt ow r i t ed i s t r i b u t e dw a n s a c t i o n a i a p p l i c a t i o n s f o rt h e e n t e r p r i s e a n d t h e r e b yl e v e r a g e t h e s p e e d ,s e c u r i t y ,a n d r e l i a b i l i t yo fs e r v e r - s i d et e c h n o l o g y ,i nt h ef a s t m o v i n ga n dd e m a n d i n gw o r l do f e - c o m m e r c ea n di n f o r m a t i o nt e c h n o l o g y ,e n t e r p r i s ea p p l i c a t i o n sm u s tb ed e s i g n e d , b u i l t ,a n dp r o d u c e df o rl e s sm o n e y ,w i t hg r e a t e rs p e e d ,a n dw i t hf e w e rr e s o u r c e s t h a ne v e rb e f o r e t or e d u c ec o s t sa n df a s t t r a c ka p p l i c a t i o nd e s i g na n dd e v e l o p m e n t ,j a v a 2p l a t f o r m , e n t e r p r i s ee d i t i o n ( j 2 e e ) p r o v i d e sac o m p o n e n t b a s e da p p r o a c h 幻t h ed e s i g n , d e v e l o p m e n t ,a s s e m b l y ,a n dd e p l o y m e n t o f e n t e r p r i s ea p p l i c a t i o n s t h e j 2 e e p l a t f o r mo f f e r sam u l t i t i e r e dd e s t r i b u t e da p p l i c a t i o nm o d e l ,r e u s a b l ec o m p o n e n t s ,a u n i f i e d s e c u r i t y m o d e l ,f l e x i b l et r a n s a c t i o nc o n t r o l ,a n dw e bs e r v i c e s s u p p o r t t h r o u g hi n t e g r a t e dd a t ai n t e r c g a n g eo ne x t e n s i b l em a r k u pl a n g u a g e ( x m l ) 一b a s e d o p e ns t a n d a r d sa n dp r o t o c o l s , t h ec o r eo fj 2 e ea r c b i t e c t u r ei sc o n t a i n e r s c o n t a i n e r sa r et h ei n t e f f a c eb e t w e e na c o m p o n e n t a n d ! o w 一e v e i p l a t f o r m - s p e c i f i cf u n c t i o n a l i t y 出a ts u p p o r t s t b e c o m p o n e n t b e f o r eaw e b ,e n t e r p r i s eb e a n ,o ra p p l i c a t i o nc l i e n tc o m p o n e n tc a nb e e x e c u t e d 。i tm u s tb ea s s e m b l e di n t qaj 2 e em o d u l ea n dd e p l o y e di n t oh sc o n t a i n er j 2 e e a p p l i c a t i o n s a r em a d eu 口o fc o m p o n e n t s aj 2 e e c o m p o n e n t i sa s e l f - c o n t a i n e df u n c t i o n a ls o f t w a r eu n i tt h a li sa s s e m b l e di r t t oaj 2 e ea p p l i c a t i o n w i t hi t sr e l a t e dc l a s s e da n df i l e sa n dt h a tc o n u n u n i e a t e sw i t ho t h e rc o m p o n e n tt h e j 2 e es p e c i f i c a t i o nd e f i n e st h ef o l l o w i n gj 2 e e c o m p o n e n t s :a p p l i c a t i o nc l i e n t sa n d a p p l i e t s ,j a v as e r v l e ta n dj a v a s e r v e rp a g e st e c h n o l o g yc o m p o n e n t sr u n n i n go nt h e s e r v e r , e n t e r p r i s ej a v a b e a n sc o m p o n e n t sr u n n i n g o nt h es e r v e r i n t e r g r a t i n gs u c hi a r g en u m b e r s o f t e c h n o l o g i e si n t oo r ef r a m e w o r kg i v e sr i s et ot h e 4 四川大学硕士学位论文 f o l l o w i n gp r o b l e m s :t h ef i r s to n ei sh o w t om a n a n g ea n dc o n t r 0 1t h e s ec o m p o n e n t s a sw e l la sb a l a n c et h er e l a t i o nb e t w e e nt h r o e ;a n o t h e ro n ei sh o wt om a n a n g ea n d m o n i t o rt h ee n t e r p r i s er e s o u r c e sw h i c ha r er e p r e s e n t e db yt h e s ec o m p o n e n t s t h e w a y t or e s o l v et h e s e p r o b l e m s i st ob u i l du pt h ej a v a m a n a g e m e n te x t e n s i o n ( j m x ) a r c h i t e c t u r e t h ej m xd e f i n ea na r c h i t e c t u r e ,t h ed e s i g np a t t e r n s ,t h ea p i s ,a n dt h e s e r v i c e sf o r a p p l i c a t i o n a n dn e t w o r km a n a 【g e m e n ta n d m o n i t o r i n g i n t h ej a v a p r o g r a m m i n gl a n g u a g e i tp r o v i d e st h ef o l l o w i n gb e n e f i t s : 1 e n a b l e sj a v a a p p l i c a t i o n st ob em a n a n g e dw i t h o u th e a v yi n v e s t m e n t 2 p r o v i d e sas c a l a b l em a n a g e m e n ta r c h i t e c t u r e 3 i n t e g r a t e se x i s t i n gm a n a g e m e n t s o l u t i o n s 4 l e v e r a g e se x i s t i n gs t a n d a r dj a v at e c h n o l o g i e s 5 c a nl e v e r a g ef u t o r em a n a g e m e n t c o n c e p t s 6 d e f i n e so n l yt h ei n t e r f a c e sn e c e s s a r yf o rm a n a n g e m e n t w eb u i l dj a a pa p p l i c a t i o ns e r v e ro nt h ej m x a r c h i t e c t u r e ,p r o v i d i n gt h e s er e l a t e d j 2 e et e c h n o l o g i e sar o b u s t m a n a g e m e n tf r a m e w o r ka n da l l o w i n gt h e mt o b e c o n f i g u r e df l e x i b l y l a n d m a n a g e de a s i l y i n t h em e a n t i m e ,j m xo f f e r st h e s e t e c h n o l o g i e sa c o l l a b o r a t i o n p l a t f o r mw i t hs t a n d a r di n t e r f a c e s 1 、h o p a p e r i n t r o d u c e st h e b a c k g r o u n d o fj m xm i c r o k e r n e l a n d a n a l y z e t h e r e s o l u t i o no f i n t e g r a t i n ga n dm a n a g i n g a l lt y p e so fj a v a c o m p o n e n t s a n d a p p l i c a t i o n t h e ni t d e s i g n s t h e j a a p m xm a n a g e m e n t a r c h i t e c t u r e ,a n d e x p l a i n s t h e i m p l e m e n t a t i o na n dp i v o t a lt e c h n i q u e sb a s e do nt i ep r a c t i c e so fa u t h o fi na d d i t i o n t h i s p a p e ri n t r o d u c eas o b e rd e s i g ns c h e m ea n dae f f e c t i v ei m p l e m e n t a t i o na tt h e s p e c i f i ca s p e c to fd i s t r i b u t e ds e r v i c el e v e lt h a tj m xs p e c i f i c a t i o nd o e sn o tc o v e r c m t e n t l y k e y w o r d s :j 2 e e ,a p p l i c a t i o ns e r v e r , j m x ,m i c r o k e r n e l ,c o m p o n e n t sm a n a g e m e n t , r e s o u r c em a n a g e m e n t ,a p p l i c a t i o n m a n a n g e m e n t 四川大学硕士学位论文 1 1 选题背景 第一章综述 在今天这样一个电子商务和信息技术飞速发展、并充满需求的世界上,企 业应用必须以更少的资金、更快的速度和比以往更少的资源来设计、建造和运 营。越来越多的程序设计人员希望借助服务器端技术的快捷、安全以及可靠性, 为企业开发分布式的交易应用系统。 为降低成本、快速实现企业应用的设计和开发,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 环境中的酮一个层次来决定的。图1 1 展示 了j 2 e e 规范定义的完整的j 2 e e 组件模型: 圈1 1j 2 e e 组件模型 四川大学硕士学位论文 开发人员可以根据需要,选取不同的组件,采用不同的层次模型,完成企 业应用的开发。由于随着软件规模的扩大和网络的介入,传统的两层c s 体系 结构显然已经不能满足企业级应用的需要。比较典型的就是所谓“胖客户”问 题。因为在任何应用领域中,数据都不能简单地由用户直接输入数据库。每一 个应用领域都有一套自己的流程,叫做业务规范。在两层体系结构中,这一业 务逻辑是在客户端实现的,从而形成了所谓的“胖客户”。当业务逻辑发生改变 时,客户端软件要做相应的调整,这时每一个客户机都要重新安排软件。这是 一个非常庞大的工程。 因此,j 2 e e 应用使用瘦客户端。一个瘦客户端是与应用连接的轻负载接口, 它不处理象查询数据库、执行负载业务逻辑、或域传统系统连接等工作。而这 些重负载由被转移到位于客户端和企业信息系统之间的中间层上。中间层的所 有工作由应用服务器来承担。 应用服务器( a p p l i c a t i o ns e r v e r ) 是在当今i n t e r n e t 上企业级应用迅速发 展,电子商务应用出现并将快速膨胀的需求下,产生的一种新技术,通过它能 将一个企业的商务活动安全、有效她实施到i n t e r n e t 上,实现电子商务。它并 非一种传统意义上的软件,而是一个可以提供通过i n t e r n e t 来实施电子商务的 平台,所以有人又称之为“i n t e r n e t 上的操作系统“,在美国被喻为”f u t u r e t e c h n o l o g y ”。 通过应用服务器可以帮助企业架构一个基于i n t e r n e t 的电子商务系统,而 且拥有极高的稳定性、可扩展性和安全性。应用服务器向企业级用户提供了设 计、开发、部署、运行和管理一个i n t e r n e t 电子商务应用系统的平台。以下是 它在各个环节所能够起到的作用: 一 设计一应用服务器完成底层通讯、服务,并屏蔽掉复杂的底层技术细 节,向用户提供结构简单、功能完善的编程接口,让用户可以专心于商 务逻辑的设计。 开发一应用服务器提供了完全开放的编程语言和应用接口,用户可以 用任何自己习惯的开发工具来工作。另外,应用服务器自己也提供快 速开发的工具和手段,帮助用户提高开发效率。 - 部署一应用服务器可以部署在任何硬件平台、任何操作系统,而且可 以分布在异构网络中,应用服务器帮助用户在复杂的网络环境中配置系 统参数,使系统发挥最大的性能,拥有最好的稳定可靠性。 _ 运行一应用服务器采用的是开放技术标准,它提供了一个完整的标准 实现,即提供了系统的运行环境,任何基于同样标准的系统都能很好的 运行于这个环境中。 管理一应用服务器让用户通过图形化的界面方便的管理自己的资源, 而且在系统运行时也能动态监控和管理。 在j 2 e e 平台上,应用服务器以容器( c o n t a i n e r ) 的形式为每种类型的组件 四川太学硕士学位论文 提供后台支持。因此由于不必自己开发这些服务,可以专注于解决企业所面 临的业务问题,如图1 2 所示: 图1 - 2j 2 e e 三层应用体系结构 j 2 e e 应用服务器是三层应用体系结构的中间层,是整个系统的核心。一方 面,它为客户端提供事务逻辑服务;另方面,代替客户从d b m s 存取数据。更 重要的是它为应用程序提供了开发与运行的环境,可以提供事务处理,负载平 衡,数据库连接管理等有利于提高系统整体性能的一些服务。应用服务器已经 成为构建新一代分布式应用系统的软件平台。因此对应用服务器体系结构的研 究是目前计算机软件及分布式系统领域研究的前沿课题。 1 2 应用服务器的国内外发展概况 应用服务器已经成为电子商务应用中一种非常关键的中间件技术。它将各 种相互孤立的中间件系统整合为一个系统,能够提供一种完整地系统支持平台。 如今,各大主要软件厂商纷纷将应用服务器作为其电子商务平台的基础,i b m 的w e b s p h e r e 便是典型例子,o r a c l e 的i n t e r n e ta p p li c a t i o ns e r v e r 也成为 其平台产品的重要部分,b e a 的w e b l o g i ca p p l i c a t i o ns e r v e r 更是其门户产 品的基础。 但是,目前为止,同内从事应用服务器开发的公司屈指可数。大部分的公 司仅仅基于国外的应用服务器平台进行应用开发工作。不同的容器厂商分别有 对j 2 e e 规范各自不同的实现,有优有劣。甚至很多开源项目对j 2 e e 规范中某 一部分组件容器做了单独的实现, 通过比较和研究我们发现不旧的j 2 e e 应用服务器问存在着巨大的性能和 四川大学硕士学位论文 ”r 扩展性差异。我们相信架构的设计是决定类似于性能和可扩展性等质量指标 的重要闲索。因此,我们决定对这一领域进彳j 研究,并创建自己的架构模型和 实现。 1 3 j 2 e e 规范和j m x 技术 作为巾间层的应用服务器有着不同的标准,其中c o m 、c o r b a 和j 2 e e 是3 个最主要的规范,目标的应用服务器设计基本上都是基于以上3 种标准。 c o m d c o m 是由微软开发的个分布式对象技术,适合于w i n d o w s w i n d o w sn t 环境,缺点是局限于w i n d o w s 的产品系列,兼容性差;c o r b a 是由o m g 组织开 发的技术,表示公共对象请求代理体系结构,核心的思想是对象b u s 的概念, 它允许对象即插即用,其通信协议i i o p 可以跨语言,跨厂商进行操作,但由于 各u n i x 厂商对c o r b a 执行得不够彻底,互联比较困难;而由s u n 公司发起的 j 2 e e 规范是现在市场上的主流。j 2 e e 标准是过去几年中形成的一个与厂家无关 的公共标准,它将许多分散的j a v a 技术整合到一起,组合成一个完整的企业标 准。 j 2 e e 主要包含以下规范: _ 中间件 m i d d l e w a r e ) 包括e n t e r p r i s ej a v ab e a n ( b j b ) 和j a v a m e s s a g es e r v i c e ( j m s ) 等分布式企业计算的组件 _ 名称和目录j n d i j a v an a m i n ga n dd i r e c t o r yi n t e r f a c e ) a p i 用于查 找服务和组件 表示( p r e s e n t a t i o n ) 服务器端小程序s e r v l e t 和j a v a 服务器页( j s p ) 支持 一w e b h t t p 浏览器访问 j t s 、j t a 、j a v a m a i l 、j d b c 、j a f j 2 e e 是一个基于组件一容器模型的系统平台,其核心概念是容器。容器是 指为特定组件提供服务的一个标准化的运行时环境,j a v a 虚拟机就是一个典型 的容器。组件是一个可以部署的程序单元,它以某种方式运行在容器中,容器 封装了j 2 e e 底层的a p i ,为组件提供事务处理、数据访问、安全性、持久性等 服务。在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 s e 和一组扩展的服务。这是因为j 2 e e 是以j a v a 标准版为基础的,各容器在j 2 s e 之上再根据需要提供一些扩展的服务,如目录服务、事务管理、数据访问、消 息机制、安全性等。 4 四川大学硕士学位论文 j 2 e e 本身是一个标准,而不是一个现成的产品。s u n 公司联合i b m 、o r a c l e 、 b e a 等大型企业应用系统开发商于1 9 9 8 年共同制订了一个基于j a v a 组件技术 的企业应用系统开发规范。弦规范定义了一个基于组件的多层企业应用系统开 发平台。平台角色及j 2 e e 中每种服务和核心a p i 的实现要求。它是j 2 e e 应用 服务器开发商的大纲。这一规范和其定义的平台就构成了j 2 e e 。 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 2 e e 规范中的一部分,是套标准 的代理和服务,是一个可为应用程序植入管理功能的框架,其目的是解决分布 式系统的管理问题,现在逐渐成为管理复杂软件系统的解决方案。同时j m x 也 是一种应用编程接口,可扩充对象和方法的集合体,可以跨越一系列不同的异 构操作系统平台、系统体系结构和网络传输协议。 1 4 项目介绍及目标工作 本课题所进行的研究工作正是在上述背景下展开的,我们的最终目标是设 计。、实现一个完全或大部分基于j 2 e e 规范的企业级应用服务器,其代号为 j a a p ( j u s ta n o t h e ra p p s e r v e rp r o v i d e r ) 。j a a p 的定义为一个j 2 e e 应用服务器 开源项目,实质上是一组服务和工具的软件包,包括一个j m x 管理框架 j a p p m x ) 和一个e j b 容器,以及嵌入的第三方的w e b 容器,并将在未来提供对商务组件和 w e b s e r v i c e 的支持。j a a p 基于j 瞰构建,j m x 为基于s n m p 、c i m w e b m 或t m n 协议的 各种现有管理系统的互操作提供了一种动态管理框架和服务。j a a p 的实现基于 j 2 e ev l ,3 规范实现,支持e a r 、j a r 、w a r 文件的热部署,对这些文件的修改, 也不需要重启服务器就可以生效;支持e j b i 1 以及部分e j b 2 0 ;提供c a c h e 群 集服务;基于j m x 的服务框架,所有的服务被实现为j m x 服务( m b e a n s ) 被插入到 j a a p 的内核中;提供j a a p 的控制台c o n s o l e ( j a a p m xb a s e d ) ;集成t o m c a t ,提供 基本的j s p s e r v l e t 服务;独立实现了j d o 规范,以组件形式插入j a a p 应用服务 器,替代实俸b e a n 完成数据库访问。 由于j 2 e e 框架规范包括的内容很广,所以,我们的前期工作目标主要定位 为: 1 。按照j m x 规范v 1 2 版实现服务器的j 托x 微内核,提供j a v a 应用程序、j a v a 对象、j 2 e e 组件等实体的“插入式”管理框架,其独立成果为j a a p m x ; 2 按照e j b 容器规范实现j 2 e e 框架的e j b 容器,其独立成果为j a a p e j b ; 3 实现提供对e n t i t ye j b 的j d o 相关替代实现,其独立成果为j a a p d o ; 本文作者主要复杂遵循j m x 规范实现j m ) 框架及独立成果j a a l ) m x ,同时实现 自定义的h t m l 适配器,完成j m x 规范未涉及到“分布式服务层”。 四川大学硕士学位论文 第二章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 sj 是一个为应用程序植入管理功能的挺 架,它是s u n 公司规范出的一套标准的代理和服务,实际上,用户可以在任何 j a v a 应用程序中使用这些代理和服务实现管理。它的前身是j m a p i ,两者同样 都致力于解决分布式系统管理的问题,因此,能够适合于各种不同的环境是非 常重要的。为了能够利用功能强大的j a v a 计算环境解决这一问题,s u n 公司扩 充了j a v a 基础类库,开发了专用的管理类库。 j m x 是一种应用编程接口,可扩充对象和方法的集合体,可以用于跨越一 系列不同的异构操作系统平台、系统体系结构和网络传输协议,灵活的开发无 缝集成的系统、网络和服务管理应用,它提供了用户界面指导、j a v a 类和开发 集成系统、网络及网络管理应用自勺规范。 管理对象i m a n a g e a b l eo b j e c t ) 是j m x 应用程序的核心。j m x 结构包括:支 持j a v a 的w e b 浏览器用户接口,管理运行模块a r m ( a d m i nr u n t i m em o d u l e ) 和 应用。这三个部件之间通过r m i ( r e m o t em e t h o di n v o c a t i o n ) 进行通信。这里 需要说明的是,r m i 是使得一个j a v a 虚拟机( j v m ) 上运行的程序可以调用远程 服务器上另一个j v m 中的对象。 用户接口用来发布管理操作,这些操作可以间接的通过浏览器或通过单独 的应用程序来激发。管理运行模块用来给应用提供实例化的管理对象。它包括 a g e n t 对象接口、通知接口和被管数据接口。应用在这里指的是莠5 些被管设备 单元。 j m x 是一个完整的网络管理应用程序开发环境,它同时提供了:厂商需要 收集的完整的特性清单,可生成资源清单表格,图形化的用户接口;访问s n m p 的网络a p i ;主机问远程过程调用;数据库访问方法。j m x 这一轻型的管理基础 结构,价值在于对被管理资源的服务实现了抽象,提供了底层的基本类集合, 开发人员在保证大多数的公共管理类的完整性和一致性的前提下,进行扩展以 满足特定网络管理应用的需要。 j m x 的体系结构和操作模型旨在满足下歹i j 目标: _ 可伸缩性:适应从管理少数设备或服务到管理因特网时代的企业可能拥 有的数万个可管理端点的能力; 旧系统集成和兼容性:与现有n m s ( n e t w o r km a n a n g e m e n ts y s t e m ) 或 e m s ( e n t e r p r i s em a n a n g e m e n ts y s t e m ) 解决方案以及与可能不支持j m x 的旧的可管理端点协作的能力; - 低成本实现:无需大量设计和编码工作,即可轻松地将j m x 兼容性设 计到现有软件产品和设备中。 6 四川大学硕士学位论文 2 1 j m x 层次规范 在s u n 公司的j m xs p e c i f i c a t i o nv 1 2 中,j m x 体系结构分为以下三个层 次,通过采用三级分丽治之的体系结构化方法来降低可伸缩网络管理的复杂性。 图3 - 1 描述了j m ) c 架构的各层次组织情况。下面依次对这三个重要的层次进行 阐述: 1 姒瘫哗管坪聪1 i 措厅 奇珧嚣l r 垮口序 分如式服务场 连 暑】 ! 即蛰没迂屺器 l 一坐螋8 二i 曼一一一一一一一一一j 因:j 挎j m x 靓范口未来j 蝌规范 图2 一lj m x 框架 2 1 1 设备层( i n s t r u m e n t a t i o nl e v e l ) 设备层主要定义了如何实现j m x 管理资源的规范。一个j m x 管理资源习以 是一个j a v a 应用、一个服务或一个设备,他们可以用j a v a 开发,或者至少能 用j a v a 进行包装( w r a p p i n g ) ,并且能够被置人j m x 框架中,从而成为j m x 的一 个管理构件( m a n a g e db e a n ) ,简称m b e a n 。在j m x 中,各种管理资源以管理构 件( m b e a n ) 的形式存在,需要管理时,向m g e a n 服务器进行注册。m b e a n 可以是 标准的,也可以是动态的,标准的m b e a n 遵从j a v a b e a n s 构件的设计模式;动 态的m b e a n 遵从特定的接口,提供了更大的灵活性。 一圄 四川大学硕士学位论文 资源设备被代理层所管理,代理层规范将在下一章阐述并给以实现,m b e a n 本身不需要获知任何关于管理它的j m x 代理的信息。m b e a n 被j m x 规范设计为 灵活、简便、易实现的对象形式,应用程序、服务、设备的开发者们可以以统 一的标准手段将他们的产品纳入管理,而不需要花费大量的人力物力去理解和 投资一个复杂的管理系统。所有已存在的对象都可以轻松地包装为一个标准 m b e a n 或者动态m b e a n ,使得这些资源的管理代价达到尽可能最小化。 另外,设备层也规范了一套通知机制,允许m b e a n 创建事件的通告,并且 通过特定的途径传播给其他层的组 牛。 2 1 2 代理层( a g e n tl e v e l ) 代理层提供了一套关于代理实现的规范。管理代理是直接控制被管理资源, 使之相对于远程管理应用程序可用的组件。这些代理通过都部署在与被管理资 源相同的一个主机上,虽然这种部署方式并不是强制的。 代理层是一个运行在j a v a 虚拟机上的管理实体,它的位置在设备层之上, 活跃在被管理资源和管理者之间,用来直接管理资源,并使这些资源可以被远 程的管理程序所控制。代理组件由一个m b e a n 服务器和系列控制资源m b e a n 的服务组成。另外,一个j m z 代理需要至少一个连接器f c o n n e c o r 或一个协议 适配器( p r o t o c o la d a p t o r ) ,用于和运行于该代理的j a v a 虚拟机之外的管理应 用程序进行通信。协议适配器通过特定的协议提供了一张注册在m b e a n 服务器 的管理构件的亳耐图。例如,一个h t m l 适配器可以将所有注册过的管理构件显示 在w e b 页面上。不同的协议,提供不同的视图。连接器还必须提供管理应用一 方的接口以使代理和管理应用程序进行通信,即针对不同的协议,连接器必须 提供同样的远程接口来封装通信过程。当远程应用程序使用这个接口时,就可 以通过网络透明的和代理进行交互,而忽略协议本身。不过,当前的j m x 规范 v 1 2 并没有给出连接器和协议适配器相关的实现策略,我们的j a a p m x 实现了 自定义的h t m l 适配器方案,提供了界面友好的浏览器管理接口。 j m x 代理组件可运行于j a v a 2 平台标准版( j 2 s e ) v 1 ,3 或以上的版本,甚至 j a v a 2 平台m i c r o 版( j 2 m e 。按照j m x 规范实现的j m z 代理可以自动与j 隧分 布式服务层相融合,能够被任何非j m x 兼容系统或应用程序所支持。 2 1 ,3 分布式服务层( d i s t r i b u t e ds e r v i c e sl e v e l ) 当前的j m x 规范v 1 2 并没有给出分布式服务层的规划,但j m x 产品实现不 能缺少这个重要的表现层,它是提供管理接_ 口绘管理应用程序和用户的惟一途 径。j a a p m x 的分布式服务层实现主要遵循以下的一些原则: 一 为管理应用程序与j m x 代理之间的交互提供一个透明的接口; _ 通过建立j m x 代理、被管理资源m b e a r i 的元数据与高层济议例如h t m l 、 s n m p ) 之间的映射,暴露出j m x 代理和资源m b e a n 的一张合理的管理视 图; 四川大学硕士学位论文 一将高层管理平台的管理信息准确无误地分布给众多的j m x 代理; 一组合来自众多的j m x 代理的管理信息,为终端用户的商业运作提供逻辑 视图; - 提供适当的安全保障。 j m x 管理组件跨越网络相互合作,提供分布式的、可扩展的管理功能,开 发者可以在这些组件的基础上自定义基于j a v a 的管理应用程序。分布式服务层 结合代理层和设备层功能,为用户提供一个完整的设计、开发管理解决方案的 框架。j m x 技术为我们带来了很多独特的便利,例如其移植性、管理功能的按 需部署、动态移动服务以及良好的安全性。 2 2j b l x 系统设计 作为一种先进的设计思想,构件遵循的是高内聚低耦合的设计原则。构件 是可独立配置的单元,具有自包容的特性,实现严格的封装,提供统一的接口 规范,应用于复杂软件的设计和开发。丽作为分布式计算平台,应用服务器涉 及到多种资源,包括各种操作系统、数据库、网络协议等,它是应用逻辑的载 体,同时要提供复杂的系统级服务,例如分布式事务控制、资源调度分配、线 程生命周期管理、命名与目录服务、部署服务,安全管理,各种缓冲池管理等, 服务与服务之问的关系也错综复杂,还要满足用户定制的要求。以上的这些特 点都决定了我们的j 2 e e 应用服务器的设计实现采用构件化的必要性。 遵循构件化的设计思想,考虑到应用服务器所处的异构环境以及客户定制 需求,在这里便引出了基于构件化的微内核设计方案,即系统核心功能所占的 比例非常小,而大多数的功能模块根据构件设计的要求进行功能设计,保持统 一的接口实现,然后根据具体配置要求“插入”到系统中,围绕核心功能形成 一种w r a p p e r 的结构。 在这种结构中,功能模块逻辑结构清晰,自身作为插件来使用,可以独立 开发,复用性好。模块与模块之间的依赖关系根据配置文件通过系统总线的形 式进行交互,从而保持了功能模块之间的松耦合关系,而服务之间的功能调用 采用拦截器模式来实现:充分保证应用服务器构件化的设计。系统概念设计如 下图所示: 四川大学硕士学位论文 图2 - 2j m x 微内核“插入”式框架 在我们的j a a p 应用服务器的设计中,无论是功能的实现还是资源的管理都 采用j m x 的m b e a n 来实现,m b e a n 就是一个j a v a 对象,它遵循在j m x 规范的表 现层中所阐述的设计模式。 由于m b e a n 有统一的接口规范,是一种基于构i 牛化的组件,它包含了一个 对象来展现控制的服务,为m b e a n 服务器提供了一个接口,通过服务器管理接 口的反射( r e f l e c t i o n ) 或内省( i n t r o s p e c t i o n ) 机制来发现注册的m b e a n ,从而 达到管理资源的目的。在应用服务器中各服务模块的功能可通过管理接口注册 到m b e a n 服务器上的m b e a n 来实现,m b e a n 服务器通过代理层来把接口展现给 用户,一个m b e a n 可以表现一个设备、一个应用或需要管理的任何资源。在使 用时m b e a n 面向用户暴露一些管理接口,而不是直接把管理的资源和模块方法 提供给用户,用户访问到的只是有m b e a n 暴露出来的属性和操作,例如一系列 可读写的属性或可以调用的方法,以及一些自描述符等,这样可以保证要管理 资源的安全性和实现模块的易扩展性。管理接口在m b e a n 实例的生存期内不会 改变,可以根据不同的需求选择不同类型的m b e a n 实现,例如标准的m b e a n 通 过包含的方法名静态地定义管理接口,而动态的m b e a n 实现一个特定的j a v a 接口,在运行时暴露其属性和操作。 功能模块之间的依赖关系是根据配景文件和调用总线来完成的,而不是模 块闯的直接调用,配置文件决定哪一个功能组件作为插件插入系统以提供服务。

温馨提示

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

评论

0/150

提交评论