UNIVERSIDAD DE BUENOS AIRES FACULTAD DE INGENIERÍA. Documentación de Motivación del Proyecto. JMit. Java Monitoring by Introspection Tool



Documentos relacionados
Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere.

CheckOUT HELP DESK. Una vez en sesión, UD. Podrá registrar problemas, consultas y hacer un seguimiento de los problemas que UD. ha ingresado.

Guía de Apoyo Project Web Access. (Jefe de Proyectos)

Novedades en Q-flow 3.02

Capitulo 3. Desarrollo del Software

Dirección Alumnos. Av. Benjamín Aráoz C.P Tucumán - Argentina Tels.: 0054 (0381) Fax: Internet:

2 EL DOCUMENTO DE ESPECIFICACIONES

PANEL DE CONTROL (Zona de Administración) MANUAL DE USO Por conexanet. Revisión 1.1 Fecha

Manual del Usuario. Sistema de Help Desk

SISTEMA DE GESTIÓN DE INCIDENCIAS Y REQUERIMIENTOS MESA DE AYUDA SINAT MANUAL DE USUARIO

Manual de Usuario Comprador Presupuesto

5.4. Manual de usuario

Contabilidad. 1. Precondiciones. 2. Proceso Estándar. Tener la estructura contable. Estructura de la Cuenta Contable

7. CONCLUSIONES Y TRABAJOS FUTUROS

Presentación de Pyramid Data Warehouse

CAPÍTULO 3 Servidor de Modelo de Usuario

Manual de Ayuda. Sistema de Comercializacion RUBROS SRL - Desarrollado por Pragmatia

1. PERFIL DE LOS ADMINISTRADORES DE LA MESA DE AYUDA INGRESO A LA APLICACIÓN ENVIAR UN TICKET VER TICKETS EXISTENTES...

Proyecto Help Desk en plataforma SOA Modelo de Dominio Versión 1.3. Historia de revisiones

Guía de Apoyo Project Web Access. (Recursos)

Proyecto Help Desk en plataforma SOA Alcance del Sistema Versión 1.2. Historia de revisiones

Manual de Usuario Proveedor Módulo Cotizaciones

Aplicativo Mesa de Ayuda para Administradores.

UNIVERSIDAD DE SALAMANCA

MANUAL USUARIO DEPORWIN ALTAS, BAJAS, NÚMERO DE ABONADOS V /04/2014 [DEPORWIN]

Estándares para planes de calidad de software. Escuela de Ingeniería de Sistemas y Computación Desarrollo de Software II Agosto Diciembre 2008

LA RED DE CAPACITACIÓN GASTRONÓMICA MÁS GRANDE DE LATINOAMÉRICA

Proyectos de Innovación Docente

MANUAL DE AYUDA HERRAMIENTA DE APROVISIONAMIENTO

COMPRAS CEPAS A TRAVÉS DE INTERNET PORTAL CEPAS

CIERRE DE PERÍODOS DE LIQUIDACIÓN

PROCESO DE VENTA CONSULTIVA MÓDULO DE GESTIÓN DE OPORTUNIDADES DE NEGOCIO

Manual de Usuario Comprador. Módulo Administración de Presupuesto. Iconstruy e S.A. Serv icio de Atención Telefónica:

Ciclo de vida y Metodologías para el desarrollo de SW Definición de la metodología

Guía Práctica para el Uso del Servicio de Software Zoho CRM

Internet Information Server

BALANCED SCORECARD. Creación de Tableros Tablero de Indicadores. Cartilla I

Arquitectura de red distribuida: escalabilidad y equilibrio de cargas en un entorno de seguridad

Introducción a la Firma Electrónica en MIDAS

Qué es Google Calendar? Qué se puede hacer en Google Calendar?

MANUAL DE USUARIO TARIFICADOR SIPTAR Y REPORTES SIPTAR.

MANUAL DE USUARIO SISTEMA DE ALMACEN DIF SONORA

Jefatura de Gabinete de Ministros Subsecretaría de la Gestión Pública Oficina Nacional de Contrataciones

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS COORDINACION DE COMPUTACIÓN PROYECTO DE CÁTEDRA. MATERIA: Introducción a la Programación

Sesión No. 4. Contextualización INFORMÁTICA 1. Nombre: Procesador de Texto

Anteproyecto Fin de Carrera

Interoperabilidad de Fieldbus

SPRINT Release: Avis Producto: AVIS

Virtual-C: Una Herramienta para Administración de Contenidos en Sitios Web

Gestión de Retales WhitePaper Noviembre de 2009

Manual de Capacitación y de Usuario

CONFIGURACIÓN Y UTILIZACIÓN DEL SISTEMA DE BOLETAS.

WinHIPE: edición, compilación y ejecución de programas; y generación de animaciones web. Manual de usuario.

Que es normalización? Normalización de una base de datos Grados de normalización: Primera Forma Grados de normalización: Segunda Forma Grados de

GENERACIÓN DE ANTICIPOS DE CRÉDITO

Manual Oficina Web de Clubes (FBM)

UTILIZACIÓN DE RELOJES

Cuentas Por Pagar Capítulo 1 CUENTAS POR PAGAR Y COMPRAS DacEasy Contabilidad Versión 11

Sistema de Mensajería Empresarial para generación Masiva de DTE

[Escribir el título del documento]

Microsoft Access proporciona dos métodos para crear una Base de datos.

Indice. .01 Introducci n. .02 Perfiles de usuario. .03 Ingreso al portal Mi Entel PCS Empresas. .04 Activación de los teléfonos móviles de la empresa

Resumen manejo lista de precios en Discovery 3.70 / 3.71

Manual de operación Tausend Monitor

SISTEMA DE ATENCIÓN y GESTIÓN MANUAL DEL USUARIO. SAyGeS v2.0

10 razones para cambiarse a un conmutador IP

Manejo de versiones 392

Manual de Usuario del Sistema Integral de Información Académica y. Administrativa, portal de Alumnos

SUPERACCESS MANUAL INFORMES DE PERSONAL

MANUAL DE AYUDA MODULO TALLAS Y COLORES

Funcionalidades Software SAT GotelGest.Net (Software de Servicio de Asistencia Técnica)

Manual Consultas Web - PC Sistel Ver 486R4+ - USUARIO JEFATURA

SERVIDOR WEB PARA ACCESO EN TIEMPO REAL A INFORMACIÓN METEOROLÓGICA DISTRIBUIDA

SIIGO Pyme. Templates. Cartilla I

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos

PROTEJA, CONTROLE y MONITOREE la seguridad de sus instalaciones en tiempo real.

Manual de Usuario/a sobre el uso de firma electrónica avanzada

CAPITULO 4. Requerimientos, Análisis y Diseño. El presente capítulo explica los pasos que se realizaron antes de implementar

Capítulo 9. Archivos de sintaxis

GENERACIÓN DE TRANSFERENCIAS

Metodología y Framework para el Desarrollo de Aplicaciones Científicas con Computación de Alto Rendimiento a través de Servicios Web

Mantenimiento Limpieza

El e-commerce de Grupo JAB es una herramienta que permite a los clientes del Grupo, realizar un amplio conjunto de servicios de consulta, petición y

MANUAL DE USUARIO TARIFICADOR SIPTAR Y REPORTES SIPTAR.

ServiceDesk Clientes 25/04/2013

Manual de software. Dynamic Cloud. 10/2014 MS-Dynamic_Cloud v1.2

Actualización en módulo NÓMINA

Vetter 5 Sistema de Mutual

Tutoriales sobre Moodle. EOI de Murcia. 0. Instrucciones para el volcado de cursos entre profesores

GedicoPDA: software de preventa

Creación paso a paso de Formularios con Google (Parte I) (AKA: no corrijo nunca más!)

Curso de Spring Framework

Tabla de contenido. Avenida El Dorado Nº Bogotá Colombia T T

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA

CAPITULO IV. HERRAMIENTAS DE CÓDIGO ABIERTO

IV.- ADMINISTRACIÓN ACTUAL DE LOS ACTIVOS FIJOS Manual para la captura de inventarios en la red.

CONFIANZAPDI MANUAL DE USO PARA EL PORTAL DE INTERMEDIARIOS: MÓDULO SOLICITUDES PORTAL DE INTERMEDIARIOS

Oficina Online. Manual del administrador

MICQ. Trabajo Práctico Final Seminario de Ingeniería en Informática I Facultad de Ingeniería, UBA. Junio Cátedra: Pablo Cosso

KW x hora. on/off

Transcripción:

UNIVERSIDAD DE BUENOS AIRES FACULTAD DE INGENIERÍA Documentación de Motivación del Proyecto JMit Java Monitoring by Introspection Tool Alumnos: 84.264 86.097 Tutor: Wachenchauzer, Rosa Graciela

Indice Objetivo... 3 A quién va dirigido JMit?... 3 Presentación del Problema... 3 Aplicando monitores utilizando POA... 3 JMit... 4 Visualización... 5 Aplicaciones en simultáneo... 5 Maven... 6 Página 2 de 6

Objetivo El objetivo de esta herramienta es simplificar el monitoreo de aplicaciones escritas en lenguaje Java. Brinda al equipo de trabajo de las mismas, herramientas que permiten conocer su estado en todo momento. Además permite agregar o quitar opciones de monitoreo en forma declarativa y limpia. A quién va dirigido JMit? Esta herramienta está dirigida a personas con conocimiento técnico de la aplicación que se desea monitorear. La misma debe estar desarrollada sobre la plataforma Java, y es necesario conocer y poseer su código fuente. La herramienta está diseñada no solo para ser directamente utilizada, sino que también, cada uno puede extenderla según sus necesidades. Presentación del Problema En la actualidad, durante el desarrollo de un software, es necesario tener conocimiento del estado del sistema (valores que está manejando, tiempos de cargas, etc.), pero esto no es un problema trivial. Es necesario conocer de antemano cuales son los controles que se quieren aplicar sobre la aplicación. Asimismo, aplicar dichos controles implica escribir código de control junto con el código de la aplicación (mezclando incumbencias). Esto trae varios problemas aparejados: Mayor esfuerzo en horas hombre: el código debe ser desarrollado por las mismas personas que están desarrollando la aplicación. Mezclar incumbencias: el código de aplicación se mezcla con el código de control. Conocer de antemano los controles que se deben realizar: estos deben ser desarrollados al momento que se desarrolla la aplicación, de lo contrario implicaría introducir nuevo código en funcionalidad que puede estar cerrada. Implica que, cuando la aplicación esté lista para ser puesta en producción, habría que quitar todo este código de control, con el problema de no saber exactamente donde está, e incluso la posibilidad de introducir errores (es necesario sacarlo, porque reduce innecesariamente la performance de la aplicación). Incluir un nuevo tipo de control sobre el código de una aplicación ya en producción implicaría modificar el código original, debiendo iniciar un proceso de cambio en el proyecto: desarrollo, testing, etc. Aplicando monitores utilizando POA Mediante la utilización del paradigma de aspectos, varios de estos problemas son resueltos. Monitorear la aplicación ya no implica mezclar incumbencias: Estas funcionalidades transversales (cross cutting concerns) se desarrollan de forma modular separados del código original, lo que resuelve el problema. Cuando se deseen quitar estos aspectos es tan simple como indicarlo en un archivo de configuración, ya no es necesario tocar el código original para esto. Hasta cierto punto se resuelve el problema de conocer de antemano los controles que se quieran realizar. Por ejemplo, si se quisiera monitorear algo de una aplicación que se encuentra productiva, esto no implicaría modificar el código original de la aplicación, sin embargo, sí es necesario desarrollar el código del aspecto para ese tipo de monitoreo, Página 3 de 6

probarlo, etc. Introducir un error en el código de monitoreo implica introducir un error en la aplicación. Sin embargo, con esta solución todavía es necesario dedicar horas hombre del proyecto para el desarrollo del código de aspectos del monitoreo. Es necesario contar con recursos que tengan conocimiento del paradigma y probablemente sea necesario incluir un framework para tal desarrollo, como podría ser AspectJ o Javassist. JMit Para resolver los problemas antes planteados, se construyó la herramienta JMit, Java Monitoring by Introspection Tool. La misma permite monitorear aplicaciones sin necesidad de introducir código para ello. Entre sus prestaciones permite: Definir mediante un archivo de configuración XML los distintos tipos de monitoreo, y donde se aplicarán los mismos. Definir distintos tipos de monitoreo para cada etapa del sistema (Por ejemplo: desarrollo, testing, producción, etc). Utilizar diferentes modos de visualización de los monitoreos aplicados. Programar alarmas ante eventos definidos por el usuario (por ejemplo, enviar un mail ante cierto valor de un atributo). Para esto, JMit no modifica el código original de la aplicación a monitorear, sino que agrega comportamiento mediante aspectos en tiempo de compilación. Página 4 de 6

Por cómo está diseñado este sistema, permite la construcción de nuevos tipos de monitoreo, implementados según los intereses de quien utilice la herramienta. Visualización La herramienta tiene varios módulos que permiten visualizar el estado actualizado de los monitores aplicados. Aquí se tiene en cuenta lo indicado en el archivo de configuración: Alarmas, rangos de valores normales y anormales, etc. Si bien se desarrollaron 3 módulos de visualización para los monitores estándar de JMit, la arquitectura contempla la posibilidad de que cada usuario pueda implementar una visualización distinta según sus necesidades, tipos de monitoreo, etc., incluso pueden existir más de un módulo de visualización al mismo tiempo mostrando el estado de las aplicaciones. Aplicaciones en simultáneo JMit permite unificar la visualización de los estados de las aplicaciones monitoreadas. Podría tratarse de solo una o de varias aplicaciones en simultáneo. Esto es útil para los casos en los que un usuario quiere monitorear más de una aplicación, todas ellas reportarán su estado a un mismo MonitorEngine. Página 5 de 6

Maven Para simplificar la utilización de esta herramienta, se desarrolló un plugin de Maven, que permite, con el simple agregado de unas líneas en el pom del proyecto, integrar de forma limpia el monitoreo con la aplicación original. De esta forma los desarrolladores del sistema no deben preocuparse de ninguna manera por el monitoreo durante la construcción del proyecto. Página 6 de 6