Utilización de scripts wsadmin con Java Management Extensions (JMX)
Java™ Management Extensions (JMX) es una infraestructura que proporciona una forma estándar de exponer recursos Java, por ejemplo, servidores de aplicaciones, en una infraestructura de gestión de sistemas. Utilizando la infraestructura JMX, un proveedor puede implementar funciones como, por ejemplo, listar los valores de configuración y editar los valores. Esta infraestructura también incluye una capa de notificación que pueden utilizar las aplicaciones de gestión para supervisar sucesos como, por ejemplo, el arranque de un servidor de aplicaciones.
Características clave de JMX
Las características clave de la implementación WebSphere Application Server de JMX incluyen:
- Todos los procesos que ejecutan el agente JMX.
- Toda la administración en tiempo de ejecución que se realiza mediante operaciones JMX.
- Los conectores que se utilizan para conectar un agente JMX a una aplicación de
gestión remota habilitada para JMX. Están soportados los siguientes conectores:
- Conector SOAP JMX
- Conector JMX RMI-IIOP (Remote Method Invocation over the Internet Inter-ORB Protocol) de interfaz de programación de aplicaciones remotas JMX (JSR 160) (el conector JSR160RMI)
- Conector RMI-IIOP (Remote Method Invocation over the Internet Inter-ORB Protocol) JMX
- IPC (Inter-Process Communications)
- Los adaptadores de protocolo que proporcionan una vista de gestión del agente JMX mediante un protocolo determinado. Las aplicaciones de gestión que se conectan a un adaptador de protocolo son normalmente específicas de un protocolo determinado.
- La capacidad de consultar y actualizar los valores de configuración de un objeto de tiempo de ejecución.
- La posibilidad de cargar, inicializar, cambiar y supervisar componentes de aplicación y recursos durante la ejecución.
Arquitectura JMX
La arquitectura JMX está estructurada en tres capas:
- Capa de instrumentación: determina cómo se pueden encapsular recursos dentro de beans Java especiales, denominados beans gestionados (MBeans).
- Capa de agente: consta del servidor de MBeans y de agentes, que proporcionan una
infraestructura de gestión. Los servicios que se implementan son:
- Supervisión
- Notificación de sucesos
- Temporizadores
- Capa de gestión: define cómo pueden interactuar las aplicaciones de gestión externas con las capas subyacentes en términos de protocolos, API, etc. Esta capa utiliza una implementación de la especificación de servicios distribuidos (JSR-077), que forma parte de la especificación Java 2 Platform, Enterprise Edition (J2EE).
La arquitectura en capas de JMX se resume en la siguiente figura:

Administración distribuida de JMX
En la siguiente figura se muestra cómo se adapta la arquitectura JMX a la topología de administración distribuida general de un entorno de WebSphere Application Server, Network Deployment:

Los puntos clave de esta arquitectura de administración distribuida son:
- Los MBeans internos que son locales con respecto a la máquina virtual Java (JVM) se registran en el servidor de MBeans local.
- Los MBeans externos tienen un proxy local en el servidor de MBeans. El proxy se
registra con el servidor de MBeans local. Utilizando el proxy de MBeans, el servidor de MBeans local puede pasar el mensaje a un servidor de MBeans externo ubicado en:
- Un agente de nodo que tiene un proxy de MBeans para todos los servidores dentro del nodo. Los proxies de MBeans de otros nodos no se utilizan.
- El gestor de despliegue tiene proxies de MBeans para todos los agentes de nodo en la célula.
JMX Mbeans
El producto proporciona varios MBeans, cada uno de los cuales tiene funciones y operaciones diferentes disponibles. Por ejemplo, un MBean de servidor de aplicaciones puede exponer operaciones como, por ejemplo, el inicio y la detención. Un MBean de aplicación puede exponer operaciones como, por ejemplo, la instalación y la desinstalación. A continuación se proporcionan algunos ejemplos de uso de JMX que se pueden encontrar:
- Programas externos que se escriben para controlar el tiempo de ejecución de WebSphere Application Server, Network Deployment y sus recursos de WebSphere mediante el acceso por programa a la API de JMX.
- Aplicaciones de terceros que incluyen JMX MBeans personalizados como parte del código desplegado, lo que da soporte a la gestión de la API de JMX de los componentes de aplicación y los recursos.
En el ejemplo siguiente se muestra cómo obtener el nombre de un MBean concreto:
Utilizando Jacl:
set am [$AdminControl queryNames type=ApplicationManager,process=server1,*]
Utilizando Jython:
am = AdminControl.queryNames('type=ApplicationManager,process=server1,*')
Cada MBean de ejecución de WebSphere Application Server puede tener atributos, operaciones y notificaciones. Toda la documentación de cada MBean proporcionado con el producto está disponible en este Information Center en .
Ventajas de JMX
El uso de las funciones de gestión de JMX en WebSphere Application Server proporciona las ventajas siguientes:
- Permite la gestión de aplicaciones Java sin una inversión significativa.
- Se basa en un servidor principal de objetos gestionados que actúa como agente de gestión.
- Las aplicaciones Java pueden incluir un servidor de objetos gestionados y proporcionar algunas de sus funciones en forma de uno o varios MBeans que se registran en el servidor de objetos.
- Proporciona una arquitectura de gestión escalable.
- Todo servicio del agente JMX es un módulo independiente que se puede conectar al agente de gestión.
- La API es ampliable, lo que permite añadir y exponer fácilmente nuevas características de aplicación personalizadas y de WebSphere Application Server mediante esta interfaz de gestión.
- Integra soluciones de gestión existentes.
- Cada proceso es autosuficiente cuando se trata de la gestión de sus recursos. No existe ningún punto central de control. En principio, un cliente de gestión habilitado para JMX se puede conectar a cualquier proceso gestionado e interactuar con los MBeans que alberga ese proceso.
- JMX ofrece un enfoque único, horizontal y de todo el dominio para la gestión del sistema. Los procesos independientes interactúan mediante proxies de MBeans que permiten a un cliente de gestión navegar ininterrumpidamente a través de una red de procesos gestionados.
- Define las interfaces que son necesarias sólo para la gestión.
- Proporciona una API estándar para exponer recursos administrativos y de aplicación en las herramientas de gestión.