Complementos de Telemática II Grupo JMX_A Olga Martínez Gómez Noelia Martín Hernández Daniel Ramos Fuentes
Contenidos Introducción JMX
Aplicación práctica Conclusiones
Introducción y contexto La gestión integrada intenta salvaguardar la creciente heterogeneidad y complejidad en las redes de telecomunicaciones . Necesidad de disponer de sistemas de gestión para la configuración, supervisión, diagnóstico y mantenimiento de los dispositivos.
JMX se encuentra entre las tecnologías destinadas a la gestión integrada, proporcionando las herramientas necesarias para monitorizar y gestionar aplicaciones. JMX es una solución para la gestión de aplicaciones y servicios Java, compatible con las tecnologías de gestión existentes. JMX proporciona una gestión rápida y fácil de aprender.
Objetivos y motivación • Aprender a utilizar JMX. • Comprobar cómo JMX solventa los problemas de la
gestión de aplicaciones a través de la realización de un ejemplo práctico . • Mostrar cómo JMX nos parece una buena solución
para la gestión de aplicaciones Java, permitiendo gestionarlas de una manera relativamente sencilla.
Metodología • Familiarizarnos con JMX. Entender el uso de las MBeans Standard. • Elegir y compilar el código fuente de la aplicación Java que queremos
instrumentar usando el entorno de desarrollo Eclipse. • Buscar los parámetros de la aplicación que queremos gestionar.
• Introducir el código necesario para instrumentar la aplicación. • Usar la herramienta JConsole para realizar pruebas. • Gestionar la aplicación desde un navegador web. Adaptador HTML.
JMX: Introducción • ¿Qué es JMX? • ¿Para qué sirve JMX? ▫ Gestión de dispositivos ▫ Gestión de aplicaciones
• ¿Cómo lleva a cabo su cometido? ▫ Instrumentación de recursos: Concepto de MBean
JMX: Arquitectura (I) • Fundamentada en un modelo de 3 capas:
Desarrollado en Java Recurso intermediario escrito en Java
Agente JMX Formado por: servidor, recursos gestionables y adaptadores o conectores. Puede contener servicios de gestión. Gestor JMX Proporciona una interfaz de comunicación entre agentes y aplicaciones.
JMX: Tipos de MBean • Cada MBean: • •
Tiene un nombre Debe registrarse en un servidor
• Tipos de MBean:
MBean estándar (Standard MBean)
MBean dinámico (Dynamic MBean)
Utilizado para acceder a recursos que no utilizan Java
MBean modelo (Model MBean)
Posee una interfaz estática
MBean dinámico. Instrumentar recursos en tiempo de ejecución
MBean abierto (Open MBean)
MBean dinámico. Utilizar objetos descubrimientos en t. de ejecución
• Sistema de notificaciones
JMX: Monitorización: JConsole Proporcionada por el JDK. Monitorizar recursos utilizados por la JVM. Destacar el apartado de los MBean. Dos tipos de monitorización:
Local Remota
Aplicación práctica ¿En qué consiste? Un 3 En Raya. Muestra un menú con las opciones:
Iniciar un nuevo juego. Colocar ficha. Mostrar tablero Obtener el estado de la partida.
Premisas:
Empieza siempre a jugar el jugador 1 y se alterna con el 2. Incumplimiento de normas Excepciones.
Aplicación práctica Los parámetros a gestionar: Número de fichas que ha colocado el jugador 1. Número de fichas que ha colocado el jugador 2. Número de partidas totales desde el comienzo de la aplicación. Número de posiciones vacías. Número de veces que se ha terminado en tablas. Número de veces que ha ganado el jugador 1. Número de veces que ha ganado el jugador 2.
Aplicación práctica Los notificaciones a gestionar: Cuando se inicia un nuevo juego. Cuando se arranca la aplicación. Cuando gana un jugador. Cambios oportunos para la gestión vía Web.
Cambios en la aplicación: código. Los cambios se van a efectuar en dos de nuestras clases
que son: GestorJuego Clase que contiene la lógica del juego. ClienteJuego Clase con la función principal, genera
el menu y según la opción que elija el usuario llama a la funcion de GestorJuego que la realiza.
Cambios en la aplicación: código. Parámetros a gestionar:
Dentro de la clase GestorJuego: Para obtener el valor del parámetro:
Para cambiar el valor del parámetro:
Cambios en la aplicación: código. Parámetros a gestionar: Declaración del Mbean. Se añade el siguiente código a ClienteJuego:
Cambios en la aplicación: código. Notificaciones: Dentro de las funciones set de GestorJuego añadimos:
Al final se añade:
Cambios en la aplicación: código. Gestión mediante el navegador Web.
Para hacer la gestión como en JConsole pero desde un navegador es necesario emplear un adaptador HTML. El código que se añade en ClienteJuego para ello es:
Pruebas: Ejemplos de funcionamiento. Gestión mediante JConsole de los parámetros:
Pruebas: Ejemplos de funcionamiento. Gestión mediante navegador Web:
Conclusiones Instrumentar una aplicación mediante JMX ha resultado relativamente
sencillo. El proceso de desarrollo ha sido medianamente fácil debido a que la
información referente a JMX está muy bien documentada. La introducción de los adaptadores HTML fue algo mas compleja,
debido a que la documentación no se encontraba tan bien organizada. JMX es una tecnología fuertemente vinculada a Java, perfilándose como
una buena solución de gestión de aplicaciones Java pese a no poder comparar con otras soluciones.