翻译:JMX规范Version 1.2
JMX (The Java Management extensions) 架构概述
本节主要介绍JMX规范中的各个部分,以及它与整个管理架构的关系:
1.工具层(Instrumentation Level)
2.代理层(Agent Level)
3.分布式服务层(Distributed Services Level)
4.其他管理协议层(Additional Management Protocol Level)
图一显示了在JMX的三层架构模型中,各主要组建之间的相互关系。这些组件将在接下来的”组件概述“几个小节进行讨论和介绍。
(图一)
工具层(Instrumentation Level)
工具层为实现JMX可管理资源提供了一个规范。JMX可管理资源可以是应用、服务的实现、设备、用户等等。它可以是用Java开发或用Java封装,以至于能够被JMX-compliant程序管理。
一个给定资源的工具是由一个或者多个标准的或动态的管理Bean或称作MBeans来提供。标准的MBeans是与源于JavaBeans(TM)组件模
型的某一设计模式相一致的Java对象。动态MBeans则遵照一个特定的接口,在运行期间提供更多的灵活性。详细信息请参看”Managed
Beans(MBeans)“。
资源的工具通过代理层(Agent Level)使其可以被管理。MBeans不需要JMX代理知道他们的操作。
MBeans通常设计为灵活的、简单的并且容易实现。应用、服务、或者设备的开发者,通过一个标准的方法可以使他们的产品变成可管理,而不需要理解复杂的
管理系统。现存的对象可以轻松的提供自己的标准MBeans或者包裹成动态的MBeans,这样可以付出很少的代价使现存的资源变成可管理的。
另外,工具层(Instrumentation Level)也制定了一个通知机制。这样就允许MBeans可以产生和传递通知事件到其他各层的组件中去。
由于工具层(Instrumentation Level)是由设计模式和Java接口组成,所以参考实现只提供一个不同MBeans和它们的通知机制的例子。
工具层(Instrumentation Level)的兼容性测试会检测MBeans是否与设计模式相一致,是否正确的实现了接口。
JMX的可管理资源能被遵从JMX规范的代理自动进行管理。同样,它们也可以被不遵从JMX规范,但支持MBeans设计模式和接口的系统管理。
代理层(Agent Level) 代理层(Agent Level)提供了一个实现代理的规范。管理代理之间控制被管理的资源,并使它们对于远程的管理程序可用。虽然并没有要求,但是代理通常与它所管理的资源放置在同一台机器上。
代理层(Agent Level)构建在工具层(Instrumentation Level)之上,并且使用工具层(Instrumentation
Level),通过定义一个标准化的代理来管理JMX的可管理资源。JMX代理由一个MBean
Server和一系列的处理MBeans的服务组成。另外,JMX的代理需要至少一个通信适配器或连接器,在本部分内容不对其做详细的说明。MBean
Server的实现和代理服务都托管在一个JMX规范的实现上。
JMX代理可以嵌入在一台安装有JVM(Java Virtual
Machine),并安放了JMX可管理资源的机器里。同样,当被管理的资源只提供一个私有(non-Java)的环境时,JMX代理可以作为一个中介或
者集线器存在。JMX代理并不需要知道它为什么资源提供服务。任何JMX可管理资源可以使用任何一个提供它所需服务的JMX代理。
管理层通过一个协议适配器或连接器(在接下来的部分介绍),访问代理的MBeans,使用其提供的服务。对于JMX代理并不需要知道远程的管理程序是如何使用它们。
管理系统中实现JMX代理的开发者能用标准的方法开发自己的产品,而不需要去理解JMX可管理资源的语义,以及管理程序的功能。
JMX代理的参考实现是一系列的,提供一个MBean Server和所有代理服务的Java类。
代理的兼容性测试会检测被测试的代理是否遵从代理规范中提供的接口和功能。成功通过CTS测试的代理即可成为合格的JMX代理。
JMX代理运行在J2SE(tm) Version 1.3及以上版本,and on certain profiles of the J2ME(tm)。
JMX代理自动适应JMX分布式服务,也可以被支持JMX代理但不遵从JMX的系统使用。
分布式服务层(Distributed Services Level) 分布式服务层(Distributed Services Level)的详细定义超出了本规范的范围。为介绍JMX架构的概述,在此仅对其进行简单介绍。
分布式服务层(Distributed Services Level)提供实现JMX管理的接口。本层定义可以在代理或者分层的代理操作的接口和组件。这些组件可以:
1.提供管理程序的接口,通过一个连接器,透明的与代理和它的JMX可管理资源交互;
2.通过将它们的语义映射到data-rich协议(例如超文本标志语言(HTML)或者简单网络管理协议(SNMP)),来暴露JMX代理的管理视图和它的MBeans;
3.从高层的管理平台发布管理信息到JMX代理;
4.提供安全。
管理组件通过网络相互协作,提供分布的,可调节的管理功能。基于Java的自定义管理功能可以在这些组件之上进行开发,来部署一个管理程序。
管理层和代理、工具层的联合,为设计和开发完整的管理解决方案提供了一个完整的架构。JMX技术为可移植,按需部署的管理功能,动态的或流动的服务,以及安全这类解决方案提供了唯一的工具。
posted on 2005-02-01 21:42
非飞 阅读(487)
评论(0) 编辑 收藏 所属分类:
JMX