Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf ·...

144
GESTIÓN REMOTA DE SERVIDORES DE BASES DE DATOS Rafael Angelico Oswin Ondarza Tutor: Hugo Morales Caracas, Julio 2001. Universidad Metropolitana Facultad de Ingeniería Escuela de Ingeniería de Sistemas

Transcript of Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf ·...

Page 1: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

GESTIÓN REMOTA DE SERVIDORES

DE BASES DE DATOS

Rafael Angelico

Oswin Ondarza

Tutor: Hugo Morales

Caracas, Julio 2001.

Universidad Metropolitana Facultad de Ingeniería Escuela de Ingeniería de Sistemas

Page 2: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

DERECHO DE AUTOR

Cedemos a la Universidad Metropolitana el derecho de reproducir y

difundir el presente trabajo, con las únicas limitaciones que establece la

legislación vigente en materia de derecho de autor.

En la ciudad de Caracas, a los doce días del mes de julio del año dos

mil uno.

_____________________ _____________________

Rafael Angelico Oswin Ondarza

I

Page 3: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

APROBACIÓN

Consideramos que el Trabajo Final titulado

GESTIÓN REMOTA DE SERVIDORES

DE BASES DE DATOS

elaborado por los ciudadanos

RAFAEL ANGELICO

OSWIN ONDARZA

para optar al título de

INGENIERO DE SISTEMAS

Reúne los requisitos exigidos por la Escuela de Ingeniería de Sistemas de

la Universidad Metropolitana, y tiene méritos suficientes como para ser

sometido a la presentación y evaluación exhaustiva por parte del jurado

examinador que se designe.

En la ciudad de Caracas, a los 12 días del mes de julio del año 2001.

____________________

Ing. Hugo Morales

II

Page 4: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

ACTA DE VEREDICTO

Nosotros, los abajo firmantes constituidos como jurado examinador y

reunidos en Caracas el día ________________________, con el propósito de

evaluar el trabajo final titulado

GESTIÓN REMOTA DE SERVIDORES

DE BASES DE DATOS

presentado por los ciudadanos

RAFAEL ANGELICO

OSWIN ONDARZA

para optar al título de

INGENIERO DE SISTEMAS

emitimos el siguiente veredicto:

Aprobado__ Notable__ Sobresaliente__

Sobresaliente con Mención Honorífica__

Observaciones:_______________________________________________________

____________________________________________________________________

__________________ ___________________ __________________

Hugo Morales Ricardo Strusberg Lucia Cardoso

III

Page 5: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

DEDICATORIA

-A Raffaele, Norka,

Pedro y Vero-

Rafa

-A Gloria, Alex,

Pio y Mariana-

Ticky

IV

Page 6: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

AGRADECIMIENTOS

A Susana Romagni y Hugo Morales, por apoyarnos en los

momentos más difíciles de este último año.

A Ricardo Strusberg “linux-man”, por apoyarnos en el

desarrollo de esta investigación.

A José Vicente Núñez “Dark Angel”, por ser nuestro guía en la

realización de este trabajo.

A nuestras familias, por todo el apoyo que nos dieron a lo largo

de nuestra carrera.

A EL UNIVERSAL por facilitarnos una gran parte de la

bibliografía y por permitirnos monitorear sus servidores.

A Luna, por la compañía brindada cada día de trabajo.

A todos nuestros amigos que siempre estuvieron con nosotros.

A todos, mil gracias.

V

Page 7: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

TABLA DE CONTENIDOS

LISTA DE TABLAS.................................................................................................. 1

LISTA DE FIGURAS ............................................................................................... 2

RESUMEN ................................................................................................................. 4

INTRODUCCIÓN ..................................................................................................... 5

CAPÍTULO I .......................................................................................................... 9

MARCO DE REFERENCIA ................................................................................. 10

1. MONITOREO .................................................................................................. 10

1.1. ¿QUÉ ES MONITOREO?................................................................................. 10 1.2. CONCEPTOS ASOCIADOS Y TERMINOLOGÍA................................................ 12 1.3. DEFINIENDO UN MODELO DE MONITOREO GLOBAL................................ 13

1.3.1 Generación de Información de Monitoreo........................................14 1.3.2 Procesamiento de Información de Monitoreo ................................18 1.3.3 Distribución de la Información de Monitoreo................................21 1.3.4 Presentación de la Información de Monitoreo...............................22

2. MONITOREO EN BASES DE DATOS..................................................... 22

2.1. MEMORIA Y CPU.......................................................................................... 23 2.2. QUERIES ......................................................................................................... 24 2.3. TRANSACCIONES............................................................................................ 25

3. BALANCEO DE CARGAS ............................................................................ 26

3.1. ASIGNACIÓN DE CARGAS DE TRABAJO........................................................ 27 3.2. ARQUITECTURA DE LOS SISTEMAS DE BASE DE DATOS PARALELOS ..... 28 3.3. TÉCNICAS DE BALANCEO DE CARGAS......................................................... 31 3.4. ESTRATEGIAS PARA EL BALANCEO DE CARGAS........................................ 31 3.5. PARTICIONES DE DATA................................................................................ 33

4. DISPOSITIVOS MÓVILES...................................................................... 33

4.1. GENERANDO INFORMACIÓN PARA DISPOSITIVOS MÓVILES ................ 34 4.1.1 Poder Computacional .....................................................................35 4.1.2 Consumo de Poder ..........................................................................37 4.1.3 Capacidad de Presentación................................................................38 4.1.4 Comunicación........................................................................................39

5. XML Y SUS EXTENSIONES................................................................... 40

5.1. INTRODUCCIÓN A XML................................................................................. 40 5.2. XSL (EXTENSIBLE STYLESHEET LANGUAGE) ........................................... 41 5.3. PARSEADOR XML...................................................................................... 42

VI

Page 8: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

5.4. JAVA Y XML.................................................................................................. 42

CAPÍTULO II ...................................................................................................... 43

DESARROLLO DE LA HERRAMIENTA ......................................................... 44

1. ANÁLISIS DE REQUERIMIENTOS ..................................................... 47

1.1. ELABORACIÓN DE CASOS DE USO DE ALTO NIVEL.................................. 47 1.2. ELABORACIÓN DE LOS CASOS DE USO EXPANDIDOS................................. 51 1.3. MODELO CONCEPTUAL O MODELO DEL MUNDO........................................ 63 1.4. ESPECIFICACIÓN INICIAL DE LA INTERFAZ DE USUARIO.......................... 67

2. DISEÑO DEL SISTEMA............................................................................... 69

2.1. ARQUITECTURA DE LA HERRAMIENTA........................................................ 70

3. DISEÑO DETALLADO ................................................................................. 76

3.1. DISEÑO DEL DIAGRAMA DE CLASES............................................................ 76 3.2. ELABORACIÓN DE LOS DIAGRAMAS DE SECUENCIA.................................. 79 3.3. DISEÑO DE LA BASE DE DATOS.................................................................... 81 3.4. INTERFAZ GRÁFICA DE USUARIO................................................................. 83

4. IMPLEMENTACIÓN Y PRUEBAS........................................................ 86

4.1. MÓDULO DE GENERACIÓN .......................................................................... 88 4.2. MÓDULO DE PROCESAMIENTO.................................................................... 89 4.3. MÓDULO DE DISTRIBUCIÓN ........................................................................ 92 4.4. MÓDULO DE PRESENTACIÓN........................................................................ 94

MODELO DE BALANCEO DE CARGAS SEGÚN EL MONITOREO REALIZADO .......................................................................................................... 102

CAPÍTULO III .................................................................................................. 110

RESULTADOS...................................................................................................... 111

CONCLUSIONES................................................................................................. 117

RECOMENDACIONES....................................................................................... 119

BIBLIOGRAFÍA.................................................................................................... 121

APÉNDICE A: DIAGRAMAS DE SECUENCIA............................. 124

APÉNDICE B: TECNOLOGÍAS.............................................................. 130

LINUX................................................................................................................... 131

ORACLE............................................................................................................... 133

JAVA...................................................................................................................... 135

VII

Page 9: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

1

LISTA DE TABLAS

Tabla 1. Poder computacional......................................................................35

Tabla 2. Propiedades de presentación.........................................................39

Tabla 3. Lista de posibles conceptos u objetos dentro del dominio de la Herramienta de monitoreo..........................................................65

Tabla 4. Lista de candidatos a métodos.......................................................66

Tabla 5. Lista de candidatos a atributos.....................................................67

Page 10: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

2

LISTA DE FIGURAS

Figura 1. Modelo de administración de sistemas........................................11

Figura 2. Generación de reportes y trazas de monitoreo............................14

Figura 3. Procesamiento de los reportes de monitoreo...............................19

Figura 4. Arquitecturas de sistemas de bases de datos paralelos..............30

Figura 5. Comparación de capacidad de memoria......................................36

Figura 6. Comparación de capacidad total de almacenamiento.................38

Figura 7. Caso de uso de alto nivel de la herramienta de monitoreo.........49

Figura 8. Caso de uso expandido de monitoreo...........................................58

Figura 9. Caso de uso expandido de Reportes de Desempeño....................61

Figura 10. Casos de uso expandidos de la herramienta de monitoreo.......63

Figura 11. Top-down de pantallas...............................................................69

Figura 12. Arquitectura 3-capas. Distribución de las capas a través

de la red.......................................................................................71

Figura 13. Arquitectura de una aplicación Web. .......................................72

Figura 14. Módulos de Monitoreo dentro de una Arquitectura de

Aplicación WEB..........................................................................75

Figura 15. Diagrama de clases del sistema.................................................78

Figura 16. Diagrama de secuencias elaborado para el escenario Monitoreo por Petición.................................................................80

Figura 17. Diagrama de entidad de relación de la herramienta de monitoreo................................................................................82

Figura 18. Pantalla de autenticación...........................................................83

Figura 19. Menú principal. ..........................................................................84

Figura 20. Menú de Monitoreo de Memoria................................................85

Figura 21. Rendimiento de CPU del 16/05/2001. .......................................90

Figura 22. Módulo de generación y módulo de procesamiento...................91

Figura 23. Módulo de distribución y su interacción....................................93

Figura 24. Archivo de propiedades..............................................................94

Page 11: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

3

Figura 25. Proceso de generación del archivo producto..............................95

Figura 26. Diferentes tipos de dispositivos realizando peticiones.............96

Figura 27. Archivo XML para el menú monitoreo......................................97

Figura 28. Archivo XSL para Palm Pilot.....................................................97

Figura 29. Archivo XSL para formato HTML.............................................98

Figura 30. Archivo XSL para WAP..............................................................99

Figura 31. Presentación HTML...................................................................99

Figura 32. Presentación Palm Pilot.............................................................99

Figura 33. Presentación WAP......................................................................99

figura 34. SPMD.........................................................................................104

Figura 35. Proceso del Distribuidor...........................................................108

Figura 36. Resultados del Monitoreo por Petición....................................113

Figura 37. Resultados de los Reportes de Desempeño..............................114

Figura 38. Reportes de Desempeño a través de los dispositivos..............115

Page 12: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

4

RESUMEN

GESTIÓN REMOTA DE SERVIDORES DE BASES DE DATOS

Autores: Rafael Angelico Oswin Ondarza Tutor: Ing. Hugo Morales Caracas, Julio 2001.

El objetivo del siguiente trabajo especial de grado es diseñar y desarrollar una herramienta Web de gestión de servidores de base de datos orientada al monitoreo, utilizando para ello dispositivos remotos. La herramienta busca ofrecer una visión única del contenido, sin importar el tipo de dispositivo que realiza las peticiones. Para lograr el objetivo anteriormente planteado, se investigó sobre servidores de bases de datos, en particular sobre el monitoreo de desempeño de los servidores y, con base a los hallazgos de la búsqueda, . se investigó sobre el balanceo de cargas en servidores de bases de datos. De igual manera se estudiaron las diferentes tecnologías en dispositivos móviles PDA y celulares, así como XML como estándar de desarrollo y sus posibles extensiones para la elaboración de la herramienta. El desarrollo de la herramienta Web de gestión de servidores de base de datos orientada al monitoreo se llevó a cabo utilizando la metodología orientada a objetos basada en la notación UML (Unified Method Language). Una vez cubiertas las fases de análisis y diseño, se inició la implementación de la herramienta en cuestión, utilizando como lenguaje de programación: XML para especificar el contenido y la estructura de la información, XSL para crear la presentación por tipo de dispositivo y Java para las funcionalidades de la herramienta. Como resultado se logró crear una herramienta que permite a los administradores de base de datos la supervisión de los recursos y tareas que los servidores manejan, a través de cualquier tipo de dispositivo y sin importar el lugar en donde se encuentren. Por último se presenta un modelo heurístico de balanceo de cargas, basado en los factores críticos del monitoreo realizado por la herramienta.

Page 13: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

5

INTRODUCCIÓN

El objetivo que se persigue con la gestión de servidores de base de

datos, es ofrecer a los usuarios el acceso eficaz y eficiente a cualquier tipo

de datos, acorde a sus requerimientos y a la plataforma tecnológica

habilitada para tales funciones.

El proceso puede dividirse en tres fases

?? Estimación del desempeño

?? Medida del desempeño

?? Mejoras al desempeño.

De dicho proceso, se cubre de manera exhaustiva la fase medida del

desempeño, dados los objetivos planteados en la presente investigación.

Esta fase, también conocida como monitoreo, consiste en la recolección,

interpretación y presentación, en forma dinámica, de la información

relacionada con el desempeño de un servidor de base de datos. Su

finalidad es verificar el funcionamiento del proceso y facilitar la toma de

decisiones en cuanto a los posibles ajustes que deban hacerse para lograr

el o los objetivos de la plataforma solución.

Sin excepción, los esfuerzos en cuanto al monitoreo de servidores

de base de datos deben abarcar las diferentes estructuras físicas y lógicas

asociadas a los procesos del manejador, tales como el CPU, la memoria

utilizada y las transacciones que se están realizando, entre otros. De igual

manera, es necesario supervisar el ambiente en donde opera el manejador

de base de datos, el cual pudiera, directa o indirectamente, afectar su

funcionamiento, incluyendo el sistema operativo y las tareas asociadas a

Page 14: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

6

él, como también el de algunos componentes, tales como los relativos a la

red en donde se llevan a cabo las operaciones.

En ocasiones, el proceso de supervisión de los servicios puede verse

afectado, porque los encargados del manejo de esta tecnología están

ubicados en zonas geográficas distantes de los servidores que brindan los

servicios. De allí la necesidad de diseñar y desarrollar una herramienta de

gestión de servidores de base de datos orientada al monitoreo, utilizando

para ello dispositivos remotos, objetivo que se plantea para los fines del

presente trabajo especial de grado.

Para facilitar los procesos de comunicación se establece como medio

de operaciones la WWW (World Wide Web), generando una sola

especificación del contenido y diferentes presentaciones, dependiendo del

tipo de dispositivo que realiza la petición. De esta manera se pretende

establecer un ambiente homogéneo de trabajo, evitando así la creación y

mantenimiento de múltiples versiones de la herramienta.

Para cumplir con el objetivo planteado anteriormente, se utiliza el

lenguaje de programación XML, modelo basado en el diseño, transmisión

y acceso Web, que separa el contenido y la estructura de la información de

la presentación de la misma.

Además del uso de XML, es necesario el uso de otras extensiones de

éste, como XSL para crear la presentación por tipo de dispositivo y Java

para las funcionalidades de la herramienta. Para el desarrollo de la

herramienta se utiliza la metodología orientada a objetos basada en la

notación UML (Unified Method Language).

Page 15: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

7

El modelo heurístico de balanceo de cargas basado en los factores

críticos de desempeño, realizado por la herramienta, pretende mejorar el

funcionamiento de los distintos procesos que el servidor de base de dato s

realiza.

El trabajo especial de grado está estructurado como sigue: el capítulo

I presenta el marco teórico referencial que envuelve el contexto de la

investigación realizada. En este capítulo se presenta un modelo genérico

de monitoreo, a p artir de las actividades principales realizadas en el

proceso (generación, procesamiento, distribución y presentación de la

información de monitoreo). También se describen los elementos más

importantes en cuanto al desempeño de un servidor de base de datos,

además de analizar algunas investigaciones sobre el balanceo de cargas en

bases de datos paralelos. Por último, se exhiben los hallazgos en cuanto a

las capacidades que existen actualmente con los dispositivos remotos y

con XML y sus extensiones.

El capítulo II presenta de forma detallada el proceso de desarrollo de

la herramienta de monitoreo de servidores de base de datos. Para ello, se

inicia el capítulo con la presentación de una visión general de la

metodología implementada y luego se plantean los resultados de algunas

investigaciones, hallazgos y consideraciones que permiten definir los

requerimientos de la herramienta. Seguidamente, se presenta un análisis

del diseño y desarrollo e implementación del sistema, para finalizar el

capítulo con la presentación de un Modelo de Balanceo de Cargas según el

modelo realizado.

En el capítulo III se presentan los resultados obtenidos, una vez

finalizado el trabajo de investigación. Se inicia la presentación con la

Page 16: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

8

descripción de las principales características de la herramienta de

monitoreo y las salidas que genera la misma, para finalizar con las

conclusiones y recomendaciones, una vez concluida la investigación.

Page 17: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

9

CAPÍTULO I

Page 18: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

10

MARCO DE REFERENCIA

1. MONITOREO

Según Van Riek (1993), entender un sistema es una “ciencia que a

veces significa poder predecir el comportamiento del mismo” (p. 4). Sin

embargo, con sistemas complejos como es el caso de los manejadores de

base de datos, esto pudiera no ser posible, por lo que una meta más real y

menos ambiciosa consistiría en conocer, al menos, qué es precisamente lo

que está pasando con el sistema.

Las ventajas de conocer qué está ocurriendo con un sistema son

considerables. En efecto, se puede “controlar su comportamiento y además

poder tomar decisiones en cuanto a la administración del sistema”

(Mansouri y Sloman. 1995, p. 3).

A continuación se presenta un modelo genérico de monitoreo en

términos de generación, procesamiento, distribución y presentación de la

información.

1.1. ¿Qué es Monitoreo?

Monitoreo puede ser definido como el “proceso dinámico de

recolección, interpretación y presentación de información concerniente a

objetos o procesos realizados por cualquier software durante su

desempeño” (Joyce y otros. 1987, p. 121). Este proceso es necesario por

diferentes razones, entre ellas, las actividades de administración de

recursos, rendimiento del servidor, configuración y seguridad de las

Page 19: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

11

transacciones. Para lograr estos objetivos, el comportamiento del sistema

es observado y la información de monitoreo es recopilada. Esta

información es utilizada para la toma de decisiones en cuanto a la

administración del sistema y para llevar a cabo las acciones de control

necesarias en el sistema En la Figura 1 se puede observar el modelo de

administración de sistema realizado por Mansouri y Sloman (1995) que,

por ser recursivo, permite realizar acciones de control al mismo monitoreo.

Figura 1. Modelo de administración de sistemas

Existen diferentes problemas asociados con el monitoreo:

?? “Retrasos en la transferencia de la información donde es generada

al lugar o persona que la usará, lo cual significa que la información

puede ser innecesaria para el momento de su llegada” (Mansouri y

Sloman. 1995, p. 7).

?? Retrasos continuos al momento de reportar los eventos, pudiendo

causar que éstos se presenten en el orden incorrecto, lo que obliga a

implementar algún tipo de reloj que pueda ordenar la información.

?? “Competencia por recursos con el sistema al cual monitorea,

modificando así su comportamiento” (Van Riek y otros.1993, p. 16).

Toma de Decisiones

Control

Sistema a Administrar

Monitoreo

Page 20: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

12

Según Feldkuhn y Erickson (1989), para lograr superar estos

problemas es necesario diseñar un sistema de monitoreo basado en sus

funciones generales, como son la generación, procesamiento, distribución y

presentación de la información.

1.2. Conceptos asociados y terminología

Mansouri y Sloman (1995) consideran el monitoreo como un proceso

basado en objetos; por lo tanto, es preciso definir un objeto a ser

administrado como cualquier componente de hardware o software cuyo

comportamiento puede ser controlado por un sistema. El objeto encapsula

su comportamiento detrás de una interfaz que posee la información vital

para propósitos de monitoreo. Por este motivo, el concepto de

encapsulamiento en los sistemas actuales causa problemas a los sistemas

de monitoreo, dadas las diversas formas en que se debe acceder a esa

información (Holden, 1989).

El monitoreo puede ser realizado a uno o varios objetos. Cada uno

está asociado a un status y a un grupo de eventos. El status de los objetos

es “una medida de su comportamiento en algún momento en el tiempo y es

representado por diferentes variables de status contenidas en un vector de

status” (Mansouri y Sloman. 1995, p. 10). Un evento es definido como “un

cambio en el estado del objeto en un período de tiempo específico.” (Van

Riek y otros. 1993, p. 10). Usualmente el status del objeto cambia

constantemente: su comportamiento es observado en términos de eventos

resaltantes, llamados eventos de interés. Estos reflejan cambios que son

significativos para la administración, por lo tanto son generados cuando

una serie de condiciones predefinidas son satisfechas. La información de

Page 21: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

13

monitoreo describe el status y eventos asociados con un objeto o grupo de

objetos en desempeño. Esta información puede ser representada en

reportes de status y eventos individuales o reportes secuenciales de esa

información en forma individual o en forma histórica.

El monitoreo temporal es el proceso realizado con la finalidad de

obtener status periódicos del desempeño, proveyendo vistas instantáneas

del comportamiento de los objetos. Por otra parte, el monitoreo por

eventos se basa en la obtención de la información sobre eventos de interés,

el cual brinda una visión dinámica de las actividades del sistema cuando

un cambio significativo ocurre. (Mansouri y Sloman. 1995)

1.3. Definiendo un Modelo de Monitoreo Global

El modelo de monitoreo global, según Feldkuhn y Erickson (1989),

establece cuatro actividades para monitorear:

?? Generación: Eventos importantes son detectados al ser observado el

sistema a administrar y reportes de status y eventos son generados.

Estos reportes son usados para construir trazas de monitoreo, que

representan las vistas históricas del sistema.

?? Procesamiento: Un servicio de monitoreo debe brindar

funcionalidades comunes como combinación de trazas, validación,

actualización y filtración de la información de monitoreo. Debe

convertir cualquiera que sea el nivel de la información a un formato

adecuado y con los detalles necesarios para el usuario.

Page 22: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

14

?? Distribución: Los reportes de monitoreo son distribuidos a los

usuarios, gerentes, o administradores que los requieran.

?? Presentación: La información recolectada y procesada es presentada

a los usuarios en formato apropiado.

1.3.1 Generación de Información de Monitoreo

Los datos del monitoreo son generados en forma de status, y los

reportes de eventos son creados (véase Figura 2). La recolección de estos

eventos es usualmente llamada trazas, debido a que representa la

información que es dejada por la ejecución del programa (Van Riek y

otros, 1993). La secuencia de esos reportes es usada para generar trazas

de monitoreo.

Figura 2. Generación de reportes y trazas de monitoreo

Trazas de monitoreoTrazas de monitoreo

Generaci ón de Trazas

Reportes de MonitoreoReportes de Monitoreo

Reportes de statusReportes de status Reportes de eventosReportes de eventos

Detección de status

Detección de

eventosCriterios para la detección de

eventos

Criterios para la detección de

status

Vector de status

Trazas de monitoreoTrazas de monitoreo

Generaci ón de Trazas

Reportes de MonitoreoReportes de Monitoreo

Reportes de statusReportes de status Reportes de eventosReportes de eventos

Detección de status

Detección de

eventosCriterios para la detección de

eventos

Criterios para la detección de

status

Vector de status

Page 23: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

15

Al momento de ser detectado un evento, “algún tipo de información

asociada con el evento debe ser almacenada” (Van Riek y otros. 1995, p.10)

y es denominado atributo. A continuación se analizan los distintos

reportes de monitoreo

A. Reportes de Status

Estos reportes contienen una serie de valores del vector de status y

pueden incluir otros tipos de datos, como el tiempo de ocurrencia o la

identificación del objeto. Representan el status de una instancia

específica en el tiempo y pueden ser generados como se describe a

continuación:

- De forma periódica. Generados en intervalos predefinidos.

- Por petición. Generados por una petición recibida. Estas

peticiones pueden ser periódicas o en un momento cualquiera.

B. Detección de Eventos y Reportes de Eventos

“Los cambios significativos en el status de un objeto o grupo de

objetos deben ser detectados (eventos de interés)” (Mansouri y

Sloman. 1995, p. 14) . Un evento de interés ocurre cuando una serie

de condiciones predefinidas son satisfechas. Para detectarlo, es

necesario algún tipo de censor que pueda detectar cambios

significativos en los objetos. Cuándo y cómo el detector de eventos se

active, dependerá exclusivamente del sistema de monitoreo.

Page 24: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

16

- Localización del detector de eventos.

El detector de eventos puede ser localizado en dos lugares: en el

objeto en sí mismo y funciona como un proceso de éste, o externa

al objeto, donde un agente externo recibe los reportes y detecta

cambios en el estado del objeto.

- Tiempo en la detección de eventos.

La detección de eventos puede ocurrir de forma inmediata o con

retraso (posterior a la ocurrencia). Por ejemplo, la capacidad del

buffer puede ser monitoreada de forma constante para así

detectar cualquier cambio significativo en el mismo.

Alternativamente, los reportes pueden ser generados,

almacenados y usados posteriormente para detectar cualquier

evento de interés.

- Formato del reporte de eventos.

Luego de ocurrir el evento, un reporte debe ser generado. Debe

contener atributos como un identificador del evento a reportar,

tipo, prioridad, tiempo de ocurrencia, estado del objeto antes y

después de la ocurrencia del evento y otras variables relevantes.

Un reporte preliminar puede ser generado por un objeto que

contenga una cantidad mínima de información de monitoreo. Este

reporte puede ser enviado a otro objeto diferente, el cual puede

generar un reporte más completo.

Page 25: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

17

C. Generación de Trazas

Para poder describir el comportamiento dinámico de un objeto o

grupo de objetos en un período de tiempo, los reportes de eventos y

status son almacenados cronológicamente como trazas de monitoreo.

“Una traza completa contiene todos los reportes de monitoreo

generados por el sistema desde el comienzo de la sesión de monitoreo.

Un segmento de traza es una secuencia de reportes recolectada en un

período de tiempo dado” (Mansouri y Sloman, p. 19).

Una traza puede tener como encabezado información general sobre

el proceso, como el período de tiempo de lectura de la información, la

identificación de los objetos de monitoreo presentados y otros (Van

Rick y otros, 1993). Las trazas de monitoreo, según Feldkuhn y

Erickson (1989) , pueden ser generadas por diferentes motivos:

- Propósitos de almacenamiento y análisis posterior: los reportes de

monitoreo pueden ser necesitados en el futuro para su

procesamiento, análisis y uso, los cuales pueden ser importantes

para propósitos de entonación. Estos archivos de trazas son

llamados usualmente históricos o logs.

- Capacidad de recursos: otra razón para crear estos trazas puede

ser la falta de poder de procesamiento para analizar e interpretar

los reportes de monitoreo a medida que se generan, o limitaciones

al momento de transmitir éstos a un agente externo. Esto ocurre

comúnmente cuando se realiza monitoreo en tiempo real.

Page 26: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

18

- Velocidad de visualización: generación de trazas pueden ser

necesarias cuando el tiempo en que los reportes se reciben y

presentan es muy rápida para ser observada.

El acceso a estos reportes puede ser realizado por demanda,

utilizando una petición al sistema, o de acuerdo a condiciones pre -

establecidas. El acceso por demanda permite que el agente que

procesa los reportes lo haga con los recursos necesarios para

manejarlos, o cuando el tráfico de comunicación es bajo.

1.3.2 Procesamiento de Información de Monitoreo

En esta sección se consideraran algunas actividades de

procesamiento común que pueden ser realizadas con la información

generada. Un servicio de monitoreo “puede ofrecer ciertas unidades de

funcionalidad que pueden ser combinadas de diferentes formas, para

cumplir con los requerimientos de monitoreo”. (Mansouri y Sloman. 1995,

p. 27). La Figura 3 muestra una posible combinación y en ella se puede

observar como las funcionalidades de procesamiento están integradas

frecuentemente y son realizadas en diferentes lugares y etapas.

A. Generación y combinación de múltiples trazas

Para poder brindar diferentes vistas lógicas de las actividades del

sistema monitoreado durante un período de tiempo, las trazas de

monitoreo pueden ser construidas y ordenadas de distintas formas.

Según Feldkuhn y Erickson (1989), los atributos que pueden ser

Page 27: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

19

usados como criterio de selección para determinar cómo las trazas de

monitoreo pueden ser procesadas incluyen los siguientes aspectos:

- Tiempo en el que fueron generados o recibidos.

- Prioridad o tipo de reporte.

- Tipo de objeto al cual el reporte se refiere.

Figura 3. Procesamiento de los reportes de monitoreo

Distribución

Trazas de monitoreo

Generación de múltiples trazas

Reportes de monitoreo

Filtros Criterios de filtros

Validación

Reporte de Validación

Reglas de Validación

Actualización de

B.D.

Trazas de monitoreo globales

Combinación

Trazas de monitoreo

Page 28: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

20

Las trazas de monitoreo pueden ser generadas a partir de reportes de

eventos o estatus, a medida que éstos son creados o combinando los

mismos con trazas ya existentes y utilizando los factores

anteriormente nombrados, como el tipo de traza generada.

Una de las actividades más importantes de un sistema de monitoreo,

según Mansouri y Sloman (1995), es l a combinación de diferentes

trazas de monitoreo. Por ejemplo, el uso de la información de

monitoreo generado por diferentes objetos dentro del sistema, puede

ser utilizado para realizar una sola traza y así representar el

comportamiento global del sistema en un intervalo específico.

B. Validación de Información de Monitoreo

Otra actividad importante de monitoreo consiste en la validación y

chequeo de integridad de la información de monitoreo, a objeto de

asegurarse que el sistema ha sido monitoreado correctamente. Esta

actividad debe ser realizada en diferentes niveles: cuando un reporte

es recibido, su contenido puede ser chequeado para ver si es válido.

Por ejemplo, si la identificación del evento en un reporte es de un

evento esperado, los reportes inválidos, o no esperados, son

descartados. La validación de la información de monitoreo debe ser

realizada antes de actualizar la información en la base de datos. La

validación es realizada de acuerdo a ciertas reglas de validación y

pueden ser generados reportes de validaciones realizadas, por

ejemplo, reportes generados con información inválida en un intervalo

de tiempo específico.(Hofmann, 1992).

Page 29: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

21

C. Actualización de la Base de Datos

La información válida de monitoreo puede ser utilizada para

mantener un modelo del status actual de sistema. Esta puede ser

utilizada por otros usuarios o agentes, a fin de examinar la

configuración del sistema, detectar fallas y aplicar los correctivos

necesarios al sistema.

D. Filtración de la Información de Monitoreo

Un sistema que está siendo monitoreado puede generar grandes

cantidades de información de monitoreo. Esto puede resultar en el

uso excesivo de recursos, como CPU, para la generación, recolección,

procesamiento y presentación de la información de monitoreo.

Además, los usuarios de la información pueden estar expuestos a

una c antidad masiva de i nformación que no pueden comprender.

Filtrar es “el proceso de minimizar la cantidad de data de monitoreo,

para que así los usuarios sólo reciban la data deseada con los niveles

de detalle relevantes para el propósito.”( Mansouri y Sloman, 1995, p.

27). Este proceso también es necesario por medidas de seguridad, ya

que pueden existir algunos usuarios sin autorización para acceder a

alguna información de monitoreo en particular.

1.3.3 Distribución de la Información de Monitoreo

Los reportes de monitoreo generados por los objetos deben ser

enviados a diferentes usuarios del sistema. El destino de los mismos

pueden ser usuarios humanos, otros objetos de monitoreo o entidades de

procesos. Los esquemas de distribución pueden variar de muy complejos a

Page 30: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

22

muy simples. En nuestro caso, el servidor de monitoreo se encarga de

enviar la información a todos los usuarios.

Los clientes de los servicios de monitoreo realizan las peticiones para

recibir los estatus requeridos o los reportes de eventos, registrándose en

el sistema. Cada uno envía su identificación así como los reportes

requeridos. Esta información es utilizada para determinar si el cliente

está autorizado a recibir los reportes requeridos.

1.3.4 Presentación de la Información de Monitoreo

La generación, recolección y procesamiento de la información de

monitoreo debe ser presentada a los clientes en un formato que cumpla

con los requerimientos de la aplicación. Una buena interfaz con el usuario

debe permitirle especificar cómo desplegar la información, así como los

diferentes niveles de abstracción y tiempo de recolección de la misma.

2. MONITOREO EN BASES DE DATOS

Un sistema de base de datos es “un programa que permite a uno o

más usuarios crear y acceder data en una base de datos. El sistema

administra las peticiones de los usuarios (y de otros programas) para que

éstos no necesiten conocer dónde están físicamente localizados los datos.

El sistema se encarga de la integridad de la data (quiere decir que se

asegura que la misma pueda ser constantemente accedida y organizada de

Page 31: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

23

forma consistente) y de la seguridad (asegurarse que sólo los que tengan

los privilegios adecuados puedan accederla” (Giordano 2001, p.1)

Monitorear la base de datos es la única forma de asegurarse que su

desempeño es estable. Aún cuando monitorear el ambiente de la base de

datos pueda revelar fallas críticas en el mismo, lo que se busca,

primordialmente, es descartar al ambiente como factor de problemas de

desempeño.

A continuación se presenta un enfoque de los diferentes aspectos que

deben ser monitoreados en un servidor de base datos y las estadísticas a

ser recolectadas.

2.1. Memoria y CPU

Según Aronoof y otros (1998), el hit ratio es el aspecto más

importante a monitorear en cuanto a memoria se refiere. El hit ratio es la

relación que existe entre las lecturas a memoria y las lecturas a disco. Por

esto, es necesario conocer cuáles son los diferentes tipos de acceso a data

que aumentan o disminuyen el hit ratio total.

La eficiencia del administrador de memoria cache se expresa por el

hit ratio en la base de datos. Diferentes autores coinciden que, en general,

un 90% de hit ratio a las horas pico de trabajo es un nivel aceptable. Esto

quiere decir que cada bloque leído en la memoria cache será leído 9 veces

antes de ser escrito de nuevo en disco (si ha cambiado, sino, simplemente

se remueve la misma).

Las estadísticas a recolectar en cuanto al uso de memoria y CPU

describen como el manejador de base de datos administra las áreas de

Page 32: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

24

memoria. Existe relación entre las estadísticas sobre el procesamiento de

queries y éstas (ya que los queries leen y escriben data en memoria).

Términos

La definición de los términos a utilizar es presentada a continuación:

Bloque: unidad de transferencia de data entre la memoria principal

y disco. Un grupo de bloques de una sección de un espacio de

dirección de memoria forma un segmento.

Buffer: una dirección de memoria principal donde el administrador

de la memoria cache utiliza frecuentemente data leída de disco. El

buffer puede almacenar diferentes bloques. Cuando un nuevo bloque

es necesitado, el administrador de la memoria cache puede descartar

un bloque para remplazarlo con el necesitado.

Piscina de Buffer: una colección de buffers.

Memoria cache: todos lo buffers y piscinas de buffers.

En cuanto a CPU se refiere, es de gran importancia conocer el

desempeño del mismo ya que es la unidad central de procesamiento del

servidor de base de datos.

2.2. Queries

Un query puede ser visto como una pregunta que se realiza al

manejador de base de datos, sólo que éste tiene una estructura formal.

Page 33: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

25

Los queries pueden ser divididos en queries de selección y de acción.

Los primeros realizan consultas de la información, mientras que los

segundos -los de acción-, realizan también operaciones como inserciones,

actualizaciones o eliminaciones de la data almacenada.

Es necesario conocer cuáles son las consultas que son realizadas al

servidor, ya que éstos pueden ocasionar fallas en el desempeño de la base

de datos.

2.3. Transacciones

Las transacciones son secuencias de intercambio de información que

son realizadas para cumplir un propósito específico y asegurar alguna

petición y mantener la integridad de la base de datos.

En una base de datos existen diferentes tipos de transacciones, como

rollbacks 1, los cuales son tratados de forma distintas, dependiendo de cada

manejador.

Adicionalmente a los tipos de monitoreo relacionados con el

manejador de base de datos, es necesario supervisar el ambiente en donde

opera la base de datos. Este ambiente usualmente incluye los

componentes del servidor, así como los componentes de la red en donde

realiza sus operaciones.

Según Gavin (2001), entre los componentes del servidor manejados

por el sistema operativo se encuentra: el uso del CPU, el manejo de

1 Proceso mediante el cual, se deshace algún proceso parcialmente completado, debido a alguna falla en la transacción relacionada.

Page 34: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

26

memoria en la cual se ejecutan todos los procesos (del manejador de B.D. y

externos a éste), las compaginaciones a disco que ocurren cuando el

sistema de memoria virtual escribe páginas de memoria real en el disco ya

que la capacidad de memoria no es suficiente, E/S de red en donde se

maneja el flujo de entradas y salidas de tráfico, colisiones y errores, y las

lecturas y escrituras en disco.

Un sistema que se encargue de monitorear un servidor de base de

datos, debe expandirse para lograr el seguimiento de factores críticos del

servidor a través del tiempo y reportar los mismos para poder realizar

modificaciones necesarias en la configuración del manejador o del

ambiente en el cual se encuentra. Por ejemplo, se puede utilizar una

herramienta de monitoreo que supervise el porcentaje de espacio libre en

las tablas y su crecimiento, y así poder referir reportes de trazas con esa

información y, en un futuro, conocer cuando esas tablas no tendrán la

capacidad de soportar los requerimientos de espacio.

Por lo anteriormente expuesto se puede apreciar que las

herramientas de monitoreo, además de reportar el desempeño y posibles

eventos críticos, también pueden ayudar a “predecir el futuro”.

3. BALANCEO DE CARGAS

Los sistemas de base de datos paralelos deben procesar de forma

efectiva complejos queries en paralelo. Para ello, se hace necesario el

empleo de estrategias de balaceo de cargas que consideren el estado actual

del sistema, para así seleccionar el procesador adecuado para ejecutar los

queries.

Page 35: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

27

El balanceo de cargas necesita un simple modelo, dependiendo de la

arquitectura del sistema de base de datos, y de algunos factores críticos

qué medir y así decidir. Estos factores críticos, como son el uso de

memoria, disco y CPU, se obtienen a través de data estática sobre los

recursos del sistema y su comportamiento. Por ello, estudiamos diferentes

arquitecturas de sistemas de bases de datos en paralelo, como son “nada

se comparte” (Shared Nothing) y “compartir disco” (Shared Disk).

3.1. Asignación de Cargas de Trabajo

El término se refiere a la asignación de las peticiones de cargas,

recursos físicos o lógicos. Dependiendo de la carga o el recurso, deben ser

considerados tipos especiales de problemas de asignación, como son la

asignación de queries o transacciones o asignación de memoria o

procesador. El balanceo de carga se refiere a “la asignación de cargas de

trabajo en sistemas distribuidos donde las peticiones de cargas deben ser

distribuidas entre diferentes nodos de procesamiento”.(Rahm. 1996, p. 2)

Uno de los problemas es encontrar un espacio de memoria que evite

que largos queries monopolicen el espacio de buffer disponible, causando

hit ratios inaceptables para transacciones que se estén realizando en

línea.

Según Rahm (1995), para el procesamiento de bases de datos

paralelas, la asignación de recursos de forma efectiva es uno de los

mayores problemas en balanceo de cargas. Este puede ser aplicado con

diferentes niveles de cargas, dependiendo del nivel de paralelismo. A un

Page 36: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

28

nivel alto, existen inter-transaciones e inter-queries2 con ejecuciones

independientes entre sí. Este es el balanceo de cargas concerniente con la

distribución de transacciones y queries entre nodos de procesamiento.

Paralelismo de queries requiere formas adicionales de balanceo de cargas

para asignar subqueries a los nodos. Por lo tanto, el balanceo de cargas

debe ser dinámico, y las decisiones de asignación deben ser basadas en el

uso del sistema en tiempo real. De no ser así, no se puede lograr un uso

uniforme de todos los nodos debido a las variaciones constantes de los

estados del sistema.

3.2. Arquitectura de los Sistemas de Base de Datos Paralelos

Los Sistemas de Base de Datos Paralelos están comúnmente basados

en múltiples procesadores interconectados por una red local de alta

velocidad. Un soporte efectivo para las inter-transacciones e intra-

transacciones paralelas requiere el uso adecuado de paralelismo de los

dispositivos de E/S y el procesamiento en paralelo. Paralelismo en E/S

debe ser soportado por una asignación de la base de datos a través de

múltiples discos (declustering). Declustering soporta paralelismo de

intra-queries3 leyendo y escribiendo grandes cantidades de data procesada

por un query en paralelo desde ó a múltiples discos. Paralelismo en inter -

transacciones es soportado debido a que las peticiones independientes de

E/S en diferentes discos pueden ser realizadas en paralelo.

2 Ocurre cuando múltiples queries realizados por peticiones de múltiples usuarios pueden ser procesados al mismo tiempo. 3 Ocurre cuando un simple query es dividido en múltiples procesos (sub-queries), para así poder procesarlos en paralelo

Page 37: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

29

Con respecto a procesamiento en paralelo, existen tres grandes

arquitecturas para sistemas de bases de datos en paralelo:

A. Shared Everything (SE Fig. 4a, compartir todo): se refiere al uso de

multiprocesadores para el procesamiento de base de datos. En este

caso, todos los procesadores trabajan en conjunto y comparten una

memoria principal y los dispositivos periféricos. Existe una sola copia

del código del sistema de administración de la base de datos que

puede ser ejecutada e n múltiples procesos para utilizar todos los

procesadores.

B. Shared Nothing (SN Fig. 4b, nada se comparte): estos sistemas

consisten en múltiples elementos de procesamiento, autónomos entre

ellos (EP). Cada uno posee una memoria principal privada y corre

copias separadas del sistema operativo, del sistema administrativo de

base de datos y otros softwares. Comunicación para inter-procesos se

realiza a través de mensajes transmitidos entre los nodos. Un PE

pude consistir en uno o más procesadores, cada nodo en un sistema

SN que puede ser un multiprocesador. La base de datos es repartida

entre los PE para que cada instancia del sistema de administración

de base de datos pueda acceder directamente la data de su partición.

Acceso a data no local, requiere la ejecución de queries distribuidos y

ejecución de transacciones.

C. Shared Disk (SD Fig. 4C, compartir disco): similar a SN, en múltiples

PE trabajando en conjunto. De todas formas, las instancias tienen

acceso a cualquier objeto de data. Se asume que cada nodo tiene

acceso a cualquier disco.

Page 38: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

30

Figura 4. Arquitecturas de sistemas de bases de datos paralelos.

Las tres arquitecturas son soportadas por manejadores de base de

datos comerciales. Implementaciones de SD paralelas incluyen IBM

Database system y Oracle Parallel Server, los cuales soportan su propio

balanceo de cargas.

Procesador 1 Procesador n… Memória Principal 1

Memória Principal n

Red de alta velocidad

a) Compartir todo (SE)

Red de alta velocidad

Proc.

Mem.

Proc.

Mem.

Proc.

Mem.

EP1 EP2 EPn

b) Nada se comparte (SN)

Proc.

Mem.

Proc.

Mem.

Proc.

Mem.

EP1 EP2 EPn

Red de alta velocidad

c) Compartir Disco (SD)

Procesador 1 Procesador n… Memória Principal 1

Memória Principal n

Red de alta velocidad

a) Compartir todo (SE)

Red de alta velocidad

Proc.

Mem.

Proc.

Mem.

Proc.

Mem.

EP1 EP2 EPn

b) Nada se comparte (SN)

Proc.

Mem.

Proc.

Mem.

Proc.

Mem.

EP1 EP2 EPn

…Proc.

Mem.

Proc.

Mem.

Proc.

Mem.

EP1 EP2 EPn

Red de alta velocidad

c) Compartir Disco (SD)

Page 39: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

31

3.3. Técnicas de Balanceo de Cargas

En general, las técnicas de balanceo de cargas se clasifican en:

estáticas, dinámicas y adaptables.

?? Estáticas: las decisiones de balanceo de cargas se toman a partir del

conocimiento previo del sistema y del comportamiento que tendrá con

la asignación de tareas.

?? Dinámicas: utilizan información del estado de rendimiento del

sistema distribuido para así proponer las decisiones de balanceo de

cargas.

?? Adaptables: son una clase especial de balanceo de cargas dinámico,

que tiene la capacidad de auto adaptarse según el comportamiento

del sistema y así poder cambiar las políticas de decisión de acuerdo a

los resultados que se obtengan.

3.4. Estrategias para el Balanceo de Cargas

Las ideas previas muestran que el soporte efectivo de balanceo de

cargas requiere estrategias dinámicas para determinar los procesadores

que consideren los factores críticos, como son CPU, memoria y disco. Para

los cuellos de botella causados por CPU, se pueden usar las

aproximaciones propuestas de acuerdo al uso del CPU y seleccionar los

procesadores menos utilizados para el procesamiento enlazado. Para

determinar el número óptimo de procesadores enlazados, en caso de

existir cuellos de botella por memoria, es necesario considerar la memoria

Page 40: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

32

disponible en cada procesador individualmente. El Balanceo de cargas

dinámico es más complejo para situaciones en las que ocurren ambos

cuellos de botella, CPU y memoria, los cuales afectan a todos los

procesadores (sobrecarga global). Para situaciones de sobrecargas

parciales, cuando sólo algunos procesadores sufren de cuellos de botella,

son más efectivas las estrategias de balanceo de cargas que seleccionan los

procesadores menos utilizados para el procesamiento enlazado

A continuación se presentan diferentes estrategias aisladas,

destacadas en los trabajos realizados por Rahm y Marek (1995) p ara

balanceo de cargas, considerando políticas dinámica que basan sus

decisiones en el uso de CPU actual y la memoria disponible. Para este

propósito, un control de nodos designado es informado periódicamente por

el procesador sobre su utilización actual. Durante la ejecución del query,

información sobre el estado actual del CPU y la memoria es pedido por el

nodo de control para soportar el balanceo de cargas.

?? Aleatoria: esta estrategia selecciona los procesadores de forma

aleatoria. Con RANDOM se espera que las cargas de trabajo sean

repartidas equitativamente a todos los nodos disponibles. Como

RANDOM no considera el estado actual del sistema, representa una

aproximación estática.

?? Procesamiento en procesadores con menos uso de CPU: en esta

aproximación, se seleccionan los procesadores con menor uso de CPU.

Para este propósito, la información sobre los nodos utilizados es

actualizada en el nodo de control, para evitar que próximos queries

enlazados sean asignados a los mismos procesadores.

Page 41: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

33

?? Procesamiento e n procesadores con menor uso de memoria: los

procesos son asignados a los nodos con mayor capacidad de memoria

disponible. Al igual que el anterior, el nodo de control es actualizado

con la información.

3.5. Particiones de Data

Para manejar data en paralelo de forma efectiva, la partición de la

misma debe asegurar tamaños equitativos para los subqueries. En

general, ello resulta una tarea difícil de lograr, debido a que la

distribución de los valores es generalmente poco uniforme para la

partición de los atributos, o porque la selección de los queries tampoco es

uniforme.

La partición resultante puede provocar grandes diferencias en los

tiempos de ejecución de los sub-queries, reduciendo la efectividad de los

intra-queries paralelos (ya que el tiempo de respuesta está determinado

por el sub-query más lento).

4. DISPOSITIVOS MÓVILES

En ocasiones, se dificulta la supervisión de los servicios que brindan

los servidores de base de datos, debido a que los encargados del manejo de

esta tecnología pueden encontrarse en una ubicación geográfica distante.

Page 42: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

34

Por t al motivo, es necesario brindar los servicios de monitoreo a

través de dispositivos móviles, los cuales ofrecen la posibilidad de tener

acceso a diferentes aplicaciones de forma remota.

Estos dispositivos no poseen la misma capacidad que un computador

personal, por lo que se hace necesario conocer las ventajas y limitantes

que éstos poseen, para poder diseñar una herramienta que pueda ser

manejada utilizando estos dispositivos.

Según la revista PC Magazine (Abril 2001), los dispositivos móviles

remotos o inalámbricos son un nuevo reto para los desarrolladores Web,

ya que las aplicaciones a crear deben trabajar de forma óptima p ara

browsers tradicionales así como para estos nuevos dispositivos.

Antes de continuar, se define un dispositivo móvil como

“simplemente un dispositivo computacional que tiene una velocidad de

procesamiento y/o memoria limitada comparado con un servidor o PC.”

(Giguere. 2000, p. 4).

En este capítulo se destaca el impacto de la arquitectura de los

diferentes agentes móviles inalámbricos (PDA, celulares), para el acceso a

la información utilizando como medio la World Wide Web (WWW).

Para ello es necesario que la información presentada en formato web,

pueda ser adaptada a plataformas móviles tomando en cuenta las

restricciones de este ambiente.

4.1. Generando Información para Dispositivos Móviles

Page 43: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

35

Al momento de generar i nformación para dispositivos móviles es

necesario tomar en cuenta una gran variedad de restricciones que existen

en este ambiente, de compararse a las computadoras personales (PC).

Estas restricciones influyen en cuanto a la información y la forma cómo

puede ser presentada la misma en estos dispositivos. Las restricciones

más importantes, según Gaedke y otros (1998, p. 206-210), se presentan a

continuación:

4.1.1 Poder Computacional

Los dispositivos móviles, comparados con las computadoras

personales, poseen una baja velocidad de CPU, lo cual limita su capacidad

de procesamiento y memoria y restringe la capacidad de manejar y

almacenar data no volátil. La tabla 1 muestra una comparación de

velocidad de CPU, memoria RAM y memoria ROM de diferentes PDA que

actualmente se encuentran en el mercado.

Dispositivo Velocidad CPU RAM ROM

3Com PilotIII 17 MHz 2M 2M

Apple MessagePad 20 MHz 2.5M 8M

Compaq C-Series 80 MHz 8M 16M

Casio Cassiopeia 49/80 MHz 4/8M 8M

Tabla 1. Poder computacional . (Fuente: www.saugus.net/PDA)

En la tabla 2 (página 40 de este trabajo) se puede observar que la

capacidad de memoria de los dispositivos móviles es inferior, de

compararse con la capacidad de un computador personal que puede llegar

a tener alrededor de los 128M o más. A pesar de esto, “los dispositivos

móviles tienen la capacidad de procesar gran variedad de aplicaciones,

como browsers, agendas y otros” (Imielinski y Badrinath. 1998, p. 6). La

Page 44: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

36

Figura 1 muestra la comparación de una memoria RAM de un PC de

64MB y de una Compaq C-Series de 8MB de RAM.

0

10

20

30

40

50

60

70

PC Compaq

Cap

acid

ad d

e M

emo

ria

(MB

)

Figura 5. Comparación de capacidad de memoria

En cuanto a la capacidad de memoria, debemos tomar en cuenta la

capacidad de almacenamiento total de estos dispositivos. Esta es la “suma

de las capacidades de almacenamiento en línea o desconectado del

dispositivo.” La capacidad de almacenamiento en línea (online) es “la

cantidad de memoria disponible para almacenar data de aplicaciones en

procesamiento” y del sistema operativo. Esta se c aracteriza por estar

disponible de forma inmediata y puede o no ser persistente. Esta es la

memoria RAM del dispositivo. La capacidad de almacenamiento

desconectado (offline) es “la capacidad de almacenamiento persistentes de

módulos secundarios”, que se caracterizan por tener un acceso más lento y

normalmente no permiten el almacenamiento de data. Esta es la memoria

ROM del dispositivo. (Giguere. 2000, p. 7).

También se puede o bservar que estos dispositivos funcionan de

forma diferente a un computador personal, ya que utilizan la memoria

RAM para almacenamiento de data volátil como no volátil, a diferencia de

Page 45: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

37

los PC, donde el RAM es utilizado para almacenar memoria volátil

únicamente.

Cuando comparamos la capacidad de almacenamiento total entre

un PC y un dispositivo móvil, la diferencia es más pronunciada. Digamos

que un PC incluye 10 GB de disco duro para almacenamiento. La Figura 6

muestra la diferencia entre ambos dispositivos. El PC pareciera que

tuviera casi infinita capacidad de almacenamiento en comparación con el

PDA.

Aún más resaltante es l a capacidad de memoria de un celular,

donde “500 bytes es una gran cantidad de memoria” (PC Magazine, Abril

2001) para estos dispositivos.

4.1.2 Consumo de Poder

Estudios realizados en estos dispositivos indican que la vida de la

batería y el consumo de poder de los dispositivos es una restricción

esencial en éstos. Según Imielinski y Badrinath (1998, p. 9), se espera que

“la vida de las baterías de estos dispositivos aumente sólo en un 20% en

los próximos 5 años”. Debido a esta restricción, los clientes móviles se

encuentran frecuentemente desconectados, por lo que las actividades en la

web, como envío de correos o consultas a base de datos, se realizan en

forma breve, separados por largos periodos sin conexión

Page 46: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

38

0

2

4

6

8

10

12

PC Compaq

Cap

acid

ad t

ota

l de

alm

acen

amie

nto

(G

B)

Figura 6. Comparación de capacidad total de almacenamiento

4.1.3 Capacidad de Presentación

PDA y otros dispositivos móviles poseen pantallas bastante

pequeñas al ser comparadas con l as que presentan los computadores

personales. Los desarrolladores de aplicaciones Web enfrentan retos

especiales cuando tratan de presentar a los usuarios s u programas a

través de browsers de dispositivos como PDA y celulares. Las limitaciones

en cuanto al tamaño de pantalla son resaltantes debido a que la mayoría

de las páginas HTML son diseñadas para verse en monitores de

computadoras personales. Estas son diseñadas asumiendo que el usuario

puede ver gran cantidad de información de la página al mismo tiempo. En

dispositivos móviles, la pantalla “puede interferir con la comprensión del

usuario y resultando con una mayor actividad de movimiento en sentido

vertical” (Kaljuvee y otros. 2001, p. 6), en ocasión de observar toda la

información. La tabla 2 muestra una comparación de la resolución, y el

tamaño de pantalla de diferentes PDA que actualmente se encuentran en

el mercado.

Page 47: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

39

Dispositivo Resolución Tamaño

3Com PilotIII 160x160 6x6 cm

Apple MessagePad 480x320 12,98x8,32 cm

Casio Cassiopeia 420x240 8x6 cm

Tabla 2. Propiedades de presentación (Fuente: ww

w.saugus.net/PDA)

Además de las restricciones en tamaño y resolución, la mayoría de

los dispositivos móviles sólo soportan gráficos de 2 bits. De allí que

imágenes para browsers de PC deben ser transformadas antes de ser

presentadas (Kaljuvee y otros, 2001).

4.1.4 Comunicación

Cualquier dispositivo móvil debe tener algún tipo de capacidad de

comunicación en red que le permita acceder a data externa y de la misma

forma bajar data a otro tipo de dispositivo, como un PC.

Según Giguere (2000), los dispositivos móviles pueden ser

clasificados en dos grupos, según su tipo de red de comunicación. Un

grupo incluye los dispositivos sin conexión permanente a una red, a los

cuales nos podemos referir como “dispositivos conectados ocasionalmente”.

La mayoría de los PDA soportan comunicación serial con un PC, por

ejemplo, a través de un cargador (o un simple cable) que está

permanentemente conectado a una computadora. El otro grupo incluye

dispositivos con conexión permanente a alguna red de comunicación, a los

Page 48: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

40

cuales nos podemos referir como “dispositivos siempre disponibles”. Estos

dispositivos utilizan algún tipo de comunicación inalámbrica (como

infrarrojo o basada en radio) para intercambiar data, por ejemplo, los

celulares. Algunos dispositivos, como los PDA, pueden ser categorizados

en ambos grupos.

“La comunicación serial básica no es muy rápida, en un rango entre

los 19Kbps a los 33Kbps”. La comunicación inalámbrica por r adio se

encuentra “actualmente entre los 4Kbps a los 19Kbps”. (Giguere. 2000,

p.13).

5. XML Y SUS EXTENSIONES

La reciente proliferación de diferentes dispositivos computarizados,

como PDA y celulares, causan una diversidad equivalente al momento de

desarrollar aplicaciones Web que soporten los diferentes dispositivos.

Como consecuencia de ello, algunos desarrolladores generan diferentes

publicaciones de una misma aplicación, donde cada una soporta un

dispositivo específico.

De allí que diferentes autores afirman que el uso de XML como

herramienta para el manejo de información, es una solución para la

creación de aplicaciones en un ambiente heterogéneo.

5.1. Introducción a XML

Un documento de XML (eXtensible Markup Language) es una unidad

de información que puede ser observada en dos formas: como una

Page 49: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

41

secuencia lineal de caracteres o como una estructura abstracta que es un

árbol de nodos”(Allamaruju y otros, 2001). XML especifica el contenido de

la información y su estructura (Kaplan y Lunn, 2000).

Para cambiar de la secuencia lineal a la es tructura abstracta, es

necesario el uso de un procesador de XML, también conocido como

parseador de XML.

Según McLaughlin (2000), el uso más popular para XML es la

creación de forma separada del contenido y la presentación. Definimos

contenido en “una aplicación como la data que necesita ser mostrada al

cliente y presentación como el formato de la data” (McLaughlin, 2000, p.

15).

Por ser un lenguaje para el manejo de información, es necesario el

uso de estándares asociados para su traducción y especificación. A

continuación se presentan, en forma breve, los diferentes acrónimos de

este lenguaje utilizados en la realización de este trabajo.

5.2. XSL (eXtensible Stylesheet Language)

Permite “transformar y traducir data en XML de un formato a

otro”(McLaughlin. 2000, p. 46). Este provee un mecanismo para definir

diferentes estilos de presentación que evita la duplicación de los

documentos XML para ser presentados diferentes formatos.

Actualmente, clientes utilizan diferentes tipos de browsers en

múltiples sistemas operativos, celulares que soportan WML (Wireless

Markup Language) y PDA que soportan diferentes variantes de HTML.

La ventaja principal del uso de XSL es que permite manejar el contenido

Page 50: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

42

de forma universal en la aplicación, sin importar que tipo de cliente

solicita la misma. La presentación varia dependiendo del tipo de cliente

que realiza la petición.

5.3. Parseador XML

Este componente realiza l a tarea de tomar el documento XML y

asegurarse de que el documento esté bien estructurado, para que así

poder ser procesado y construido el árbol con la información encontrada en

el documento.

5.4. Java y XML

Diferentes autores coinciden en que el uso de Java como herramienta

de desarrollo, junto a XML para el manejo de data, es una buena opción

para aplicaciones orientadas a la Web.

Según Allamaraju y otros (2001), las principales razones son las

siguientes: ambas herramientas soportan diferentes plataformas de

trabajo y están listas para manejo en redes. La creación de clases de Java

que intercambien la data XML a través de componentes y aplicaciones en

una red, es una vía para que ambas herramientas puedan trabajar en

conjunto.

Page 51: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

43

CAPÍTULO II

Page 52: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

44

DESARROLLO DE LA HERRAMIENTA

Este capítulo presenta el proceso de desarrollo de la herramienta de

monitoreo de servidores de base de datos. Por ello, inicialmente se

presenta una visión general de la metodología implementada. Luego, se

plantean las investigaciones, hallazgos y consideraciones que permiten

definir los requerimientos de la herramienta y, por último, se presenta el

análisis y diseño que lleva al logro del objetivo planteado.

El desarrollo de la investigación se lleva a cabo utilizando la

metodología OO (orientada a objetos) basada en la notación UML (Unified

Method Language). El enfoque orientado a objetos da una nueva visión de

análisis y diseño de software. Actualmente, OMT («Object Modeling

Technique») de Rumbaugh, AOO (Object Oriented Design) de Booch y

Objectory de Jacobson, son los métodos orientados a objetos más

utilizados.

El método UML, constituye un signo de madurez en el desarrollo de

software que establece las bases de programación estándar. Esta

metodología ofrece la oportunidad de estar en un continuo ciclo de

mejoramiento del producto final; el ciclo comienza con una fase y termina

con un producto definido, con el cual comienza un nuevo ciclo para su

mejoramiento; así consecutivamente, hasta obtener el producto final

deseado. El producto a desarrollar va incrementado en calidad,

funcionalidad y presentación, de manera que vaya acercándose a lo que se

desea obtener.

Page 53: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

45

El método de desarrollo expone las siguientes etapas, incluyéndose en

cada una de ellas la elaboración de diferentes modelos y diagramas

definidos por el sistema de notación UML:

?? Análisis de requerimientos.

Esta etapa incluye la concepción inicial del proyecto, las

investigaciones preliminares realizadas y la especificación de los

requerimientos. En ella se identifican las siguientes especificaciones:

1. Identificar casos de uso del sistema, los cuales muestran las

distintas operaciones que se esperan de una aplicación o sistema

y cómo se relacionan con su entorno (usuarios u otras

aplicaciones).

2. Dar detalles y describir cada uno de los casos de uso. Especificar

la información de entrada y salida de cada uno de ellos.

3. Desarrollar el modelo del mundo. Esta información se

representa en un diagrama de estructura estática de clases,

donde se identifican las clases, atributos, asociaciones,

mensajes, relaciones de herencia, restricciones del modelo y los

paquetes.

4. Definir una interfaz inicial del sistema, dibujando las pantallas

de interacción para los distintos actores-usuarios en un nivel de

mínimo detalle posible.

Page 54: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

46

?? Diseño del sistema.

En esta etapa se define una subdivisión en aplicaciones del sistema y

la forma de comunicación entre los módulos existentes con los cuales

debe interactuar. En ella se identifica la arquitectura del sistema y se

definen los componentes, las aplicaciones y su ubicación. Una vez

concluido el proceso, se definen los mecanismos de ubicación.

?? Diseño Detallado.

En esta etapa se adecua el análisis a las características específicas

del ambiente de implementación y se completan las distintas

aplicaciones del sistema con los modelos de control, interfaz o

comunicaciones, según sea el caso. En ella se identifican las

siguientes especificaciones:

1. Elaboración del diagrama de clases de implementación (o

diagrama de clases de diseño).

2. Elaboración de los diagramas de secuencia a partir de las clases

definitivas.

3. Desarrollo de modelos de interfaz para enlazar las clases de

interfaz con las clases del modelo del mundo.

?? Implementación y pruebas.

En esta etapa se realiza la programación y desarrollo del sistema. Se

adecuan los estándares de las clases definidas al lenguaje de

programación, así como las pruebas y revisión del código.

Page 55: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

47

Para la elaboración y documentación de los distintos modelos y

diagramas incluidos en la notación del lenguaje de modelado UML, se

emplea la herramienta de modelado visual Rational Rose.

Para las pruebas con los distintos dispositivos se utiliza el emulador

de celular Nokia WAP Toolkit y el de Palm Pilot Palm Emulator OS.

A continuación se presenta el desarrollo de las etapas

anteriormente nombradas.

1. Análisis de requerimientos

Esta etapa const ituye las investigaciones, planteamientos iniciales y

consideraciones desde el punto de vista de la administración y monitoreo

de un servidor de bases de datos, tomando en cuenta un ambiente

heterogéneo para el uso de una herramienta que cumpla con este

propósito.

1.1. Elaboración de casos de uso de alto nivel

Una forma de describir los requisitos iniciales del usuario durante la

etapa de análisis de requerimientos, es construir casos de usos del

sistema, descritos inicialmente por Jacobson en 1987 y actualmente

incorporados a la metodología de desarrollo de software OO basada en

UML.

Un caso de uso está formado por una serie de interacciones entre el

sistema y un actor (una entidad externa, ejerciendo un rol determinado),

que muestra una determinada forma de utilizar el sistema. Cada

Page 56: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

48

interacción comienza con un evento inicial que el actor envía al sistema y

continua con una serie de eventos entre el actor, el sistema y posiblemente

otros actores involucrados.

Siguiendo la metodología de desarrollo expuesta, en la fase de

análisis de requerimientos se determinan los actores principales de la

herramienta de monitoreo, se identifican los casos de uso y se modela la

interacción entre los actores y el sistema, a través de la descripción de los

casos de uso de alto nivel y la construcción del diagrama de casos de uso

para el escenario global de la herramienta.

Primeramente se identifican como actores de la herramienta de

monitoreo el DBA (administrador de base de datos), el administrador del

sistema y el servidor de base de datos.

El DBA es el usuario quién puede realizar los procesos de monitoreo

de las diferentes estructuras físicas y lógicas del servidor de base de datos,

e incluye información de monitoreo actual, reportes de eventos y reportes

históricos, los cuales puede recibir el usuario directamente a través del

dispositivo donde realiza la petición o vía e-mail.

El administrador del sistema, por su parte, además de poder realizar

peticiones de información de monitoreo, se encarga de la configuración de

los procesos para detectar los eventos y el manejo de las alarmas, así

como la administración de la seguridad del sistema. Tal es el caso del

control de acceso de usuarios, manejo de bitácoras e históricos y acciones

referentes al manejo del servidor.

Page 57: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

49

De igual forma, otro actor de la herramienta lo constituye el agente

de tareas quién, de la misma forma que el D BA, realiza procesos de

monitoreo de las diferentes estructuras físicas y lógicas del servidor de

base de datos, de manera periódica a lo largo del tiempo, para detectar

posibles eventos de interés que puedan ocurrir, y así reportar los mismos

a las personas interesadas.

Una vez identificados los actores, se definen los casos de uso de alto

nivel de la herramienta de monitoreo, los cuales describen los procesos de

una forma muy breve y permiten elaborar el diagrama de casos de uso

para el escenario global del sistema. En la Figura 7 se muestra el

diagrama de casos de uso de alto nivel elaborado para el escenario de la

herramienta de monitoreo -escenario que comprende la totalidad del

sistema

Figura 7. Caso de uso de alto nivel de la herramienta de monitoreo

Man ten im ien to de Usua r i os

R e p o r t e s d e D e s e m p e ñ oD B A

Agen te de Ta reas

Admin i s t rado r de l S i s t e m a

M o n i t o r e o

Page 58: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

50

Se identifican los siguientes casos de uso, que modelan la interacción

del DBA con la herramienta:

?? Monitoreo. Este caso de uso consiste en el diagnóstico del

comportamiento de las estructuras del servidor, a través de la

visualización de los diferentes estados de cada uno de los

componentes del servidor de base de datos, como pueden ser CPU,

memoria y otros, así como la configuración de los atributos del

mismo. Además, el manejo de los eventos de interés, realizando

las alertas necesarias para efectuar las acciones correctivas por

parte del DBA.

?? Reportes de Desempeño. Este caso de uso consiste en la

visualización de las diferentes estadísticas generadas por el

sistema, que muestran las acciones realizadas, tales como errores,

notificaciones y otros, además del comportamiento del servidor de

distintas formas, dependiendo del tipo de petición. Estas pueden

mostrarse en forma de históricos, eventos de interés, gráficas u

otros, dependiendo del dispositivo en donde se realiza la petición.

Por otro lado, observamos en la figura 7, como el administrador

del sistema, además de poder realizar el rol del DBA, interactúa

con otro caso de uso de alto nivel de la herramienta de monitoreo,

que se identifica a continuación:

?? Mantenimiento de Usuarios. Este caso de uso consiste en la

configuración y manejo de los diferentes usuarios que intervienen

en el sistema, como el manejo de perfiles y otros aspectos

concernientes a la seguridad del sistema.

Page 59: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

51

1.2. Elaboración de los casos de uso expandidos

Esta fase consiste en el refinamiento de los casos de uso de la

herramienta de monitoreo, a través de la elaboración de los casos de uso

expandidos. Estos últimos describen de una manera precisa la interacción

entre los actores y el sistema, incluyéndose para cada caso de uso una

secuencia típica de eventos, la cual narra paso a paso cómo se realiza esta

interacción.

Una vez especificados los casos de uso de alto nivel de la herramienta

de monitoreo en la fase de análisis de requerimientos, se modela de una

manera más detallada la interacción entre los actores -DBA,

administrador del sistema y agente de tareas- y la herramienta. Para ello,

se proponen como escenarios particulares los casos de uso de alto nivel de

la herramienta de monitoreo y se obtienen nuevos casos de uso a partir de

cada uno de estos escenarios.

Para realizar los casos de uso expandidos, se sigue la documentación

de los casos de uso planteada por Schneider y Winters (1998), como se

detalla a continuación

Nombre del caso de uso: breve descripción del mismo. Usualmente un

párrafo o menos.

Actores: una lista de los actores que se comunican con el caso de uso

planteado.

Prioridad: la importancia del caso de uso para el proyecto.

Page 60: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

52

Precondiciones: una lista de condiciones que deben cumplirse antes

de que el caso de uso se inicie.

Poscondiciones: una lista de condiciones que deben cumplirse cuando

el caso de uso finalice, sin importar que escenario se ejecute.

Casos de uso utilizados: si el caso de uso utiliza otro caso de uso, se

lista.

Pasos del Evento: esto puede ser el camino básico a seguir por el caso

de uso o los caminos alternativos, o el escenario principal.

Según esta documentación, a continuación se presentan los casos de

uso expandidos de la herramienta de monitoreo para el caso de uso de alto

nivel de monitoreo.

?? Monitoreo por petición:

Monitoreo realizado por petición del DBA, para diagnosticar el

desempeño del servidor de Base de datos en un momento dado. El

usuario puede especificar el tipo de estructura física o lógica que

desea monitorear.

Actor: DBA.

Prioridad: Alta.

Precondiciones:

- Autenticación.

Poscondiciones:

- Reporte del monitoreo solicitado

.

Page 61: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

53

Pasos del Evento:

1. El DBA se conecta al sistema introduciendo una dirección URL

2. El sistema despliega la pantalla de autenticación.

3. El DBA realiza la autenticación.

4. Si autenticación Válida:

a) Se despliega menú de opciones según su perfil

b) Se selecciona opción de monitoreo

c) Se despliegan las opciones de monitoreo de Sistema Operativo

o Manejador de Base de Datos

d) Si se selecciona Monitoreo de sistema operativo:

i. Se despliegan las siguientes opciones de monitoreo: uso

de CPU, disponibilidad de memoria, uso de I/O, uso de

memoria SWAP, uso de discos, uso de ancho de banda.

ii. Al seleccionar la opción de monitoreo deseada:

- Sistema realiza la petición de monitoreo

- Se almacenan las acciones realizadas en la bitácora.

iii. Si existe un error se almacena en la bitácora y se

despliega en pantalla, sino:

iv. Se despliega el último reporte de monitoreo realizado

en pantalla.

v. Se despliega la opción para actualizar la información

de monitoreo desplegada.

e) Si se selecciona Monitoreo del manejador de base de datos:

i. Se despliegan las siguientes opciones de monitoreo:

uso de CPU, uso de memorias, uso de I/O,

Procesamiento de Queries, transacciones.

Page 62: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

54

ii. Al seleccionar la opción de monitoreo deseada:

- Sistema realiza la petición de monitoreo

- Se almacenan las acciones realizadas en la bitácora

de sesiones.

iii Si existe un error se almacena en l a bitácora y se

despliega en pantalla, sino:

iv Se despliega el ultimo reporte de monitoreo realizado

en pantalla.

v Se despliega la opción para actualizar la información

de monitoreo desplegada.

?? Monitoreo periódico:

Monitoreo realizado por el agente de tareas, el cual se realiza en

forma periódica para llevar un seguimiento del desempeño del

servidor de base de datos a lo largo del tiempo y detectar eventos de

interés para así notificar los mismos.

Actor: Agente de tareas

Prioridad: Alta

Poscondiciones:

- Estadísticas del desempeño del servidor de base de datos

- Eventos de interés

Casos de uso utilizados:

- Notificación de eventos

Page 63: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

55

Pasos del evento:

1. Agente de tareas realiza petición de monitoreo

2. El sistema realiza petición de desempeño al servidor de base de

datos

3. La información de monitoreo de las estructuras físicas o lógicas

(como uso de CPU, hit ratio, y otros) que se desean consultar

posteriormente en forma de históricos, son almacenados en la

base de datos de la herramienta de monitoreo.

4. Se compara la información de monitoreo generada con los

estándares de rendimientos establecidos.

5. Si ocurre un evento de interés:

a. Se realiza una notificación de evento.

b. Se almacena el evento en la bitácora.

?? Notificación de Eventos:

Al surgir un evento de interés detectado por el monitoreo periódico,

se realizan notificaciones de este evento a los actores interesados en

él, además, se genera un reporte cada vez que ocurra un evento de

interés, el cual es enviado de forma automática por el sistema a las

personas interesadas en dichos eventos.

Actor: DBA

Prioridad: Alta

Precondiciones:

- Monitoreo periódico

- Evento de interés

Poscondiciones:

- E-Mail con reporte del evento

Page 64: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

56

Casos de uso utilizados:

- Monitoreo Periódico

- Reportes de Desempeño

Pasos del evento:

1. Se realiza el reporte del evento de interés.

2. Se verifican los destinatarios interesados en el evento.

3. Se genera el reporte con el siguiente contenido:

a) Atributos del evento de interés (nombre, fecha, valor y otros)

b) Estándares del evento de interés ocurrido

c) Atributos de i nformación de monitoreo relacionado con el

evento.

4. Se envía el reporte del evento de interés vía E-Mail a los

destinatarios.

5. Si existe un error, éste se almacena en la bitácora, sino

6. Se almacena la notificación en la bitácora.

?? Configuración Monitoreo:

En este caso de uso, se configura la frecuencia con la cual se

realizarán los monitoreos periódicos al servidor de Base de datos, así

como los estándares de rendimiento de los diferentes eventos

manejados por la herramienta de monitoreo.

Actor: Administrador del sistema

Prioridad: Baja

Precondiciones:

- Usuario autorizado

Page 65: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

57

Poscondiciones:

- Atributos del monitoreo periódico y estándares de rendimiento

Pasos del evento:

1. El administrador se conecta al sistema introduciendo una

dirección URL

2. El sistema despliega la pantalla de autenticación.

3. El administrador realiza la autenticación.

4. Si autenticación Válida:

a. Se despliega menú con las opciones de administrador

b. Se selecciona la opción de configurar monitoreo

c. Se despliega el menú de opciones

d. Si se selecciona modificar estándares:

i. Sistema despliega los estándares

ii. Se selecciona el estándar que se desea modificar

iii. Se modifica el estándar seleccionado

iv. Se almacenan los cambios en la base de datos

v. Se despliegan los nuevos valores del estándar modificado

e. Si se selecciona configurar frecuencia del monitoreo periódico:

i. Sistema despliega los atributos y frecuencias de

monitoreo

ii. Se selecciona la frecuencia que se desea modificar

iii. Se modifica la frecuencia seleccionada

iv. Se almacenan los cambios en la base de datos

v. Se despliegan la nueva frecuencia y los atributos del

monitoreo seleccionado.

En la Figura 8 se muestra el diagrama de casos de uso expandidos

para el caso de uso de alto nivel monitoreo.

Page 66: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

58

Se identifican los siguientes casos de uso expandidos para el caso de

uso de alto nivel Reportes de Desempeño .

?? Reporte Desempeño del Servidor:

Se reporta el desempeño de las distintas estructuras físicas o lógicas

del servidor de base de datos, dado un intervalo de tiempo deseado.

Ejemplo: una gráfica con el desempeño del uso del CPU durante una

semana u otro intervalo solicitado.

Figura 8. Caso de uso expandido de monitoreo

Actor: DBA

Prioridad: Media

Precondiciones:

- Existencia del intervalo de tiempo en los históricos

Monitoreo por Petición

Agente de Tareas

Monitoreo Periódico

Extiende a

Notif icación de Eventos

DBA Administrador del Sistema

Configuración Monitoreo

Page 67: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

59

Poscondiciones:

- Reportes

Pasos del evento:

1. El DBA se conecta al sistema introduciendo una dirección URL

2. El sistema despliega la pantalla de autenticación.

3. El DBA realiza la autenticación.

4. Si autenticación Válida:

a. Se despliega menú de opciones según el perfil

b. Se selecciona opción de reportes

c. Se selecciona el tipo de reporte deseado

d. Se introduce el intervalo de tiempo deseado para el reporte

e. El sistema recolecta los datos de los históricos dependiendo

del tipo de reporte y el intervalo de tiempo deseado.

f. Se despliega el reporte en pantalla

g. Se despliega la opción para enviar el reporte por E-mail.

Reportes del sistema:

Son los reportes generados a partir de la bitácora del sistema para

consultar el uso de la herramienta.

Actor: Administrador del sistema

Prioridad: Baja

Precondiciones:

- Usuario autorizado

Poscondiciones:

- Reportes del sistema

Page 68: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

60

Pasos del evento:

1. El administrador se conecta al sistema e introduciendo una

dirección URL

2. El sistema despliega la pantalla de autenticación.

3. El administrador realiza la autenticación.

4. Si autenticación Válida:

a) Se despliega menú con las opciones de administrador

b) Se selecciona la opción de reportes de sistema

c) Se despliegan las opciones de reporte las cuales incluye:

i. Reportes de eventos: contiene los eventos de interés

ocurridos a lo largo del tiempo.

ii. Reportes de errores: contiene los errores ocurridos en

el sistema a causa de una operación no realizada o no

completada.

iii. Reportes de Notificaciones: contiene los

destinatarios que recibieron notificaciones de eventos

de interés.

iv. Reporte de Sesiones: contiene información del acceso

de los usuarios al sistema.

d) Se despliega el reporte en pantalla

e) Se despliega la opción para enviar el reporte por E-Mail.

En la Figura 9 se muestra el diagrama de casos de uso expandidos

para el caso de uso de alto nivel Reportes de Desempeño .

Page 69: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

61

Figura 9. Caso de uso expandido de Reportes de Desempeño

?? Mantenimiento de usuarios:

El administrador del sistema crea, modifica o elimina el perfil de los

usuarios, lo cual incluye el manejo de sus datos, clave de acceso y

permisos para el monitoreo o configuración del sistema.

Actor: Administrador del sistema

Prioridad: Media

Precondiciones:

- Usuario autorizado

Poscondiciones:

- Usuarios con su perfil.

Pasos del evento:

1. El administrador se conecta al sistema introduciendo una

dirección URL

2. El sistema despliega la pantalla de autenticación.

3. El administrador realiza la autenticación.

DBAReportes de Desempeño del

Servidor

Administrador del Sistema

Reportes del Sistema

Page 70: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

62

4. Si autenticación Válida:

a. Se despliega menú con las opciones de administrador

b. Se selecciona la opción de mantenimiento de usuario

c. Se despliega menú con las opciones de mantenimiento de

usuarios

d. Si se selecciona crear usuario:

i. Se introducen los atributos del usuario, los cuales

incluyen: nombre, apellido, clave, E-Mail, teléfono.

ii. Se le asigna un perfil de usuario.

iii. Se almacena el usuario creado en la base de datos del

sistema.

e. Si se selecciona modificar usuario:

i. Se despliegan los usuarios existentes en el sistema

ii. Se selecciona el usuario a modificar

iii. Se modifican los atributos o perfil del usuario

iv. Se almacenan los cambios en la base de datos

v. Se despliegan los nuevos valores del usuario

modificado

f. Si se selecciona eliminar usuario:

i. Se despliegan los usuarios existentes en el sistema

ii. Se selecciona el usuario a eliminar

iii. Se desactiva el usuario en la base de datos

La especificación de un caso de uso expandido consiste en agregar al

caso de uso una sección conocida como secuencia típica de eventos, la

cual describe paso a paso la interacción entre el actor (o actores) y el

sistema. De esta forma, se elaboran los casos de uso expandidos para

cada nuevo escenario constituidos por los casos de uso de alto nivel de

la herramienta de monitoreo.

Page 71: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

63

En la figura 10 se presenta la totalidad de los casos de uso de la

herramienta de monitoreo y la interacción entre ellos y con los

actores.

.

Figura 10. Casos de uso expandidos de la herramienta de monitoreo

Figura 10. Casos de uso expandidos de la herramienta de monitoreo

1.3. Modelo conceptual o modelo del mundo

Una de las actividades principales en la etapa de análisis de

requerimientos es la creación de un modelo conceptual (o modelo del

mundo real) para los casos de uso definidos. Para ello, se debe

Monitoreo por Pet ic ión

Notif icación de Eventos

Reportes de Desempeño del Servidor

DBA

Mantenimiento de Usuar ios

Conf iguración MonitoreoReportes del Sistema

Administrador del Sistema

Agente de Tareas

Monitoreo Periódico

Monitoreo por petición

Page 72: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

64

descomponer el sistema en objetos o conceptos individuales y modelar las

relaciones entre los mismos.

Durante la elaboración del modelo del mundo, el modelador se debe

abstraer de aspectos de implementación y sólo enfocarse en reconocer los

conceptos u objetos del mundo relevantes para el sistema que se quiere

construir. Para ilustrar el modelo del mundo se emplea la notación de

diagramas de estructura e stática, provista por el sistema de notación

UML, despreciándose de las operaciones o métodos de los objetos.

Continuando con la metodología propuesta, una vez elaborado el caso

de uso de alto nivel de la herramienta de base de datos, se elabora el

modelo conceptual o modelo del mundo del sistema. Para ello se abstraen

los conceptos más significativos dentro de las descripciones de los casos de

uso y se proponen los mismos como objetos que se incluyen en el modelo

del mundo. Luego se agregan los atributos para cada objeto y se

determinan las relaciones entre objetos. Este modelo se va refinando a

medida que se identifican nuevos conceptos en la etapa de diseño que se

habían considerado anteriormente.

Para identificar los conceptos u objetos significativos a partir de los

casos de uso, se emplea la siguiente estrategia: primero, se identifican los

sustantivos del enunciado del problema y de las descripciones de los casos

de uso, los cuales pasan a ser candidatos a clases de modelo del mundo.

Page 73: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

65

DOMINIO Herramienta de monitoreo

SUSTANTIVOS - DBA, usuario, perfil ? DBA - agente de tareas ? Agente de tareas - administrador ? Administrador de Sistema - Desempeño, Reporte de monitoreo, información de

monitoreo ? Reporte de monitoreo - servidor de Base de datos ? Servidor de base de

datos a ser monitoreado , compuesto de Sistema operativo y Manejador de Base de datos

- Sistema, la herramienta de monitoreo, herramienta., sistema ? Herramienta de monitoreo

- Pantalla, menú, menú de opciones ? Pantalla de opciones (pantalla de autenticación, pantalla de administrador, pantalla de reportes, pantalla de autenticación, pantalla de opciones de monitoreo, etc.)

- opciones, opciones de monitoreo, estructura física o lógica, ? estructuras a monitorear (CPU, Memoria, I/O, memoria SWAP, discos, ancho de banda, Procesamiento de Queries, Transacciones)

- eventos de interés ? eventos de interés - petición de monitoreo, Petición ? Petición de

monitoreo - bitácora, bitácora del sistema ? bitácora - Eventos de bitácora (Errores, sesiones,

notificaciones, eventos de interés) - Estadísticas del desempeño, seguimiento del

desempeño, Históricos ? Históricos de -desempeño

- estándares de rendimientos, estándares ? Estándares

- Reportes de Desempeño - frecuencias de monitoreo, intervalo de tiempo de

monitoreo ? frecuencia de monitoreo - Destinatarios ? Destinatarios interesados en el

evento ocurrido - Notificación

Tabla 3. Lista de posibles conceptos u objetos dentro del dominio de la Herramienta de monitoreo. Fuente: Elaboración propia.

Page 74: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

66

Luego, se identifican los verbos, los cuales forman los posibles

métodos de las clases anteriormente seleccionadas. Para finalizar, se

identifican los adjetivos del enunciado del problema y de los casos de uso,

los cuales forman los posibles atributos de las clases y métodos

seleccionados.

En las tablas 3, 4 y 5 se presenta la lista de posibles conceptos u

objetos obtenidos utilizando esta estrategia.

DOMINIO Herramienta de monitoreo

VERBOS - Monitorear , realizar petición de monitoreo, Diagnosticar: clase Diagnosticador

- Especificar, seleccionar opción: clase pantalla - Autenticar : clase Auntenticador - Conectar: clase Diagnosticador - Desplegar menú: clase Pantalla - Almacenan acciones realizadas, Almacenar error

en bitácora, almacenar eventos en bitácora: clase Bitácora

- Actualizar la información de monitoreo: clase Pantalla

- Realizar monitoreo de forma periódica: clase Agente de Tareas

- Almacenar seguimiento de rendimiento: clase Histórico

- Detectar eventos de interés : clase Estándares - Notificar eventos de interés, Generar notificación:

clase Notificador - Consultar históricos, Consultar datos histórico:

clase Histórico - Verificar destinatarios: clase Notificador - Enviar E-mail: clase Notificador - Crear, modificar, eliminar perfil de usuarios: clase

Gestor de usuarios - Configurar frecuencia: clase Calendario Monitoreo - Modificar estándares: clase Estándar - Generar reportes: clase Generador Reportes

Tabla 4. Lista de candidatos a métodos. Fuente: Elaboración Propia

Page 75: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

67

DOMINIO Herramienta de monitoreo

ADJETIVOS - tipo de monitoreo - tipo de reporte - opciones de monitoreo - opciones del menú - tipo de bitácora - frecuencia de monitoreo - datos del usuario

Tabla 5. Lista de candidatos a atributos . Fuente: Elaboración Propia

Consecutivamente, se elabora una lista por categorías de los

conceptos identificados en los casos de uso de la herramienta de

monitoreo. Estos son resaltados en las tablas 3, 4 y 5.

La elaboración del modelo del mundo constituye un paso importante

en la etapa de análisis de requerimientos de la herramienta de monitoreo.

El modelo conceptual permite descomponer el sistema en conceptos u

objetos individuales y plasmar la manera en cómo se relacionan estos

objetos, permitiendo así depurar la conceptualización del sistema iniciada

durante el desarrollo de los casos de uso.

1.4. Especificación inicial de la interfaz de usuario

Una vez identificados los casos de uso de alto nivel y desarrollado el

modelo del mundo, se posee suficiente información para ir definiendo una

interfaz inicial del sistema, donde se presenta cómo los actores

interactuarán con el sistema que se quiere construir.

De esta forma, para finalizar la etapa de análisis de requerimientos

de la herramienta de monitoreo, se definen las distintas pantallas que

Page 76: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

68

formarán la herramienta y se modela la secuencia de navegación a través

de las mismas. Para esto, se toma en cuenta el rol de los diferentes actores

y los distintos escenarios del sistema, modelados a través de los casos de

uso y los elementos del modelo del mundo.

Se definen las siguientes pantallas a través de las cuales el DBA

interactúa con la herramienta de monitoreo:

?? Autenticación: En esta pantalla, común para el DBA como

para el administrador, el usuario ingresa su E-Mail y su

clave y se despliegan las opciones según su perfil.

?? Monitoreo por petición: En esta pantalla, el usuario

selecciona qué desea monitorear del servidor, para luego

desplegarse el reporte con la información solicitada.

?? Reportes: En esta pantalla, el usuario puede seleccionar

reportes de las diferentes trazas almacenadas a lo largo del

tiempo.

Por otra parte, se identifican las siguientes pantallas a través de las

cuales el administrador interactúa con el sistema:

?? Opciones de Administración: En esta pantalla se despliegan las

opciones de administración, donde se puede seleccionar la

configuración de los tiempos del monitoreo periódico, los

estándares, así como el mantenimiento de usuarios que incluye

la creación, modificación y eliminación de éstos.

Page 77: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

69

Figura 11. Top-down de pantalla

Para modelar la forma cómo se realiza la navegación por las distintas

pantallas de la herramienta de monitoreo, la Figura 11 ilustra un

diagrama de navegación de pantallas o top-down de pantallas.

2. DISEÑO DEL SISTEMA

Una vez finalizada la etapa de análisis de requerimientos de la

herramienta de monitoreo, el siguiente paso es definir una subdivisión en

aplicaciones del sistema (si es lo suficientemente grande) y la forma de

comunicación con los sistemas ya existentes con los cuales debe

interactuar.

Autenticación

Monitoreo por Petición

Sistema Operativo

Manejador de Base de Datos

Reporte de Eventos

Opciones de Administración

Configurar Monitoreo

Reporte de Desempeño

Reportes

Reporte del Sistema

Mantenimiento de Usuarios

Crear Usuario

Modificar Usuario

Eliminar Usuario

Reportes de eventos de interés

(via email)

Autenticación

Monitoreo por Petición

Sistema Operativo

Manejador de Base de Datos

Reporte de Eventos

Opciones de Administración

Configurar Monitoreo

Reporte de Desempeño

Reportes

Reporte del Sistema

Mantenimiento de Usuarios

Crear Usuario

Modificar Usuario

Eliminar Usuario

Reportes de eventos de interés

(via email)

Page 78: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

70

En este sentido, la etapa de diseño del sistema de la herramienta de

monitoreo busca definir componentes del sistema, las aplicaciones y su

ubicación, así como definir los mecanismos de comunicación e ntre los

mismos.

2.1. Arquitectura de la Herramienta

La herramienta fue desarrollada en un ambiente de arquitectura

WEB, cuya principal función es separar la presentación de la lógica de

aplicación, para así poder generar un contenido dinámico de una manera

sencilla y útil. Funciona bajo el modelo de aplicación “cliente/servidor”,

donde hay un servidor en espera de peticiones de múltiples clientes, en

ocasión de prestar diversos servicios de red.

Se implementó esta arquitectura porque la información de

monitoreo, como fue señalado anteriormente, es dinámica. Esto significa

que la información que se genera está en un continuo cambio y se

presenta por medio de la Web a distintos tipos de dispositivos; por este

motivo surge la necesidad de manejar la presentación

independientemente del tipo de dispositivo que realice la petición.

Se implementa una arquitectura WEB de 3 capas, las cuales son:

1. Presentación.

2. Lógica de la aplicación.

3. Data.

La distribución de las capas a través de la red es presentada en la

figura 12.

Page 79: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

71

La capa de presentación es la interfaz gráfica del cliente, la cual

permite realizar peticiones al sistema y recibir la información de forma

adecuada. Su principal responsabilidad es la de presentar la data según el

formato de presentación soportado por el cliente. Esta capa está ubicada

del lado del cliente y consta de los programas que permiten procesar el

formato de presentación requerido, por ejemplo, un explorador WEB ya

sea en un PC o dispositivo móvil.

Figura 12. Arquitectura 3-capas. Distribución de las capas a través de la

red.

La capa de aplicación contiene la lógica de cómo funciona el sistema

y está formada por los programas que realizan el procesamiento de la

información. Su responsabilidad es procesar la data según el

funcionamiento del sistema y así servir de interfase entre la data y la

presentación. Otra funcionalidad muy importante es la de servir de

interfase a otras capas, haciendo así que el sistema tenga una

arquitectura de n-capas. Estas nuevas capas pueden ser otros sistemas o

aplicaciones fuera del sistema que interactúan con éste. Esta capa esta

ubicada del lado del servidor, el cual recibe las peticiones.

Presentación

Aplicación

Data

Cliente HTML Cliente WML Cliente con cualquier otro formato

Interface - Aplicación Interface - Aplicación Interface - Aplicación

Otro Sistema o CapaBase de DatosXML

Conectividad BD

Page 80: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

72

La capa de data es donde se almacena toda la información, ya sea

en bases de datos, archivos de texto, archivos XML u otros formatos. Su

responsabilidad es almacenar y proveer la data de forma eficiente a la

capa de aplicación sin importar el formato o la manera en que esté

almacenada. Esta capa puede estar situada en otro servidor o en

servidores distribuidos de base de datos distintos al servidor de peticiones.

En esta arquitectura, cada capa puede tener un lenguaje de

programación distinto a las otras, sin que se vean afectadas entre ellas.

Además, ello permite que el sistema pueda evolucionar cambiando los

lenguajes o lógicas de una capa sin afectar a la otra o al funcionamiento

del sistema.

Figura 13. Arquitectura de una aplicación Web.

La figura 13 muestra una típica arquitectura de una aplicación

Web, primero se recolecta data de la petición del usuario, luego se envía

una petición al servidor Web; el servidor Web envía la petición al

contenedor de programas para así correr el programa requerido por el

Servidor

Servidor WEB

Cliente Programas del lado del servidor

Aplicación

DBMS

1ra capa

2da capa

3ra capa

Petición

Respuesta

Servidor

Servidor WEB

Cliente Programas del lado del servidor

Aplicación

DBMS

1ra capa

2da capa

3ra capa

Petición

Respuesta

Page 81: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

73

usuario. Después se realiza el empaquetamiento de la data para luego ser

presentada por la aplicación del cliente. Por último, se envía la data para

que la aplicación del cliente la procese y la muestre en el formato

soportado por el cliente.

Componentes de la Arquitectura Web

?? Cliente: el cliente es quién realiza la petición de información al

servidor. Es el usuario en una relación cliente/servidor, quién utiliza

un programa que se encarga de presentar la data en un formato

definido.

?? Petición: el cliente realiza una petición http al servidor para solicitar

algún tipo de servicio o acceso a información. Generalmente la petición

consiste de un URL al que se quiere acceder, el encabezado de la

petición (información del explorador, tipo y tamaño de la petición), y

opcionalmente una forma que envíe variables con información de la

petición.

?? Servidor Web: se encarga de recibir las peticiones del cliente a través

del protocolo http. En caso de que exista una petición de ejecución de

programas, el servidor Web entrega dicha petición al contenedor de

programas.

?? Contenedor: es donde se encuentran y ejecutan los programas de

aplicación del lado del servidor, el contenedor se encarga de ejecutar

los programas de manera correcta. Se comunica con el Web Server

para manejar las peticiones, también tiene comunicación con el

manejador de la data.

Page 82: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

74

?? DBMS: es el manejador de base de datos que contiene la data del

sistema que servirá para brindar información a las peticiones de los

clientes. Un manejador de base de datos es un ejemplo común, pero la

data también puede estar en archivos de texto o archivos XML para

brindar portabilidad entre sistemas y no depender del tipo de

manejador de base de datos.

Módulos de la aplicación

Tomando en cuenta que la herramienta tendrá como función el

monitoreo del rendimiento de desempeño de servidores de base de datos, y

tomando en cuenta el modelo de monitoreo genérico que se presento en el

marco de referencia (página 14), el sistema desarrollado se dividió en 4

módulos: generación, procesamiento, distribución y presentación de la

información de monitoreo.

?? Módulo de generación de información: son todos los procesos de

recolección y generación de información de monitoreo. Eventos

importantes son detectados al ser observado el comportamiento en el

tiempo del servidor a monitorear, y reportes de status y eventos son

generados Esto incluye la conectividad y monitoreo a los servidores de

base de datos para medir su rendimiento y también el almacenamiento

de la información en la base de datos del sistema en forma de

históricos.

?? Módulo de procesamiento de la información: en este módulo se realiza

el procesamiento de la información de monitoreo. Debe brindar

funcionalidades comunes como combinación de históricos, validación,

actualización y filtración de la información de monitoreo, se crean los

Page 83: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

75

reportes, se realizan las comparaciones de desempeño, y otros cálculos

necesarios para el procesamiento de la información de monitoreo.

?? Módulo de distribución: es donde se realiza las distribuciones de las

peticiones según su tipo, y luego de que la petición es atendida se

realiza la distribución de reportes por medio de la Web o correo

electrónico a todos los usuarios interesados.

?? Módulo de presentación: La información recolectada y procesada es

presentada a los usuarios en una forma apropiada, según el tipo de

formato que soporte el dispositivo con que hicieron la petición.

La figura 14 presenta una gráfica en donde se identifica el alcance

de cada módulo dentro de la arquitectura de aplicación Web explicada

anteriormente.

Figura 14. Módulos de Monitoreo dentro de una Arquitectura de Aplicación WEB.

Servidor

Servidor WEB

Cliente Programas del lado del servidor

Aplicación

DBMS

1ra capa

2da capa

3ra capa

Petición

Respuesta

Módulo Presentación

Módulo Distribución

Módulo Procesamiento

Módulo Generación

Servidor

Servidor WEB

Cliente Programas del lado del servidor

Aplicación

DBMS

1ra capa

2da capa

3ra capa

Petición

Respuesta

Servidor

Servidor WEB

Cliente Programas del lado del servidor

Aplicación

DBMS

1ra capa

2da capa

3ra capa

Petición

Respuesta

Módulo Presentación

Módulo Distribución

Módulo Procesamiento

Módulo Generación

Módulo Presentación

Módulo Distribución

Módulo Procesamiento

Módulo Generación

Page 84: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

76

3. DISEÑO DETALLADO

Una vez finalizada la etapa de diseño del sistema de la herramienta

de monitoreo, el siguiente paso es adecuar el análisis a las características

específicas del ambiente de implementación y complementar las distintas

aplicaciones del sistema con los modelos de control, interfaz y

comunicaciones, según sea el caso.

En este sentido, la etapa de diseño detallado de la herramienta de

monitoreo busca identificar las diferentes clases que comprenden las

entidades de software a traducir en un lenguaje de programación OO,

diseñar la interacción entre instancias (u objetos) particulares de las

clases, diseñar la base de datos, definir los diagramas de estados y una

interfaz gráfica que facilite la interacción de los usuarios finales con la

herramienta que se desea construir.

3.1. Diseño del diagrama de clases

Esta fase consiste en identificar las distintas clases que constituirán

el sistema, incluyéndose sus atributos y métodos, como también las

relaciones existentes entre las mismas.

Una clase es una abstracción que describe un grupo de objetos con

propiedades (atributos) comunes, comportamiento (método) común,

relaciones comunes con otros objetos y una semántica común.

Al definir las clases, las relaciones entre ellas, y al asignarles

trabajos a través de las especificaciones de sus métodos, se modela la

arquitectura de un software OO, ya que éste se compone de objetos -o

Page 85: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

77

instancias de clases-, los cuales se comunican entre ellos a través del envío

de mensajes o invocación de métodos, con la finalidad de llevar a cabo los

diferentes procesos.

El modelado de las entidades del software (clases) y de las relaciones

entre las mismas, se realiza mediante la elaboración del diagrama de

clases, descrito inicialmente por Booch. Este diagrama muestra, de una

manera estática, la estructura de información del sistema y la visibilidad

que tiene cada una de las clases, dada por sus relaciones con las demás en

el modelo. Para la elaboración de dicho diagrama se emplea la siguiente

estrategia para identificar las clases, atributos y métodos necesarios:

?? Se obtienen las clases, utilizando los diferentes sustantivos

asociados al e nunciado del problema, junto con el modelo del

mundo planteado anteriormente.

?? Para la identificación de los atributos, se describe cada una de las

clases dentro del dominio del problema, especificando qué tipo de

datos se necesitan saber y posiblemente almacenar en el tiempo.

?? Para la identificación de los métodos, se estudia dentro del

dominio del problema qué actividades deben realizar cada objeto

dentro de una clase y de esta manera se determinan las acciones

de los mismos. Para ello, se utiliza como referencia los

componentes y aplicaciones del sistema identificados en la etap a

de diseño.

?? Se modelan las relaciones entre clases utilizando las asociaciones

del modelo del mundo y la arquitectura del sistema.

Page 86: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

78

Figura 15. Diagrama de clases del sistema

GestorEmai l

FormatoEmail : String

ServidorEmail : String

mensaje : Str ingencabezado : String

mot ivo : Str ing

destinatarios : Array

EnviarEmailconArchivo()EnviarEmail()

CrearEmail()

GestorReportes

tipoReporte : String

formatoReporte : String

valoresReporte : Array

codigoServidor : IntegertipoGrafica : String

generarReporteDesempeño()

procesarHistoricos()

procesarGrafica()generarGrafica()

generarReporteEvento()

GenerarReporteSistema()

Estandar

codigoServidor : Integer

tipoMonitoreo : String

valorMonitoreo : Double

valorEstandar : Double

consultarEstandar()

insertarEstandar()

modificarEstandar()

borrarEstandar()compararEstandar()

ModificarFrecuencia()

Historicos

codigoServidor : Integer

fecha : Date

hora : TimetipoMonitoreo : String

valorMonitoreo : Double

insertarHistorico()consultarHistorico()limiarHistorico()

Presentador

tipoCliente : String

archivoXML : String

archivoXSL : String

URL : String

parsearXML()

seleccionarXSL()

procesarXML+XSL()

generarReporte()crearFormato()

Notif icador

evento : String

gradoImportancia : Integer

fecha : Datehora : Time

formato : String

listaDestinatarios : Array

codigoServidor : Integer

crearNotificacion()enviarNotificacion()

Diagnosticador

codigServidor : Integer

tipoMonitoreo : StringXMLdestino : String

valorMonitoreo : DoublevalorEstandar : Double

QueryMonitoreo : String

ComandoMonitoreo : StringeventoInteres : Boolean

historico : Boolean

conectar()

monitorearB.D.()monitorearS.O.()

generarXML()

ActualizarMonitoreo()

Diagnosticar()

Conector

codigoServidor : Integerinstancia : Stringdriver : String

host : String

usuario : String

clave : String

conectar()

ping()

Distribuidor

tipoCliente : String

URL : String

consultarTipoCliente()desplegarPantalla()

Bitacora

tipoBitacora : String

tipoEvento : String

mensajeEvento : String

gradoImportancia : Integer

almacenarEvento()

consultarEvento()

borrarEvento()

GestorUsuarios

nombre : String

clave : Stringemail : String

telefono : String

direccion : String

eventoInteres : Boolean

tipoUsuario : String

autenticar()

insertarUsuario()

modificarUsuario()borrarUsuario()

consultarPerfil()

Page 87: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

79

Durante la etapa de implementación y prueba de la herramienta de

monitoreo, se refina el diagrama de clases, agregando o modificando

clases, con sus atributos y métodos, no identificados durante la etapa de

diseño detallado.

La figura 15 muestra el diagrama de clases del sistema, elaborado

durante la etapa de diseño detallado y refinado d urante la etapa de

implementación y pruebas.

3.2. Elaboración de los diagramas de secuencia

Los diagramas de secuencia son un tipo de diagrama de interacción,

que se incluyen en la notación del lenguaje de modelado UML. Un

diagrama de secuencia muestra la interacción de las clases a través de

una secuencia en el tiempo.

Estos diagramas enfatizan el paso de mensajes a través del tiempo,

entre los componentes del sistema (clases) desde los actores del sistema.

Con la elaboración de estos diagramas, se observa el uso de los métodos

planteados para cada evento (casos de uso) que puede ocurrir en la

herramienta.

Para la elaboración de estos diagramas, se extraen los actores

involucrados en los casos de uso planteados en la etapa de análisis de

requerimientos -el DBA, el administrador del sistema y el agente de

tareas-, luego se extraen las clases del diagrama de clases y, por último,

se modela la interacción entre los actores y las clases, a través del

seguimiento de la secuencia típica de los casos de uso del sistema.

Page 88: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

80

En la figura 16 se ilustra el diagrama de secuencias elaborado para el

escenario Monitoreo por Petición. En este diagrama se puede observar

cómo se modela la interacción entre el actor DBA y las diferentes clases

que participan en el escenario y los métodos que se ejecutan.

Figura 16. Diagrama de secuencias elaborado para el escenario Monitoreo por Petición

Page 89: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

81

El apéndice A muestra los diferentes diagramas de secuencia

realizados en esta etapa.

3.3. Diseño de la base de datos

El diseño de la base de datos de la herramienta de monitoreo

constituye una actividad esencial, debido a que en la base de datos se

almacena toda la información de los diferentes usuarios, bitácoras e

históricos. Es de vital importancia el manejo de esta información, ya que a

partir de la misma se logra obtener los reportes de desempeño de los

distintos servidores a lo largo del tiempo, entre otras cosas.

Para la elaboración de la base de datos, se toman los posibles

repositorios de data de los casos de uso elaborados anteriormente. Luego,

para complementar la información, se toman los posibles atributos

asociados a éstos.

Luego, se realizan las asociaciones entre las tablas, con la creación de

las claves principales y foráneas de cada una, de esta forma se asegura la

integridad de la data almacenada.

Para la representación del modelo de la base de datos, se realiza el

modelo ER (modelo de entidad relación) que describe los datos como

entidades, vínculos y atributos (Elmasri y Navathe, 1997, p.41-45).

La figura 17 muestra el diagrama de entidad relación de la base de

datos de la herramienta de monitoreo.

Page 90: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

82

Figura 17. Diagrama de Entidad Relación del sistema

Page 91: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

83

3.4. Interfaz gráfica de usuario

La interfaz gráfica de usuario de la herramienta de monitoreo se

desarrolla para cada tipo de dispositivo remoto que realiza peticiones al

sistema. Cada presentación es realizada tomando en cuenta las

limitaciones de cada dispositivo.

La figura 18 presenta la pantalla de autenticación para cada

dispositivo, donde se identifican las partes esenciales de la misma.

También se puede observar en la figura 18, como el usuario, sin

importar el tipo de ambiente, ingresa su nombre de usuario y clave, para

así poder tener acceso a las diferentes opciones que brinda la herramienta

de monitoreo.

1

2

Figura 18. Pantalla de autenticación

Page 92: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

84

A continuación se describen las partes de la pantalla de autenticación

de la herramienta de monitoreo, siguiendo la numeración de la figura 18.

1. Nombre: El usuario ingresa el nombre para poder acceder al

sistema

2. Clave: Ingresa su clave, la cual será el e-mail del usuario.

Figura 19. Menú Principal.

A continuación se nombran las partes del menú principal del sistema,

siguiendo la numeración de la figura 19.

1

2

3

Page 93: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

85

1. Monitorear Servidores: Con esta opción, el usuario podrá

seleccionar las diferentes estructuras del servidor de base de datos

a monitorear. Esta a su vez se divide en sistema operativo y

manejador de base de datos.

2. Administración: Donde el usuario podrá configurar los tiempos del

monitoreo periódico, así como la administración de usuarios.

3. Reportes: Donde podrá hacer las peticiones por reportes de eventos

o históricos a la herramienta de monitoreo.

La figura 20 muestra uno de los menú desplegados al elegir una de

las opciones de monitoreo de servidores.

Figura 20. Menú de Monitoreo de Memoria

Page 94: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

86

4. IMPLEMENTACIÓN Y PRUEBAS

En esta etapa se realiza la programación y desarrollo del sistema. Se

adecuan los estándares de las clases definidas al lenguaje de

programación, así como las pruebas y revisión del código. Para ello se

presenta el desarrollo de la herramienta de monitoreo a partir de los

módulos del mismo, donde se presentan las diferentes tecnologías

utilizadas en cada una de ellas, así como los objetos que intervienen en

cada módulo. El apéndice B muestra diferentes características de las

tecnologías seleccionadas.

La herramienta de monitoreo fue desarrollada con características de

una arquitectura de aplicación Web, por este motivo fue necesar io separar

la presentación de la lógica de aplicación, teniendo en cuenta el

funcionamiento del modelo de 3-capas nombrado en la arquitectura.

Se escogió Java Enterprise Edition como tecnología para el desarrollo

del sistema, ya que permite desarrollar la herramienta con una

arquitectura Web en ambientes distribuidos. La tecnología Java brinda

las siguientes ventajas:

Independencia de plataformas: La tecnología Java puede ser

usada en cualquier plataforma, ya sea en ambientes Windows o

en ambientes Unix.

Eficiencia: Los Java servlets4 extienden una nueva tarea en un

mismo proceso para atender la petición del usuario. Esto permite

4 Servlets son programas del lado del servidor que permiten a la lógica de una aplicación estar unidos a través de peticiones y respuestas utilizando el protocolo http.

Page 95: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

87

que cientos de usuarios tengan acceso al mismo Java servlet

simultáneamente sin dejar fuera de servicio al servidor.

Acceso a otras aplicaciones Java: Como los servlets son una

extensión de la plataforma Java, éstos pueden acceder cualquier

otra aplicación que tenga ambiente Java, como por ejemplo,

mandar y recibir correos electrónicos, invocar métodos de objetos

remotos, o conectividad a manejadores de base de datos

Reutilización de código: Es un lenguaje orientado a objetos, que

permite la reutilización de código.

Modularidad: Permite que la aplicación se divida en módulos

discretos en los cuales cada uno tiene una tarea especifica. Esto

hace que la aplicación sea fácil de mantener y comprender.

Durante la programación de la herramienta, la tecnología Java se

utilizó en los cuatro módulos de la aplicación, los cuales incluyen

conectividad de base de datos, generación de reportes, creación de archivos

XML, procesos de monitoreo, procesamiento de la información de

monitoreo, presentación de archivos XML, manejo de la creación y

distribución de correos electrónicos, creación de gráficas de desempeño, y

todas las actividades o procesos que se realizan dentro del sistema.

Gracias a estos servicios y con el uso de archivos XML para recolectar y

presentar los reportes de monitoreo, se logra que la herramienta pueda

ser utilizada en cualquier tipo de plataforma.

A continuación se presenta el desarrollo e implementación de cada

uno de los módulos de la herramienta:

Page 96: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

88

4.1. Módulo de Generación

Para este módulo se desarrolló una clase llamada diagnosticador.

Ésta es una clase de monitoreo genérica que se encarga de supervisar el

desempeño del servidor de base de datos. Puede ser invocada por medio de

una petición que realiza el usuario y contiene los parámetros de

monitoreo. Por ejemplo, cuál es: el servidor a monitorear, el tipo de

monitoreo, el nombre de las columnas a mostrar en el reporte, la

descripción de las columnas, el nombre del archivo XML que contendrá el

reporte, entre otros. El diagnosticador contiene un método para

monitorear el manejador de base de datos y otro método para monitorear

el sistema operativo donde se encuentra el manejador de base de datos.

Monitorear el manejador de base de datos consiste en crear una

conexión directa a éste, a través de su respectivo puerto de conexiones

remotas, utilizando JDBC5, para luego interrogar directamente su

rendimiento. Este diagnosticador puede trabajar en cualquier manejador

de base de datos, sólo se necesita especificar los parámetros adecuados

según el manejador, a saber: el comando de monitoreo adecuado, las

columnas que retornará, el tipo de datos que retornará, entre otros.

Adicionalmente, es necesario especificar cuál es la clase conexión que va a

utilizar, ya que cada manejador posee un driver y puerto específico para

su conexión remota.

El monitoreo del sistema operativo, donde se encuentra el manejador

de base de datos, consiste en abrir una conexión remota directa al mismo,

para ejecutar comandos de monitoreo de rendimiento según el sistema

5 JDBC (Java Database Connectivity) es un manejador (driver) que proporciona la habilidad de conexión a base de datos relacionales.

Page 97: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

89

operativo. El diagnosticador recibe la salida de estos comandos al

ejecutarlos, luego se almacenan los valores resultantes en un arreglo para

así poder procesarlos como información de monitoreo.

Una vez que el diagnosticador contiene toda la información de

monitoreo, invoca una clase “estándares” para poder consular los valores

estándares relacionados con el monitoreo realizado y así poder llevar a

cabo las comparaciones necesarias para la creación del reporte de

monitoreo.

El diagnosticador también usa la clase “histórico” para almacenar la

información de monitoreo realizada en la base de datos como históricos de

monitoreo. Además del valor de monitoreo se almacena la fecha, la hora,

el nombre del monitoreo, tipo de monitoreo y el código del servidor que fue

monitoreado.

Para finalizar el proceso de monitoreo, la clase diagnosticador

ejecuta el método crear reporte, el cual consiste en guardar en un archivo

XML toda la información de monitoreo generada, y una vez que el archivo

se haya creado correctamente, se le envía al distribuidor el URL del

reporte XML generado para que pase al proceso de presentación el cual se

explicará posteriormente.

4.2. Módulo de Procesamiento

En este módulo intervienen las clases que realizan algún tipo de

procesamiento a la información de monitoreo, como por ejemplo,

promedios de rendimiento, comparaciones, validaciones y otros. La clase

Gestor de Reportes realiza este tipo de procesos cada vez que recibe una

petición de reporte. Las peticiones de reportes se realizan dependiendo de

un intervalo de tiempo definido, el tipo de reporte que se quiere (gráfica,

Page 98: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

90

textual, compacto, comparativo, correo electrónico, etc.), las estructuras

que se desean visualizar y el servidor que se monitoreó.

Una vez que se realiza la petición de monitoreo, la clase Gestor de

Reporte invoca a la clase de Históricos para consultar los valores de

rendimiento realizados anteriormente, pertenecientes al intervalo de

tiempo requerido. Por ejemplo, para generar un reporte de rendimiento de

CPU de algún servidor de un día completo en una fecha determinada por

intervalos de una hora, se requiere consultar todos los valores de

monitoreo obtenidos es ese día y promediarlos en intervalos de una hora,

es decir, si el agente de tareas tiene programado monitorear el CPU cada

10 minutos, se tendría que promediar los seis valores de monitoreo que

contiene c ada hora del día, y así poder desplegar una gráfica con 24

columnas, una por cada hora, y el rango será desde 0% hasta 100%. La

figura 21 presenta una gráfica que contiene un reporte del ejemplo

explicado anteriormente elaborado con datos reales de monitoreo.

Figura 21. Rendimiento de CPU del 16/05/2001. Fuente: Servidor de base de datos www.porlapuerta.com, manejador Oracle, Sistema Operativo

Solaris 2.6

0,0

10,0

20,0

30,0

40,0

50,0

60,0

70,0

80,0

90,0

100,0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

Page 99: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

91

La clase Gestor de Reportes, también tiene la opción de procesar

varios reportes de gráficas a la vez con distintas estructuras de monitoreo

realizadas en un mismo intervalo de tiempo, y así poder observar si existe

algún tipo de relación en sus rendimientos. Por ejemplo, si el manejador

de base de datos muestra un mal rendimiento en el buffer hit ratio

(relación de lecturas a disco y lecturas a buffer), quiere decir que existen

más lecturas a disco de las que debería tener el manejador en un

rendimiento óptimo. Entonces se debería graficar el rendimiento del

buffer hit ratio del manejador junto con el rendimiento de lecturas a disco

del sistema operativo, y así poder relacionarlos y determinar si esta

información logra o no brindar algún tipo de respuesta en cuanto a los

motivos del bajo rendimiento. Adicionalmente, se podría graficar el

rendimiento del CPU, ya que necesita 10 veces más recursos para hacer

una lectura a disco en vez de una lectura a buffer.

Figura 22. Módulo de generación y módulo de procesamiento

Gestor de Reportes

Gestor de Usuarios Históricos EstandaresEventosConector

Diagnosticador

DBMS

Servidor

Texto Texto

Usuarios Políticas

Seguridad

Bitácoras Sesiones

B.D.

EstandaresGráficas

B.D.

Históricos

Petición URL Alerta,ReportePetición

Agente de Tareas

XML

ReportesReportes

Page 100: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

92

La clase Históricos también pertenece al módulo de procesamiento.

Esta clase se encarga de validar la información de monitoreo antes de

introducirla en la base de datos de la herramienta. La figura 22 presenta

el funcionamiento e interacción del módulo de generación y

procesamiento.

4.3. Módulo de Distribución

Este módulo se encarga de la distribución de las peticiones de

monitoreo y de reportes realizados al sistema y la distribución de los

reportes de salida que se muestran en los dispositivos o el envío por correo

electrónico de estos reportes a los usuarios. En este módulo se encuentra

la clase Distribuidor, la cual recibe las peticiones del usuario y las

distribuye según el tipo de petición.

Las peticiones de ejecución de programas son enviadas por la clase

Distribuidor al módulo de procesamiento o al módulo de generación para

que sean ejecutados. Por ejemplo, algunas de las peticiones son

autenticación, algún monitoreo a realizar o algún reporte. Después que se

realiza el monitoreo por parte del módulo de generación o algún reporte

generado por el módulo de procesamiento, le devuelve al distribuidor un

URL con la ubicación del reporte XML generado por el monitoreo o por el

gestor de reportes. El distribuidor, al recibir el URL con extensión XML, lo

envía al módulo de presentación para ser formateado, según sea el soporte

de presentación que tenga el dispositivo que está realizando la petición.

Cada vez que el distribuidor recibe una petición del cliente, éste le

pregunta qué clase de cliente es, para así determinar qué tipo de formato

Page 101: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

93

de presentación soporta, y así poder enviar la petición y el tipo de cliente

al presentador para que éste determine cómo presentar el reporte.

La clase gestor de E-Mail también pertenece a este módulo de

distribución. Esta clase en la responsable de enviar correos con reportes

de rendimiento o alarmas de eventos a los usuarios. Esta clase será

invocada por la clase gestor de reportes o por la clase estándares al surgir

un evento de interés que debe ser notificado. Recibe el cuerpo del mensaje,

el motivo, un arreglo con las direcciones de las personas que deben recibir

el correo, y opcionalmente un archivo adjunto con alguna imagen de una

gráfica de rendimiento.

La figura 23 presenta el funcionamiento e interacción del módulo de

distribución en la herramienta de monitoreo.

Figura 23. Módulo de distribución y su interacción

Distribuidor de Peticiones

Aplicación Presentador

Petición programa

URL

Petición XML

Reporte con formato

Mail Server

Alerta

Reporte

Texto Texto

Usuarios Políticas

Seguridad

Bitácoras Sesiones

DBMS

ServidorB.D.

Históricos Desempeño Estandares

Modificar, consultar

Crear, eliminar

Status Estadísticas

XSLXML

Generar

Petición XMLPetición formato

FormatoXSL

Reportes Formatos

Servidor a Monitorear

Cliente

PeticiónFormato según

dispositivo

Email con reporte

Email con alarma

Page 102: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

94

4.4. Módulo de Presentación

En este módulo se encuentra la clase Presentador y es responsable

de brindar el formato correcto según el tipo de cliente que realiza la

petición. Esta clase recibe una petición por parte del distribuidor de algún

archivo XML a presentar junto con el tipo de cliente. Según el tipo de

cliente, busca el tipo de formato que éste soporta en un archivo de

propiedades para así poder seleccionar la hoja de formato XSL correcta

para la presentación. El archivo de propiedades en un archivo de texto que

contiene el orden de búsqueda de los formatos de presentación y el tipo de

formato soportado por cada tipo de cliente. De esta manera se pueden

agregar tantos tipos de clientes y de formatos como se desee. La figura 24

muestra este archivo de comandos.

Figura 24. Archivo de propiedades

Una vez seleccionado el archivo XSL que contiene el formato

adecuado para el tipo de dispositivo que realizó la petición, se envía el

archivo XML junto con el archivo XSL correspondiente al procesador

XSLT para generar el archivo producto, el cual contiene el reporte con el

formato adecuado para el dispositivo. Por ejemplo, el presentador genera

browser.0 = explorer=MSIE browser.1 = pocketexplorer=MSPIE browser.2 = handweb=HandHTTP browser.3 = avantgo=AvantGo browser.4 = imode=DoCoMo browser.5 = opera=Opera browser.6 = lynx=Lynx browser.7 = java=Java browser.8 = wap=Nokia browser.9 = wap=Motorola browser.10 = palm=PalmOS browser.11 = wap=UP browser.12 = wap=Wapalizer browser.13 = mozilla5=Mozilla/5 browser.14 = mozilla5=Netscape6/ browser.15 = netscape=Mozilla

Page 103: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

95

reportes en archivos con formato WML para los celulares; se generan

archivos HTML para los exploradores comunes, archivos HTML sin

figuras y sin tablas para las agendas como la Palm Pilot; archivos de

texto para navegadores de texto como el Lynx, y cualquier otro formato

que se haya definido. El archivo producto es enviado al distribuidor para

que sea mostrado al cliente. La figura 25 muestra el proceso de generación

del archivo producto.

Figura 25. Proceso de generación del archivo producto

Esta implementación permite separar la lógica de presentación del

contenido, la información de un reporte estará contenida en un sólo

archivo XML, mientras que la presentación dependerá de los archivos XSL

asociados al archivo XML según el tipo de formato requerido por el cliente.

La información del archivo XML puede cambiar continuamente sin afectar

la forma en que será presentada, igualmente, se puede modificar la forma

Cliente

Petición HTTP

Petición HTTP Servidor

WEB

Distribuidor

Archivo XSL Formatos XSL

XSL + XML

Procesador XSLT

Reporte WML

Doc. WML

Presentador

Documento XML

Page 104: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

96

en que será presentada la información, sin afectar el contenido del

archivo XML. La figura 26 muestra cómo diferentes tipos de dispositivos

pueden realizar peticiones al sistema, sin importar el formato de los

mismos.

Figura 26. Diferentes tipos de dispositivos realizando peticiones

Si en el futuro s urge un nuevo tipo de formato, simplemente se

necesita crear un nuevo archivo XSL y asociarlo a los archivos XML. Esto

quiere decir que un archivo XML tendrá tantos archivos XSL, como tipos

de dispositivos deseados para acceder a la información y que sea

presentada de acuerdo a las ventajas y limitaciones que tenga cada

dispositivo.

A continuación se presenta un ejemplo de un archivo XML (figura 27)

con tres archivos XSL asociados (figuras 28, 29 y 30), uno para

exploradores comunes que soportan HTML sin limitaciones(figura 31),

Internet

Petición

Petición

Petición

Petición

Respuesta

Respuesta

Respuesta

Respuesta

Inalámbrico

33.6k

T1

56k

Web Server

Distribuidor de Peticiones

Petición

Respuesta

Page 105: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

97

otro para Palm Pilot (figura 32) con HTML limitado (sin imágenes o

tablas) y otro para celulares con formato WML (figura 33).

Figura 27. Archivo XML para el menú monitoreo

Figura 28. Archivo XSL para Palm Pilot

<?xml version="1.0"?> <?xml-stylesheet href="xsl/menu.xsl" type="text/xsl" ?> <?xml-stylesheet href="xsl/menu-wap.xsl" type="text/xsl" media="wap"?> <?xml-stylesheet href="xsl/menu-palm.xsl" type="text/xsl" media="palm"?> <?process type="xslt"?> <IndiceMonitoreo> <Titulo> Memoria </Titulo> <Menu> <Opcion Link="data/bufferhitratio.xml"> <Nombre> Buffer Hit Ratio </Nombre> </Opcion> <Opcion Link="data/datadicthitratio.xml"> <Nombre> Data Dict Hit Ratio </Nombre> </Opcion> <Opcion Link="data/sqlcachehitratio.xml"> <Nombre> SQL Cache Hit Ratio </Nombre> </Opcion> <Opcion Link="data/librarycachehitratio.xml"> <Nombre> Library Cache Miss Ratio </Nombre> </Opcion> </Menu> </IndiceMonitoreo>

<?xml version="1.0"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <xsl:processing-instruction name="format">type="text/html"</xsl:processing-instruction> <html> <head> <title>Indice Monitoreo</title> </head> <b> <xsl:value-of select="IndiceMonitoreo/Titulo"/> </b> <xsl:for-each select="IndiceMonitoreo/Menu/Opcion"> <b> <a href="{@Link}"><xsl:value-of select="Nombre"/></a> </b> </xsl:for-each> </body> </html> </xsl:template> </xsl:stylesheet>

Page 106: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

98

Figura 29. Archivo XSL para formato HTML

<?xml version="1.0"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <xsl:processing-instruction name="format">type="text/html"</xsl:processing-instruction> <html> <head> <title>Indice Monitoreo</title> </head> <body bgcolor="#FFFFFF" background="gifs/fondo.gif"> <p> </p> <table width="300" border="1" align="center"> <tr bgcolor="#000099"> <td height="39"> <div align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="4" color="#FFFFFF"><b> <xsl:value-of select="IndiceMonitoreo/Titulo"/> </b></font></div> </td> </tr> <xsl:for-each select="IndiceMonitoreo/Menu/Opcion"> <tr> <td> <div align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="3" color="#000099"><b> <a href="{@Link}"><xsl:value-of select="Nombre"/></a> </b></font><font size="3" color="#000099"><b></b></font></div> </td> </tr> </xsl:for-each> </table> </body> </html> </xsl:template> </xsl:stylesheet>

Page 107: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

99

Figura 30. Archivo XSL para WAP

<?xml version="1.0"?> <xsl:stylesheet version="1.0" <xsl:processing-instruction name="cocoon-format">type="text/wml"</xsl:processing-instruction> <wml> <card id="index" title="Monitoreo" > <p align="center"> <small> <b> <xsl:value-of select="IndiceMonitoreo/Titulo"/> </b> </small> <br/> <xsl:for-each select="IndiceMonitoreo/Menu/Opcion"> <small> <a href="{@Link}"><xsl:value-of select="Nombre"/></a> <br/> </small> </xsl:for-each> </p> </card> </wml> </xsl:template> </xsl:stylesheet>

Figura 33. Presentación

WAP

Figura 32. Presentación Palm

Pilot

Figura 31. Presentación HTML

Page 108: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

100

Aspectos de Seguridad

En el desarrollo de la herramienta se tomaron en cuenta ciertos

aspectos de seguridad, necesarios para que la información esté siempre

disponible y para que sea accedida única y exclusivamente por quienes

tienen la autorización requerida.

Los aspectos tomados en cuenta fueron:

1. Disponibilidad - La información debe estar en el momento

que el usuario requiera de ella. Un ataque a la

disponibilidad es la negación de servicio.

2. Privacidad - La información debe ser vista y manipulada

únicamente por quienes tienen el derecho o la autoridad

de hacerlo. Un ejemplo de ataque a la Privacidad es la

Divulgación de Información Confidencial.

Los métodos desarrollados para poder cumplir estos aspectos fueron:

?? Creación y lectura de bitácoras

Se desarrollaron dos tipos de bitácoras: una bitácora de autenticación

y sesiones que almacena todas las autenticaciones que hayan fallado

con su procedencia y el seguimiento de sesiones por el sistema, y otra

bitácora de errores de sistema, que almacena todos los errores

ocurridos en el sistema con su respectivo grado de importancia. Estas

bitácoras son archivos de texto con propiedades de lectura y de

“append”, es decir, sólo se les puede agregar información o leerlas.

Page 109: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

101

De esta manera los posibles intrusos no podrán borrar estas

bitácoras, para así poder proteger su identidad y esconder la ruptura

de seguridad que estén realizando.

?? Creación de Respaldos

Todas las bitácoras, reportes de monitoreo e históricos son

respaldados cada cierto tiempo en cintas magnéticas. El actor agente

de tareas nombrado anteriormente, será quién realice estos

respaldos cada cierto tiempo.

?? Alertas

Cuando ocurran errores en el sistema que tengan posibilidad de

comprometer la disponibilidad del sistema, éstos serán reportados

por medio del gestor de correos de la herramienta a los

administradores de sistema.

?? Encriptación

Las claves de acceso de los usuarios estarán almacenadas en el

sistema, luego de haberle aplicado encriptación, de manera que los

intrusos no puedan obtener las claves de acceso y de esta manera

poder entrar en el sistema.

Page 110: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

102

MODELO DE BALANCEO DE CARGAS SEGÚN EL MONITOREO

REALIZADO

En años recientes, los avances en la tecnología han hecho posible la

creación de ambientes distribuidos de computadores a través de redes de

alta velocidad, y de esta manera poder distribuir grandes cantidades de

tareas con el propósito de aprovechar al máximo los recursos de estos

computadores de forma equilibrada.

Los servidores de base de datos distribuidos permiten que usuarios o

aplicaciones puedan obtener información a partir de servidores ubicados

en lugares distintos, interconectados por una red de alta velocidad. Sin

embargo, existe la posibilidad de que el rendimiento global de la base de

datos de algunos servidores se vea afectado, bien sea por ausencia de

carga, o por e star ligeramente cargados o sobrecargados de tareas.

Situación que, en cualquiera de los casos, obliga a balancear las cargas

entre servidores, con miras a mejorar el tiempo de respuesta y aprovechar

los recursos disponibles de manera eficiente.

En tal sentido, se propone un modelo heurístico para el balanceo de

cargas dinámico que, a partir de la información de monitoreo que brinda

la herramienta, sea capaz de distribuir las tareas en los distintos

computadores en un ambiente distribuido, basado en políticas

predefinidas de decisión. Este modelo también es capaz de demostrar la

recuperación de tareas perdidas en caso de que uno o varios de estos

computadores o nodos falle.

Page 111: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

103

Modelo

El modelo que se propone tiene como objetivo distribuir un gran

número de tareas en varios computadores que se encuentran en una red;

con miras a balancear las cargas a nivel de aplicación para aprovechar los

recursos de hardware disponibles de la mejor manera posible, sin

contemplar otros niveles de balanceo de cargas: nivel de hardware y nivel

de trasporte de red.

Según el objetivo de este modelo, se define balanceo de cargas como

la técnica que permite utilizar los recursos disponibles en computadores

distribuidos en una red de alta velocidad de una manera eficiente,

aprovechar el paralelismo existente entre los sistemas y reducir el tiempo

de respuesta a través de una distribución apropiada de las tareas.

En los servidores de base de datos, la cantidad de peticiones que

provienen de los usuarios no está coordinada ni planificada. De allí que el

modelo de balanceo de cargas propuesto debe trabajar de forma dinámica,

según los cambios de rendimiento que se presentan e n el sistema al

atender las peticiones.

Este modelo opera en un ambiente distribuido de servidores iguales,

es decir, con una sola política para la distribución de tareas en todos los

nodos, por lo que no requiere de un modelo de tipo adaptable a la

capacidad de cambiar sus políticas dinámicamente, según el

comportamiento de cada servidor.

Page 112: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

104

Por otra parte, el modelo trabaja en forma dinámica, dada la

capacidad de adaptar la distribución de las tareas según cambios de

rendimientos ocurridos en los computadores. La detección de estos

cambios se realiza por medio de la herramienta de monitoreo.

Este modelo funciona en ambientes distribuidos de tipo “SPMD”

(Simple Program Múltiple Data). Esto quiere decir, que todas las

computadoras presentes en los nodos del balanceo de cargas son iguales y

conforman una piscina de recursos, para que luego un distribuidor de

tareas las asigne a el nodo con mas recursos disponibles en el momento de

recibir la tarea. La figura 34 muestra el funcionamiento del “SPMD”.

Figura 34. SPMD

Distribuidor de tareas

El distribuidor de tareas es un agente dinámico que contiene

información de la disponibilidad de cada nodo y el estado actual de

rendimiento de cada uno de éstos. Este agente será quién reciba todas las

peticiones de tareas y las distribuya a los nodos, según la política de

Cliente Distribuidor

Nodo A1

Nodo A2

Nodo A3

Nodo An

Data A1

Data A2

Data A3

Data An

información

HerramientaMonitoreo

Cliente Distribuidor

Nodo A1

Nodo A2

Nodo A3

Nodo An

Data A1

Data A2

Data A3

Data An

información

HerramientaMonitoreo

Page 113: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

105

rendimiento establecida, p ara así poder decidir cuál será el nodo que

obtendrá la próxima tarea.

También el agente distribuidor lleva un seguimiento de las tareas

que se están ejecutando en cada uno de los nodos. De esta manera en caso

de que algún nodo quede no disponible, las tareas que contenía se

redistribuyen en los nodos que quedan disponibles. Para poder detectar la

disponibilidad de los nodos, el agente realiza cada cierto período de tiempo

una revisión de estatus de cada nodo para verificar su disponibilidad y

capacidad.

La herramienta de monitoreo se ejecuta en cada uno de los nodos, a

objeto de proporcionar los estados de rendimientos de cada uno de ellos,

para luego reportarlos al distribuidor de tareas.

Política de decisión

El agente distribuidor asigna la próxima tarea pendiente al nodo que

esté disponible y que tenga mayor cantidad de recursos libres, siguiendo el

orden definido en las políticas de decisión. Las políticas que se proponen

para este modelo son las siguientes:

?? Disponibilidad: la primera condición que se tiene que cumplir es

que el nodo esté disponible. Los nodos que no estén disponibles no

se tomarán en cuenta para la distribución de tareas hasta que estén

en funcionamiento nuevamente.

?? CPU: éste es el principal factor que permite decidir cuál nodo

recibirá la próxima tarea. También es el principal indicador de la

cantidad de carga que maneja un servidor de base de datos debido a

Page 114: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

106

que el exceso de tareas o el exceso de lecturas a disco, en relación

con las lecturas a memoria, causan una mayor cantidad de carga al

CPU.

?? E/S Disco: las lecturas a disco tienen un tiempo de respuesta mucho

mayor y consumen diez veces mas recursos en relación a las

lecturas a memoria. Por esta razón, los computadores que tengan

mas flujo de Entrada/Salida de información a los discos, tienen más

carga y demora en los tiempos de respuesta que los computadores

que tengan menos.

?? Memoria: la memoria es un indicador de la capacidad que tiene el

servidor de procesar más tareas, sin tener que utilizar la memoria

virtual en disco. Cuando un servidor se queda sin memoria real,

éste procede a utilizar la memoria virtual que se encuentra en el

disco, lo cual genera grandes cantidades de lecturas a disco

provocando que el rendimiento general del servidor se reduzca.

?? Tráfico de Red : el tráfico de red que exista en un nodo puede ser

indicador de la cantidad de peticiones de tareas que se esté

manejando para el momento.

En general, se puede decir que la política propuesta es simplemente

asignar las tareas al nodo que tenga menos carga de CPU. En caso de que

los CPU tengan la misma cantidad de carga, se procede a realizar

comparaciones de los otros recursos como son las lecturas a disco,

memoria y tráfico de la red.

Page 115: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

107

El distribuidor posee localmente una lista en memoria con la

disponibilidad de cada uno de los nodos, junto con su estado de

rendimiento. Primero, revisa el porcentaje de uso del CPU sólo en los

nodos disponibles para luego enviar la tarea al nodo con mayor porcentaje

de CPU disponible. En caso de que todos tengan el mismo porcentaje CPU

libre, la tarea se asigna al computador que tenga menores lecturas a disco.

De igual manera, si todos los nodos tienen la misma cantidad de lecturas

a disco, la tarea se asigna al nodo con mayor porcentaje de memoria libre.

Si todos tienen el mismo porcentaje de memoria libre, se envía al nodo que

tenga menos tráfico de red. De darse todas las condiciones anteriores, se

asigna la tarea de forma aleatoria.

Cada cierto tiempo el distribuidor de tareas tendrá comunicación con

cada uno de los nodos para actualizar su disponibilidad y estado de

rendimiento; de esta manera, se harán las comparaciones localmente para

que el tiempo de este procesamiento sea prácticamente despreciable y así

no aumentar el tiempo de respuesta en las peticiones.

Cada nodo consta de un computador que se encuentra en paralelo con

los otros computadores a través de una red rápida, y cada nodo obtiene la

información de monitoreo generada por la herramienta para poder

actualizarla con el distribuidor cada cierto tiempo. Es recomendable que el

intervalo de tiempo entre actualizaciones de la disponibilidad y capacidad

de los nodos con el distribuidor sea lo más corto posible, facilitando que el

distribuidor obtenga la información actualizada y así poder hacer una

repartición de tareas de forma eficiente. Los nodos tienen la

responsabilidad de reportar al distribuidor cada tarea que haya

culminado. La figura 35 muestra gráficamente el proceso del distribuidor.

Page 116: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

108

Figura 35. Proceso del Distribuidor

Soporte de Fallas

El distribuidor está continuamente encuestando a los nodos para

saber su disponibilidad. En caso que uno o mas nodos queden no

disponibles, el distribuidor los marca como no habilitados y no envía

tareas a éstos hasta que estén disponibles de nuevo. El distribuidor

también tiene la responsabilidad de detectar cuáles fueron las tareas que

no se culminaron en el nodo o los nodos que presentaron la falla, y de esta

manera poder redistribuir las areas en los nodos que quedan disponibles.

El modelo de balanceo de cargas, a partir del monitoreo realizado por

la herramienta, brinda las siguientes ventajas:

?? Periódico: el distribuidor de tareas está en constante comunicación

con los nodos para determinar su estado de rendimiento o

disponibilidad.

?? Dinámico: la distribución de tareas se realiza dependiendo del

estado de rendimiento actual existente en los nodos.

DISTRIBUIDOR

Lista Queries Lista Nodos

Petición1 (nodo) nodo1(estado) Petición2 (nodo) nodo2(estado) Peticiónn (nodo) nodon (estado)

POLÍTICAS

CPU DISCO

MEMORIA RED

NODOS

nodo1 nodo2

: nodon

HerramientaMonitoreo

DISTRIBUIDOR

Lista Queries Lista Nodos

Petición1 (nodo) nodo1(estado) Petición2 (nodo) nodo2(estado) Peticiónn (nodo) nodon (estado)

POLÍTICAS

CPU DISCO

MEMORIA RED

NODOS

nodo1 nodo2

: nodon

HerramientaMonitoreo

Page 117: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

109

?? Eficiente: se realiza una distribución eficiente de las tareas en los

nodos siguiendo las políticas de rendimiento establecidas.

?? Tolerante a fallas: el distribuidor detecta si un nodo falla para así

poder recuperar las tareas que no pudo completar y redistribuirlas

en los nodos que queden disponibles.

Page 118: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

110

CAPÍTULO III

Page 119: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

111

RESULTADOS

Este capítulo presenta formalmente a la herramienta de monitoreo.

La herramienta de monitoreo es una aplicación cuyo objetivo consiste

en presentar el desempeño de los servidores de base de datos en

momentos específicos o a lo largo del tiempo y reportar eventos de interés

que puedan ocurrir en un momento dado. Esto se realiza a través de

dispositivos remotos, como PDAs o celulares, vía Internet.

Esta herramienta, por la estructura de su diseño, tiene la capacidad

de ser utilizada por cualquier otro tipo de dispositivo de acceso a través de

la Web, especificando únicamente el tipo de presentación de la misma.

La aplicación facilita a los administradores de base de datos

supervisar el desempeño de los servidores que están a su cargo, sin

importar l a ubicación geográfica e n la cual se encuentran. A su vez,

permite recibir notificaciones del sistema cuando ocurren factores críticos,

a fin de realizar los correctivos pertinentes de forma inmediata.

La herramienta de monitoreo permite:

1. Establecer una conexión remota, vía Internet, utilizando los

dispositivos remotos o el envío de E-Mail.

2. Monitorear el desempeño de diferentes estructuras de servidores de

base de datos, las cuales incluyen:

Page 120: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

112

A. Sistema Operativo:

i Carga del CPU

ii Memoria disponible

iii Actividad en disco (lecturas, escrituras)

iv Memoria SWAP

v Compaginaciones

vi Tráfico en red

B. Manejador de Base de Datos

i Uso de CPU por sesiones

ii Uso de Memoria

iii Transacciones

iv Procesamiento de SQL

v Información General

3. VISUALIZAR EL DESEMPEÑO HISTÓRICO DEL SERVIDOR

4. Controlar el desempeño del servidor, comparando el desempeño

estándar con el actual, notificando al administrador por correo

electrónico, eventos críticos ocurridos y de los factores que

ocurren a su alrededor.

5. Almacenar el desempeño del servidor para que así el

administrador tenga un registro de su comportamiento a través

del tiempo.

Para presentar la herramienta de monitoreo, se prepararon tres

escenarios particulares que permiten demostrar las características

mencionadas anteriormente.

Page 121: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

113

1. Caso de Uso: Monitoreo por petición

El objetivo de este caso es reportar al usuario que realizó una

petición de monitoreo, el estado de rendimiento de alguna estructura del

servidor de base de datos.

La información que se presenta en estos reportes de rendimiento es la

siguiente:

?? Tipo de Monitoreo.

?? Fecha y hora del monitoreo.

?? Estructuras monitoreadas con los valores obtenidos.

?? Breve descripción de cada estructura.

La figura 36 muestra los resultados del monitoreo por petición.

Figura 36. Resultados del Monitoreo por Petición

Page 122: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

114

2. Caso de Uso: Reportes de Desempeño

Los reportes de desempeño permiten observar el rendimiento de

alguna estructura del servidor de base de datos a lo largo del tiempo. Por

ejemplo, se puede visualizar el comportamiento del CPU en el transcurso

de un día.

Para generar estos reportes se consultan los históricos de

rendimiento, para así poder mostrar el desempeño a través del tiempo en

forma de gráfica o en forma de texto, en los caso de dispositivos que no

soporten imágenes o tablas. Existe la opción de mandar estos reportes en

forma de gráficas por correo electrónico, para que los usuarios que estén

usando dispositivos con estas limitaciones, puedan luego ver las gráficas

en alguna otra máquina o dispositivo que los soporte.

La figura 37 muestra los resultados de los reportes de desempeño.

Figura 37. Resultados de los Reportes de Desempeño

0,0

10,0

20,0

30,0

40,0

50,0

60,0

70,0

80,0

90,0

100,0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

Page 123: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

115

En la figura 38, se muestran los resultados de los reportes de desempeño,

observados desde diferentes tipos de dispositivos.

Figura 38. Reportes de Desempeño a través de los dispositivos

3. Caso de Uso: Notificación de eventos

El objetivo de este caso es informar a los usuarios interesados, a

través de un correo electrónico, la ocurrencia de algún evento de interés y

así alertar a estos usuarios en caso de que exista algún tipo de problema

en el servidor de base de datos.

Debido a que las estructuras de rendimiento de un servidor de base

de datos están relacionadas entre si, es necesario informar el estado de

rendimiento de estructuras relacionadas con el evento de interés ocurrido.

Por ejemplo, un evento de exceso de lecturas a disco puede estar

Page 124: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

116

relacionado con una mayor carga al CPU y de esta manera retrazar los

tiempo de respuesta.

El usuario recibirá un correo donde aparecerá:

?? El servidor que generó el evento.

?? La fecha y hora cuando se generó el evento.

?? El evento ocurrido con su respectivo valor.

?? El valor estándar sobrepasado por el evento.

?? Valores de otras estructuras relacionadas con este evento.

Page 125: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

117

CONCLUSIONES

?? Las características del lenguaje de notación UML y la metodología

orientada a objetos, han demostrado ser una herramienta bastante

útil al momento de análisis e implementación de soluciones críticas

como la presentada en este trabajo, debido a su versatilidad y

adaptabilidad a las diferentes condiciones y problemáticas que

pudieran plantearse.

?? El uso de XML y sus extensiones, como estándar de desarrollo,

facilita el proceso de implementación de soluciones en plataformas

tecnológicas heterogéneas con un alto nivel de interacción.

?? El uso de Java como tecnología de implementación, permite que las

soluciones desarrolladas sean portables a cualquier plataforma.

?? El uso de la arquitectura web por capas implementada con

tecnología Java y XML, facilita la generación de contenido dinámico

de forma eficiente y adaptable a las diferentes plataformas de

presentación de datos basadas en las tecnologías existentes y

emergentes.

?? El desarrollo de herramientas de monitoreo de bases de datos

universales demostró ser un proceso complejo, debido a la

diversidad de las plataformas tecnológicas y de las posibles

variables a considerar, incluyendo el manejador, el sistema

operativo, entre otros, al momento de generar los datos relevantes.

Page 126: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

118

?? La implementación de mecanismos de seguridad en ambientes de

comunicación abiertos, garantiza la confiabilidad y veracidad de los

procesos que se realizan en los mismos.

?? El uso de agentes de distribución de información, basados en

alarmas, demuestra ser un mecanismos bastante útil para la

notificación de eventos de interés y factores críticos, para la toma de

decisiones por parte de los administradores de los servidores de

bases datos que se encuentren localizados en áreas remotas a la

ubicación física de los servidores, a través del uso de dispositivos

móviles.

?? El uso de dispositivos móviles basados en las tecnologías actuales

limitan la cantidad de información a ser presentada y su formato,

por lo que se justifica el poco volumen suministrado por petición.

?? El manejo de herramientas de monitoreo ha demostrado la

factibilidad del desarrollo de modelos heurísticos de balanceo de

cargas en servidores de bases de datos distribuidos, basados en los

resultados obtenidos de éstas.

Page 127: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

119

RECOMENDACIONES

?? Dada la universalidad de la herramienta desarrollada, ésta

contempla aquellos elementos de carácter común entre los

diferentes manejadores de bases de datos. Por consiguiente,

algunas de las características propietarias de las mismas han sido

descartadas por su diversidad y diferencia entre las plataformas. Se

plantea el desarrollo de módulos opcionales, por manejador de

bases de datos, con los que se aumentaría la capacidad de

monitoreo de la herramienta original, al incluir aquellas

propiedades o características que se deseen además monitorear.

?? Otra recomendación relacionada al sistema de monitoreo, incluye

mejoras a las alarmas, donde una de ellas pudiera ser la

incorporación de notificación a través de llamadas telefónicas de los

eventos de interés con un modulador de voces.

?? El presente trabajo incluye un modelo heurístico de balanceo de

cargas, el cual, a pesar de cumplir con los objetivos planteados, no

es fácil de implementar como sistema de información. Se

recomienda l a adaptación del modelo heurístico a un modelo de

sistemas que pueda ser implementado con mayor facilidad, para su

posterior desarrollo e incorporación a la presente herramienta.

?? El conjunto de herramientas presentadas forma parte de un

sistema de gestión de servidores, y en este caso, de bases de datos.

Se recomienda la elaboración de los módulos de análisis situacional

Page 128: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

120

y el de ajustes, para su integración con el módulo de monitoreo,

logrando así un sistema de gestión completo.

?? Se recomienda mantener actualizada la herramienta a la par de las

tecnologías de conexión remota, para aprovechar las nuevas

características emergentes.

Page 129: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

121

BIBLIOGRAFÍA

?? Allamaraju, S. y otros. (2001). Profesional Java Server

Programming. USA, Wrox.

?? Behr, M. y Graven, A. (2001). Choose your Weapon. PC Magazine.

?? Bobrowski, S. (2000). Oracle 8i for Linux . USA, Osborne.

?? Elmasri, R. Y Navathe, N. (1997). Sistemas de Base de Dato s

conceptos fundamentales. USA, Adisson-Wesley Iberoamericana.

?? Erciyes, K. y otros. (1995). A semi-distributed Load Balancing

Model for Parallel Real -Time Systems . Univesidad Ege, Turquia.

?? Feldkuhn, L. y Erickson, J. (1989). Event Management as a

Common Functional Area of Open Systems Management.

Integrated Network Management, Boston, North-Holland.

?? Feng, Y. y otros (2000). A Dynamic Load Balancing Algorithm

Based on Distributed Database System. IEEE.

?? Gaedke, M. y otros. (1998). Web Content Delivery to Heterogeneous

Mobile Platforms. Telecooperation office (TecO), Universidad de

Karlsruhe, Alemania.

?? Gavin, D. (2001). Performance Monitoring Tools for Linux. Link:

www.linuxjournal.com

Page 130: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

122

?? Giordano, J. (2001). Managing rollback segments.

Link:http://searchhp.techtarget.com

?? Giguere, E. (2000). Java 2 Micro Edition. USA, Wiley.

?? Holden, D. (1989). MANDIS: Management of Distributed Systems .

(Vol. 433).

?? Imielinski, T. y Badrinath, B. (1998). Mobile Wireless Computing:

Challenges in Data Management. Department of Computer

Science, Universidad Rutgers.

?? Joyce, J. y otros. (1987). Monitoring Distributed Systems. ACM

Trans. Comput. Syst., Vol. 5, No. 2.

?? Kaljuvee, O. y otros. (2001). Efficient Web Form Entry on PDAs .

Digital Libraries Proyect (InfoLab), Universidad de Stanford,

California, USA.

?? Lina, L., Longguo L. y Yang X. (2001). An Agent-based Load

Balancing Mechanism: PLRM Using Java. Departamento de

Computer Science & Engineering, Universidad Xi’an Jiaotong.

?? Mansouri, M. y Sloman, M. (1995). Monitoring Distributed

Systems. Imperial College of Science, Technology and Medicine,

Universidad de Londres.

Page 131: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

123

?? McDowell, C. y Helmbold, D. (1989). Debugging Concurrent

Programs. ACM Computing Surveys. (Vol. 21, No. 4).

?? McLaughlin, B. (2000). Java and XML . USA, O’Reilly.

?? Nakhimovsky, A y Myers, T. (2000). Java XML programming with

servlets and JSP. USA, Wrox.

?? Quatrani, T. (1998). Visual Modeling with Rational Rose and UML.

USA, Addison-Wesley.

?? Rahm, E. (1996). Dinamic Load Balancing i n Parallel Database

Systems. Instituto de Computer Science, Universidad de Leipzig,

Alemania.

?? Rahm, E. y Marek, R. (1995). Dinamic Multi-Resource Load

Balancing in Parallel Database Systems. Instituto de Computer

Science, Universidad de Leipzig, Alemania.

?? Rennhackkamp, M. (2001). Performance Monitoring. Link:

www.dbmsmag.com

?? Schneider, G. y Winters, J. (1998). Applying Use Cases A Practical

Guide. USA, Addison-Wesley.

?? Van Riek, M., Bernard T. y Xavier-Francois V. (1993). Monitoring

of Distributed Memory Multicomputer Programs . Center of

Research on Parallel Computation, Universidad de Rice.

Page 132: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

124

APÉNDICE A: DIAGRAMAS DE SECUENCIA

Page 133: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

125

Reportes del Sistema

Mantenimiento de Usuarios

: Administrador del Sistema

: Distribuidor : GestorReportes : Bitacora

1: consultarTipoCliente( )

2: desplegarPantalla( )

3: GenerarReporteSistema( )4: consultarEvento( )

5: desplegarPantalla( )

: Administrador del Sistema

: Distribuidor : GestorUsuarios : Bitacora

1: consultarTipoCliente( )2: desplegarPantalla( )

3: insertarUsuario( )

4: modificarUsuario( )

5: borrarUsuario( )

6: almacenarEvento( )7: desplegarPantalla( )

Page 134: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

126

: DBA : Distribuidor : GestorUsuarios

1: desplegarPantalla( ) 2: autenticar( )3: consultarPerfil( )

4: desplegarPantalla( )

Autenticación

: Distribuidor : DBA

1: consultarTipoCliente( )

2: desplegarPantalla( )

: GestorReportes : Historicos : Bitacora

3: generarReporteDesempeño( ) 4: consultarHistorico( )

5: almacenarEvento( )

6: desplegarPantalla( )

7: RecibirEmail( )

Reportes de Desempeño

Page 135: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

127

Notificación de Eventos

Page 136: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

128

Monitoreo Periódico

Page 137: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

129

: Administrador del S is tema

: Distribuidor : Estandar : Bitacora

1: desplegarPantalla( )

2: desplegarPantalla( )

3: modificarEstandar( )

4: ModificarFrecuencia( )

6: almacenarEvento( )

5: desplegarPantalla( )

Configurar Monitoreo

Page 138: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

130

APÉNDICE B: TECNOLOGÍAS

Page 139: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

131

Linux

La Herramienta se desarrolló en el sistema operativo Linux. La

razón por la cual se escogió este sistema operativo, entre los estudiados,

fueron todas las ventajas que brinda para el monitoreo de su rendimiento.

Este sistema operativo es de código abierto, lo cual significa que no tiene

ningún costo para su uso y nos permitió reconfigurarlo a nuestras

necesidades para el desarrollo y pruebas de la herramienta, también nos

brindó una gran cantidad de documentación.

Los aspectos mas importantes a monitorear que nos brinda este sistema

operativo son :

Uso del CPU: estos son los posibles estados que presenta:

?? idle: esperando, desocupado.

?? user: funciones de alto nivel, movimientos de data, matemática, etc.

?? system: realizando funciones del núcleo, I/O y otras interacciones de

hardware

?? nice: el CPU se cambia a trabajos con mayor prioridad.

Notando el porcentaje de tiempo usado en cada estado, se logra

descubrir la sobrecarga en un estado u otro. Mucho tiempo e n “idle”

significa que el sistema no está haciendo nada; mucho tiempo de sistema

indica la necesidad de dispositivos que distribuyan la carga.

Interrupciones: La mayoría de los dispositivos I/O del sistema usan

interrupciones para decirle al CPU cuando hay trabajos por hacer.

Analizando la cantidad de interrupciones puede dar una idea de cuanta

carga están manejando los dispositivos.

Page 140: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

132

Memoria: Cuando varios procesos están corriendo y usando la memoria

disponible, el sistema se torna lento en la medida en que los procesos

crean paginaciones (paged, swapped) para poder crear espacio en la

memoria y así poder ejecutar otros procesos.

Paginaciones (Paging): Cuando la memoria disponible empieza a

disminuir, la memoria virtual crea paginaciones en el dispositivo de

“swap”, creado así espacio para procesos activos

Disk I/O : Linux mantiene estadísticas en los primeros cuatro discos; I/O

total, lecturas, escrituras, lectura y escritura de bloques.

Network I/O: Se diagnostican los problemas de red, y se examina la carga

de las interfases de red. Estas estadísticas muestran el tráfico que entra y

sale, colisiones y errores encontrados.

Page 141: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

133

Oracle

Este manejador de base de datos se adapta perfectamente al sistema

operativo escogido y a las finalidades de monitoreo que tiene este trabajo.

Los procesos usados por Oracle pueden ser monitoreados por medio del

sistema operativo o por medio de la instancia de Oracle en sí.

Monitoreando los procesos desde la instancia de Oracle se puede obtener

mejor información de lo que de verdad están haciendo estos procesos, pero

no se puede determinar exactamente cuantos recursos están consumiendo.

Es necesario una combinación del análisis interno y externo para poder

realizar un buen monitoreo.

Monitoreo por medio de línea de comandos

Se puede obtener una gran cantidad de información acerca de los

procesos de Oracle realizando consultas a las tablas internas de

rendimiento a través de las vistas “V$”. Estas vistas, predefinidas por

Oracle, utilizan las tablas dinámicas de rendimiento.

Oracle define las siguientes categorías para su monitoreo tanto de

recursos como de problemas:

?? “Fault Management Events” : condiciones catastróficas del sistema,

pueden ser problemas en la base de datos, en el nodo de conexión u

otro aspecto que requiera de una acción inmediata del

administrador.

?? “Space Management Events” : problemas de espacio de disco.

?? “Resource Management Events” : problemas de recursos del

sistema.

Page 142: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

134

?? “Performance Management Events”: problemas de rendimiento,

como exceso de uno del CPU o memoria cache.

Algunas vistas $V que son de mayor interés cuando se monitorean

procesos, son las siguientes:

?? V$CIRCUIT: Contiene información sobre los circuitos virtuales que

son creados por procesos de servidor.

?? V$QUEU: Contiene información sobre las colas de espera

?? V$SESS_I: Contiene información de cada sesión

?? V$SHARED_SERVE: Contiene información compartida de los

servidores

?? V$SYSSTA: Contiene la mayoría de las estadísticas del sistema en

general

Un resumen completo de la descripción que nos puede brindar el

monitoreo interno de Oracle es:

?? Número de usuarios activos

?? Números de usuarios con una sesión abierta

?? Número de usuarios realizando una operación

?? Número de usuarios en espera

?? Buffer Cache Hit

?? File I/O Rate

?? Porcentaje Cache Hit de librerías

?? Memorial total

?? Porcentaje de memoria Hit

?? Porcentaje de espera del “rollback”

?? Rango de I/O del sistema

?? Rendimiento de procesamiento

Page 143: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

135

Java

Para complementar el uso de XML como lenguaje de programación se

utilizó Java, el cual brinda las siguientes ventajas:

Independencia de plataformas:

Hoy en día, tecnologías Java pueden ser usadas en cualquier

plataforma que tenga instalado el JVM ( Java Virtual Machine ).

Eficiencia:

Comparado con CGI, los Java servlets brindan más eficiencia en el

uso de los métodos que son requeridos por los usuarios. Los programas de

CGI necesitan crear procesos separados por cada petición de usuario. Los

Java servlets simplemente extienden una nueva tarea en el mismo

proceso para atender la petición del usuario. Esto permite que cientos de

usuarios tengan acceso al mismo servlet simultáneamente sin dejar fuera

de servicio al servidor.

Acceso a otras aplicaciones Java:

Como los servlets son una extensión de la plataforma Java, éstos

pueden acceder cualquier otra aplicación que tenga ambiente Java, como

por ejemplo, mandar y recibir E-Mail, invocar métodos de objetos remotos

usando RMI o CORBA, obtener información de directorios del sistema

operativo usando JNDI, o crear Enterprise Java Beans.

Page 144: Gestión remota de servidores de bases datosrepositorios.unimet.edu.ve/docs/25/TA168A53G4.pdf · Rafael Angelico Oswin Ondarza I. APROBACIÓN Consideramos que el Trabajo Final titulado

136

Reutilización de código:

Es un lenguaje completamente orientado a objetos, que permite el

reutilización de código.

Modularidad:

Cuando se crean grandes aplicaciones de server-side , los programas

tienden a crecer y complicarse. Es por esto que la aplicación se debe

romper en módulos discretos y cada uno de ellos debe tener una tarea

especifica. Esto hace que la aplicación sea fácil de mantener y entender.