JMX™规范(Java™ Management extension)定义了Java语言中的应用管理和网络管理方面的架构、设计模式和一套API。 JMX规范提供了Java开发者使用Java语言,创建巧妙的Java代理(agents),实现分布式的管理中间件和管理器,并且将他们平滑整合到已有系统的方法。
按照JMX架构,JMX服务组件分为三层:
工具层(instrumentation level)
JMX可管理资源工具(instruments)组件。JMX可管理资源组件可以是应用系统、某种服务的实现、硬件设备等等,是使用Java开发或者至少提供一个Java语言的包装器(wrapper) ,并且符合工具层组件的规则以便可由JMX服务进行管理。一般,这一类给定资源的工具以一个或多个MBean的方式提供,详细信息可参考Sun的JMX规范。
代理层(agent level)
代理层直接控制资源并提供远程的管理应用程序访问此资源的能力。通常情况下,代理层的组件与其控制的资源处于相同位置。
分布式服务层(distributed services level)
分布式服务层提供应用程序通过代理(agent)透明地与被管理的资源交互的功能,并且暴露代理(agent)及其MBean的管理视图、提供分布式管理和安全保证等功能。
例如一个Java语言实现的某种服务,可以通过提供一个按照JMX规范实现的MBean,通过将此MBean注册到服务管理器后,应用程序即可通过服务管理器和代理(组件)取得对此服务的控制。
Apusic应用服务器提供了对JMX规范中服务层的实现和支持,因此,对于Apusic应用服务器中的服务可以通过提供MBean的方式植入其它非Apusic应用服务器提供的服务,如消息服务,事务服务等等,同时,运行于应用服务器之上的应用程序亦可通过Apusic应用服务器提供的管理系统实现对应用的管理。