在JMX规范1.0的基础上,分析了JMX的技术背景及其体系结构,提出了一种MBean对象的实现方法和Java管理服务核心模块的设计模式。讨论了远程管理通信接口以及基于Java事件模型Notification机制的设计,并对标准管理服务器进行相关扩展,实现持久化对象管理和远程对象管理。关 键 词 Java管理扩展; 管理服务器; 会话; 通知机制Java Management Extensions(JMX,Java管理扩展)是SUN基于Java技术提出的一种管理策略,它将[1]Java语言的动态性、灵活性以及可移动性引入了管理服务的范畴中。使得JMX有构建第三代管理解决方案的基础[2],因为第三代管理技术在本质上是动态,能够满足在各种各样的网络和平台上的服务驱动的管理请求。JMX的提出保持了Java平台在信息技术领域中的领先地位,满足动态管理的市场请求,为管理系统的设计者和开发者提供方便的工具。通过设计,这种新的标准能够很好的适应以前的系统,实现新的管理方案,同时保持对所有的工业应用开放。本文主要论述管理服务系统中Managed Bean(Mbean)对象定义以及 JMX Agent动态管理核心MBeanServer和远程管理通信接口的设计。1 JMX管理服务体系结构JMX是一种致力于解决分布式系统管理问题的应用编程接口,目前JMX管理体系结构基本可以划分为以下三个层次:1) Instrumentation level 提出了实现JMX可管理资源的规范。这些资源可以是Java应用、服务实现、设施等,它们是通过一个或多个MBean来实现。2) Agent Level JMX Agent是管理服务的实体,运行在JVM上起着连接管理应用和MBean的桥梁作用。它直接控制被管理资源,使其可用于远程管理。3) Manager Level 提供了管理组件的实现,它可以作为管理者或管理代理通过Agent 层操纵分布式管理服务。此外,JMX 还通过Additional Management Protocol API(附加管理协议API),为目前大多数流行的管理协议提供了扩展接口,目的在于管理系统开发通用性以及提供一套整合现有管理技术的解决方案,其管理服务的体系结构如图1所示。2 动态管理服务核心的设计2.1 管理对象MBean的定义MBean采用了包装类(Wrapper)的设计模式:将Java应用、组件以及分布式网络中的各种资源包装为类似JavaBean的组件,称为Managed Bean或MBean,实现了Java对象的可管理性。2.2 管理服务器MBeanSever的实现Java对象或其他被管理资源的Java封装在实现了MBean之后,必须在MBeanServer中注册,才能被JMX核心所管理。MBeanServer的设计和实现是管理服务的重点,它在整个管理体系结构中起着承上启下的重要作用。管理核心由以下一些模块构成:标准TongMBeanServer接口[3],为管理者提供标准的管理API,屏蔽管理服务的低层细节,使管理者可以很方便地通过管理工具配置和监控MBean;扩展接口ExtendedMBeanServer实现了持久化对象管理以及MBean的自动注册[4,5];RemoteMBeanServer对TongMBeanServer进行RMI封装,用于在分布式网络环境的对象管理;MBeanServerFctory实现了对象工厂的功能——创建以及管理所有的MBeanServer;MBeanServerManager是系统的入口点[6],负责整个管理系统的生命周期。MBeanServer模块部分的设计思想如图4所示。
猜您喜欢
评论