`
IT-future
  • 浏览: 29711 次
  • 来自: ...
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论
阅读更多

代理层是一个运行在Java虚拟机上的管理实体,它活跃在管理资源和管理者之间,用来直接管理资源,并使这些资源可以被远程的管理程序所控制。代理层由一个MBean服务器和一系列处理被管理资源的服务所组成。下图表示了代理层的组成:
 

MBean服务器

Mbean服务器为代理层的核心,设备层的所有管理构件都在其注册,管理者只用通过它才能访问管理构件。
管理构件可以通过以下三种方法实例化和注册:
1)通过另一个管理构件
2)管理代理本身
3)远程应用程序
注册一个管理构件时,必须提供一个唯一的对象名。管理应用程序用这个对象名进行标识管理构件并对其操作。这些操作包括:
1)发现管理构件的管理接口
2)读写属性值
3)执行管理构件中定义的操作
4)获得管理构件发出的通告
5)基于对象名和属性值来查询管理构件

协议适配器和连接器

MBean服务器依赖于协议适配器和连接器来和运行该代理的Java虚拟机之外的管理应用程序进行通信。协议适配器通过特定的协议提供了一张注册在MBean服务器的管理构件的视图。例如,一个HTML适配器可以将所有注册过的管理构件显示在Web 页面上。不同的协议,提供不同的视图。

连接器还必须提供管理应用一方的接口以使代理和管理应用程序进行通信,即针对不同的协议,连接器必须提供同样的远程接口来封装通信过程。当远程应用程序使用这个接口时,就可以通过网络透明的和代理进行交互,而忽略协议本身。

适配器和连接器使MBean服务器与管理应用程序能进行通信。因此,一个代理要被管理,它必须提供至少一个协议适配器或者连接器。面临多种管理应用时,代理可以包含各种不同的协议适配器和连接器。

当前已经实现和将要实现的协议适配器和连接器包括:
1)RMI连接器
2)SNMP协议适配器
3)IIOP协议适配器
4)HTML协议适配器
5)HTTP连接器

代理服务

代理服务可以对注册的管理构件执行管理功能。通过引入智能管理,JMX可以帮助我们建立强有力的管理解决方案。代理服务本身也是作为管理构件而存在,也可以被MBean服务器控制。

JMX规范定义了代理服务有:
1)动态类装载--通过管理小程序服务可以获得并实例化新的类,还可以使位于网络上的类库本地化。
2)监视服务--监视管理构件的属性值变化,并将这些变化通知给所有的监听者。
3)时间服务--定时发送一个消息或作为一个调度器使用。
4)关系服务--定义并维持管理构件之间的相互关系。

1.动态类装载

动态类装载是通过m-let(management applet)服务来实现的,它可以从网络上的任何URL处下载并实例化管理构件,然后向MBean服务器注册。在一个M-let服务过程中,首先是下载一个m-let文本文件,该文件是XML格式的文件,文件的内容标识了管理构件的所有信息,比如构件名称、在MBean服务器中唯一标识该构件的对象名等。然后根据这个文件的内容,m-let服务完成剩余的任务。下图例示这一过程:
 


2.监视服务

通过使用监视服务,管理构件的属性值就会被定期监视,从而保证始终处于一个特定的范围。当监视的属性值的变化超出了预期定义的范围,一个特定的通告就会发出。JMX规范当前规定了三种监视器:

1)计数器监视器,监视计数器类型的属性值,通常为整型,且只能按一定规律递增。
2)度量监视器,监视度量类型的属性值,通常为实数,值能增能减。
3)字符串监视器,监视字符串类型的属性值。

每一个监视器都是作为一个标准管理构件存在的,需要提供服务时,可以由相应的管理构件或远程管理应用程序动态创建并配置注册使用。

下图例示了计数器监视器的使用情况:
 


3.时间服务

时间服务可以在制定的时间和日期发出通告,也可以定期的周期性的发出通告,依赖于管理应用程序的配置。时间服务也是一个管理构件,它能帮助管理应用程序建立一个可配置的备忘录,从而实现智能管理服务。

4.关系服务

JMX规范定义了管理构件之间的关系模型。一个关系是用户定义的管理构件之间的N维联系。

关系模型定义如下一些术语:

1)角色:就是是一个关系中的一类成员身份,它含有一个角色值。
2)角色信息:描述一个关系中的一个角色。
3)关系类型:由角色信息组成,作为创建和维持关系的模板。
4)关系:管理构件之间的当前联系,且必须满足一个关系类型的要求。
5)角色值:在一个关系中当前能满足给定角色的管理构件的列表。
6)关系服务:是一个管理构件,能接触和维持所有关系类型和关系实例之间的一致性。

在关系服务中,管理构件之间的关系由通过关系类型确定的关系实例来维护。仅仅只有注册到MBean服务器上并且能被对象名标识的管理构件才能成为一个关系的成员。关系服务从来就不直接操作它的成员--管理构件,为了方便查找它仅仅提供了对象名。

关系服务能锁定不合理关系类型的创建,同样,不合理的关系的创建也会被锁定。角色值的修正也要遵守一致性检查。

由于关系是定义在注册的管理构件之间的联系,所以当其中的管理构件卸载时,就会更改关系。关系服务会自动更改角色值。所有对关系实例的操作比如创建、更新、删除等都会使关系服务发出通告,通告会提供有关这次操作的信息。

JMX关系模型只能保证所有的管理构件满足它的设计角色,也就是说,不允许一个管理构件同时出现在许多关系中。
 



分享到:
评论

相关推荐

    JMX1.4规范中文版

    这篇文档是对JMX 的一个介绍,给出了定JMX 设备层,代理层和部署层服务的规范。 它不是编程手册或者教程,而是希望读者可以对JMX 架构、设计模式和编程接口有一定程 度的理解。 完整的JMX 规范是由本书和API 文档...

    JAVA SE学习精华集锦

    2.1.3 代理层 89 2.1.4 分布服务层 90 2.1.5 附加管理协议API 90 2.1.6 JMX的当前实现及应用 91 2.1.7 小结 91 2.2 应用 JMX 最佳实践 91 2.3 Java/J2EE中文问题终极解决之道 95 2.4 Java Web应用中的任务调度 96 ...

    (超赞)JAVA精华之--深入JAVA API

    2.1.3 代理层 2.1.4 分布服务层 2.1.5 附加管理协议API 2.1.6 JMX的当前实现及应用 2.1.7 小结 2.2 应用 JMX 最佳实践 2.3 Java/J2EE中文问题终极解决之道 2.4 Java Web应用中的任务调度 2.5 用连接池提高Servlet...

    JAVA_API1.6文档(中文)

    javax.rmi.ssl 通过安全套接字层 (SSL) 或传输层安全 (TLS) 协议提供 RMIClientSocketFactory 和 RMIServerSocketFactory 的实现。 javax.security.auth 此包提供用于进行验证和授权的框架。 javax.security.auth....

    支持多数据库的ORM框架ef-orm.zip

    依赖于ASM等静态字节码技术而不是CGlib,使得改善了代理性能;依赖于动态反射框架,内部数据处理上的开销几乎可以忽略。操作性能接近JDBC水平。对比某H开头的框架,在写入操作上大约领先30%,在大量数据读取上领先...

    JDK_1_6 API

    javax.rmi.ssl 通过安全套接字层 (SSL) 或传输层安全 (TLS) 协议提供 RMIClientSocketFactory 和 RMIServerSocketFactory 的实现。 javax.security.auth 此包提供用于进行验证和授权的框架。 javax.security.auth....

    java api最新7.0

    javax.rmi.ssl 通过安全套接字层 (SSL) 或传输层安全 (TLS) 协议提供 RMIClientSocketFactory 和 RMIServerSocketFactory 的实现。 javax.security.auth 此包提供用于进行验证和授权的框架。 javax.security.auth....

    [Java参考文档].JDK_API 1.6

    javax.rmi.ssl 通过安全套接字层 (SSL) 或传输层安全 (TLS) 协议提供 RMIClientSocketFactory 和 RMIServerSocketFactory 的实现。 javax.security.auth 此包提供用于进行验证和授权的框架。 javax.security.auth....

    java开源包4

    MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包 jSIP.tar jSIP这个Java包目标是用Java实现SIP(SIP:...

    Java 1.6 API 中文 New

    javax.rmi.ssl 通过安全套接字层 (SSL) 或传输层安全 (TLS) 协议提供 RMIClientSocketFactory 和 RMIServerSocketFactory 的实现。 javax.security.auth 此包提供用于进行验证和授权的框架。 javax.security.auth....

    JavaAPI1.6中文chm文档 part1

    javax.rmi.ssl 通过安全套接字层 (SSL) 或传输层安全 (TLS) 协议提供 RMIClientSocketFactory 和 RMIServerSocketFactory 的实现。 javax.security.auth 此包提供用于进行验证和授权的框架。 javax.security.auth....

    JavaAPI中文chm文档 part2

    javax.rmi.ssl 通过安全套接字层 (SSL) 或传输层安全 (TLS) 协议提供 RMIClientSocketFactory 和 RMIServerSocketFactory 的实现。 javax.security.auth 此包提供用于进行验证和授权的框架。 javax.security.auth....

    [Java参考文档]

    javax.rmi.ssl 通过安全套接字层 (SSL) 或传输层安全 (TLS) 协议提供 RMIClientSocketFactory 和 RMIServerSocketFactory 的实现。 javax.security.auth 此包提供用于进行验证和授权的框架。 javax.security.auth....

    java开源包1

    MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包 jSIP.tar jSIP这个Java包目标是用Java实现SIP(SIP:...

    java开源包11

    MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包 jSIP.tar jSIP这个Java包目标是用Java实现SIP(SIP:...

    java开源包2

    MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包 jSIP.tar jSIP这个Java包目标是用Java实现SIP(SIP:...

    java开源包3

    MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包 jSIP.tar jSIP这个Java包目标是用Java实现SIP(SIP:...

Global site tag (gtag.js) - Google Analytics