grupo jmx a - wikis · jmx es una solución para la gestión de aplicaciones y servicios java,...

21
Complementos de Telemática II Grupo JMX_A Olga Martínez Gómez Noelia Martín Hernández Daniel Ramos Fuentes

Upload: truongnguyet

Post on 14-Oct-2018

226 views

Category:

Documents


0 download

TRANSCRIPT

Complementos de Telemática IIGrupo 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 gestionaraplicaciones.

JMX es una solución para la gestión de aplicaciones y servicios Java, compatiblecon 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 lagestión de aplicaciones a través de la realización de unejemplo práctico .

• Mostrar cómo JMX nos parece una buena soluciónpara la gestión de aplicaciones Java, permitiendogestionarlas 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 queremosinstrumentar 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:

▫ Nivel de gestión

▫ Nivel de agente

▫ Nivel de instrumentación

JMX: Arquitectura (II) Comprende 3 componentes:

Recurso gestionable 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)

Posee una interfaz estática

MBean dinámico (Dynamic MBean)

Utilizado para acceder a recursos que no utilizan Java

MBean modelo (Model MBean)

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 lainformació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 comouna buena solución de gestión de aplicaciones Java pese a no podercomparar con otras soluciones.