Java Management Extensions
JMX | |
---|---|
Desarrollador | Sun Microsystems |
Última versión | 1.1 / 25 oct, 2005 |
sistema operativo | Todos |
Género | Administración de servidores de aplicaciones |
Licencia | SPL |
Sitio Web | http://java.sun.com/jmx |
Del acrónimo Java Management eXtensions, JMX es la tecnología que define una arquitectura de gestión, la API (Application Programming Interface), los patrones de diseño, y los servicios para la monitorización/administración de aplicaciones basadas en Java. Su versión 1.2 ha sido añadida al J2SE en su versión 5.0.
Arquitectura JMX
editarLa arquitectura JMX es un modelo de tres capas. El nivel de instrumentación lo definen los requisitos para implementar recursos a manejar por JMX. Puede ser cualquier entidad, como aplicaciones, componentes o dispositivos. El nivel de agente es el encargado de controlar las entidades de la capa de instrumentación. El nivel de gestión o adaptación es el encargado de adaptar las entidades externas que interactúan a nivel de agente.
Niveles
editar- Nivel de Instrumentación
- Nivel de Agente
- Nivel de Gestión o adaptación
Nos permite implementar una gestión fácil e instantánea para los objetos Java. En la arquitectura, los recursos se gestionan mediante Mbeans. Los MBeans son objetos java similares conceptualmente a los javaBeans y son los encargados de representar cada una de las entidades. Un modo sencillo de ver los MBeans es pensar que son aquellas aplicaciones que se encargan de monitorizar otras entidades.
Cualquier entidad que necesite ser gestionada, en un futuro, puede ser instrumentado por medio de MBeans. Estos nos brindan la instrumentación de los recursos gestionados de forma estándar y para ser incorporados en cualquier agente JMX. Pueden ser cargados o eliminados dinámicamente según sea necesario, lo que nos brinda una gran flexibilidad.
Tipos de MBeans
editarStandard MBean
editarLa forma más sencilla de instrumentar un recurso. Es similar al modelo de componentes de JavaBeans y con una interface de gestión estática. Posee métodos para obtener y asignar valores a los atributos que se definen en el objeto implementado. Los métodos que expone el objeto son determinados en el momento de la compilación del mismo y no pueden ser modificados en tiempo de ejecución.
Dynamic MBean
editarPosee métodos genéricos para obtener, asignar valores e invocar callback. Los métodos toman entre sus argumentos el nombre del atributo cuyo valor se desea obtener, el nombre del atributo y el valor que se le quiere asignar.
Model MBean
editarConstituye un MBean dinámico, genérico y configurable que se utiliza para instrumentar recursos en tiempo de ejecución.
Open MBean
editarEste tipo de MBean permite utilizar objetos gestionados que son descubiertos en tiempo de ejecución.
Modelo de Capa
editarNivel de Agente
editarEstá representado por el Servidor de MBean donde los diferentes MBean se registran, gestiona un conjunto de agentes representado por los MBeans. El Servidor MBeans implementa la interfaz MBeanServer que interactúa con los MBean.
Los mensajes emitidos por los MBeans pueden ser enviados mediante eventos al gestor o tratados dentro del agente.
Nivel de Gestión
editarNos permite implementar adaptadores en el Servidor JMX hacia otros protocolos de gestión e implementar MBeans que interaccionen con otros protocolos de gestión exponiendo sus atributos como un recurso gestionable. Los adaptadores de protocolos y conectores permiten que las aplicaciones de gestión accedan al Servidor JMX y manipule los MBeans que lo forman. Crean un puente entre las tecnologías existentes y las futuras. JMX incluye entre sus API, una API para la gestión SNMP y una API para la gestión WBEM..
Nivel de Implementación
editarUn recurso es cualquier entidad ya sea de software o de hardware que se pueda gestionar a través de la red, siendo accedido a través de su interfaz de gestión. La implementación de un recurso significa crear un objeto Java que represente la interfaz de gestión y que sigue el modelo de componentes de JavaBeans. Llamamos a estos objetos MBean.
Servidor MBean
editarEl Servidor constituye un entorno que permite a los gestores interactuar con los MBeans, entre los que se encuentra:
- Localización
- Filtrado por nombre o expresión
- Monitorización de atributos
- Descubrir otros agentes
- Establecer relaciones entre MBeans
- Carga dinámica
- Programación de tareas
- Definir jerarquías de agentes
Adaptadores
editarLas aplicaciones de gestión acceden a los MBeans remotamente a través del Servidor MBean. También el acceso puede realizarse a través de los conectores de adaptadores de protocolos.
Las diferentes aplicaciones de gestión utilizan los conectores para interactuar con los agentes. La biblioteca JDMK que nos brinda soporta a conectores para RMI, HTTP y HTTPS.
Mientras que los adaptadores de protocolos se utilizan cuando se quiere integrar el recurso representado por MBean en un entorno de gestión ya existente. JDMK ofrece un conjunto de herramientas que facilitan la creación de agentes SNMP y la integración de la gestión SNMP en la arquitectura JMX.
Enlaces externos
editar- Java Management Extensions (JMX) en oracle.com
- JMX en oracle.com
- JMX en JBoss.com
- JSR 255 (JMX 2.0)
- JSR 160 JMX Remote API
- JSR 3 (JMX 1.0, 1.1, y 1.2)