ALERTAS Y NOTIFICACIONES DE BASE DE DATOS
Sistemas de notificaciones y alertas
Las
notificaciones y alertas tienen como objetivo comunicar a un usuario
información referente a la ocurrencia de eventos de su interés en un sistema
informático. Se basan en la emisión de mensajes y avisos por programas o
servicios para advertir un evento al usuario, teniendo la propiedad de no
causar interrupciones en la ejecución de la tarea que se esté llevando a cabo.
Permiten la recolección de datos sobre eventos producidos en cualquier esfera.
Constituyen una parte orientada a sacar provecho de las experiencias y mejoran
la toma de decisiones dentro del ámbito de trabajo.
Historia
Desde
hace varias décadas los sistemas de notificaciones y alertas están implantados
en industrias de alto riesgo: aviación, industrias petroquímicas,energía
nuclear,entreotros sectores,destacándose fundamentalmente el sector de la
salud.
Alertas en un
sistema
Las
alertas son mensajes enviados a un determinado usuario sobre eventos que van a
ocurrir en un sistema y que necesitan ser informados. Esta información debe ser
chequeada, en tiempo real, porque está encaminada a mejorar la situación
advertida. Las mismas deben persistir en el sistema hasta tanto no se le dé
solución. Existen en el mundo numerosas implementaciones de estos sistemas
entre los que se pueden mencionar: servicios de mensajería instantánea,
aplicaciones que muestran el estado de un sistema, servicios de noticias e
indicadores de cantidades almacenadas; además de sistemas más sofisticados
Como: los incorporados en los vehículos para proporcionar información de los
mismos, los multi-monitor que indican excesos de rango y las cabinas de los
aviones modernos.
Clasificación de los
sistemas de notificaciones y alertas
De
acuerdo a la difusión de los datos un sistema de notificaciones y alertas puede
ser:
·
Oportuno en el tiempo.
·
Específico o con enfoque práctico.
De
acuerdo al tipo de evento que se notifica se clasifican en:
·
sistemas generales: no existe
restricción en el tipo de evento notificado.
·
Sistemas específicos:restringen
determinadas áreas.
Escenarios de uso de
la tecnología de notificación y alertas
Dependiendo
del conjunto de escenarios de interacción del sistema con los diferentes tipos
de usuario, existen determinadas situaciones de uso frecuentes de los sistemas
de notificaciones y alertas:
Aplicaciones
de consumidor: Se puede enviar notificaciones a los
clientes,ejemplo:
·
Una agencia de corredores de bolsa
puede enviarprecios de valores bursátiles y de fondos según los criterios
definidos por el cliente.La notificación puede contener un vínculo que permita
al cliente comprar o vender valores.
·
Una institución financiera puede
enviar notificaciones sobre balances bajos o pagos atrasados al dispositivo que
elija el suscriptor,como el correo electrónico entre otros.
·
Una compañía aérea puede enviar
información sobre las llegadas de vuelos y los retrasos en las salidas.
·
Un agente de la propiedad inmobiliaria
puede enviar listados de casas que cumplan los criterios de un cliente.
Aplicaciones
operativas: Se puede enviar notificaciones acerca de las
operaciones de la empresa, ejemplo:
·
Cuando una máquina de una línea de
montaje necesita atención, el responsable de la línea de montaje recibe una
notificación sobre la máquina que está inoperativa y el error de la misma.
·
Cuando un registro de eventos del
servidor de producción recibe un error importante, el técnico de soporte recibe
una notificación que contiene el mensaje de error.
Aplicaciones
de business intelligence: Se puede realizar un seguimiento
de la información fundamental para la empresa,ejemplo:
·
Una base de datos mantiene el
inventario actual de todos los productos de una empresa. Cuando el inventario
de tarjetas de red, cae por debajo de las 50 unidades, la aplicación recibe una
notificación para informarle de que envíe un pedido de tarjetas de red.
Comunicación
con los empleados: Permite informar a los empleados
acerca de sus proyectos,ejemplo:
·
Varias personas colaboran en una
propuesta importante.Cuando el principal implicado actualice la propuesta, se
debe emitir una notificación a los demás miembros del equipo.
·
Cuando se trabaja en un nuevo producto
y necesita mantenerse informado sobre la investigación relacionada con el
producto. Cuando se dispone de un nuevo informe en el archivo de la empresa,
recibe un mensaje de correo electrónico que contiene un vínculo al informe.
Arquitectura de la
tecnología de notificación.
Figura
1. Vista arquitectónica de un sistema de notificaciones y alertas.jpg
La
arquitectura básica de un sistema de notificaciones se define con cuatro
elementos principales como se muestra en la Figura 1:
Datos
del usuario: información primordial que posee un sistema de
notificación, se resume en los datos del usuario final, el cual recibe todos y
cada uno de los avisos generados por el sistema, estos datos dependiendo del
dispositivo a entregar pueden ser: número de teléfono celular, dirección de
correo electrónico, direcciones IP y nombres de dominio, etc.
Base
de datos: el sitio donde se almacena la información
principal para que se generen los eventos y así los usuarios reciban la
información necesaria o generada. Los eventos que se generan en la base de
datos son: inserciones, modificaciones o eliminaciones; estos producirán las
notificaciones de información a los usuarios.
Manejador
de notificaciones: organiza las acciones a
realizarse después de detectar un evento, del mismo se busca la relación con
los usuarios existentes, una vez hecho esto analiza la información de dichos
usuarios, arma el mensaje o notificación a enviarse y ejecuta el envió de
acuerdo al dispositivo registrado por el usuario en el sistema.
Dispositivos: destino
de la información a los cuales se les enviar la notificación tales como: número
de teléfono celular, dirección de correo electrónico, direcciones IP y nombres
de Dominio.
Growl
Es
un sistema de notificaciones que se integra con diversas aplicaciones, está
disponible en diferentes idiomas, permite enviar notificaciones mediante
guiones gracias a una interfaz de línea de comandos, dispone de bibliotecas
para diferentes lenguajes de programación, tiene licencia gratis 100% y su
descarga es gratuita, diseñado para Windows y encargado de informar todos
aquellos sucesos que están pasando en el ordenador y que no se verían si no se
tuviera Growl. Por ejemplo, avisa cuando termina una descarga o informa de qué
canción ha empezado a sonar en iTunes y todo ello en una interfaz altamente
personalizable. La aplicación trabaja en segundo plano, monitorizando los
eventos relacionados con las aplicaciones que previamente se le indica que
vigile. Es capaz de gestionar los eventos de más de 40 aplicaciones, como
Windows Media Player, Media Center, Visual Studio, System Monitor, Outlook,
Google Wave, Firefox, Foobar 2000, Feed Monitor, entre otros. Tiene soporte
para incluir imágenes en las notificaciones, las portadas de los álbumes.
También tiene soporte para atajos de teclado, que pueden facilitar tareas como
cerrar las notificaciones. Dispone de un historial de notificaciones y un
sistema de resumen de todo lo que ha pasado en el ordenador mientras no se ha
estado presente. El sistema permite descubrir otros usuarios de Growl presentes
en la red. Es capaz de enviar notificaciones por correo, vía Twitter o
directamente al iPhone.
Gmail Notifier
Una
de las principales ventajas de Gmail Notifier, consiste en: completamente
gratuito. Está desarrollado con Adobe Air, por lo tanto se ejecuta en Windows,
Mac OS X y Linux. A diferencia de otras herramientas similares, este sistema de
notificaciones avisa los mensajes nuevos con divertidas animaciones en el
escritorio (dejando a un lado la formalidad). Cada vez que se envía un nuevo
mensaje, se muestra una animación en la pantalla, desplegando parte del correo
recibido. Además permite elegir entre diferentes animaciones, y aunque algunas
son bastante sencillas, existen otras que ocupan gran parte del escritorio e
incluso reproduciendo diversos sonidos. Las animaciones, son su principal
característica, pues no tiene muchas funciones, pero trabaja a la perfección
como un notificador de correos.
Google Buzz
Está
diseñado para recopilar la actividad social de sus usuarios. Cada vez que un
seguidor comenta la actividad de un usuario, este enviaba una notificación
informando de ella. Los usuarios pueden decidir sobre qué notificaciones serán
informados, pues se añadieron nuevas opciones para modificar la manera de envío
de las notificaciones a la bandeja de entrada. El usuario encontrará un mensaje
en la parte de arriba de cada entrada explicando si está en la bandeja por
haber sido comentada por un usuario o si, por ejemplo, si era una respuesta a
un comentario del autor. Junto a esta explicación para cada entrada se ha
añadido la opción de detener las notificaciones, para el caso de que no
resulten de interés, no vuelvan a aparecer las mismas.
Facebook
Sistema
de redes sociales que envía notificaciones a través de los perfiles en la
propia cuenta de Facebook y al correo electrónico. Indica cuando se tienen
nuevos mensajes, eventos e invitaciones. Además permite actualizar el estado
desde la aplicación. Al abrir la página, aparecerá un icono en el área de
notificación, haciendo click sobre él, mostrará todas las notificaciones
recibidas. Facebook utiliza las notificaciones para avisar de cualquier cambio
o actividad en tu cuenta. Actualmente entre los eventos que se notifican
podemos citar entre otros:
·
1. Algún amigo cambia su estado o su
perfil.
·
2. Te envían una petición de amigo,
evento o grupo.
·
3. Alguien escribe en el muro de
alguno de tus amigos.
·
4. Una foto es etiquetada con el
nombre de uno de tus amigos.
MySpace Notifier
Es
una pequeña aplicación que se ubica en la barra de sistema del escritorio y
notifica cuando se reciben nuevos mensajes, comentarios y pedidos de amigos, en
el espacio de MSN. El programa muestra una ventana emergente tipo balón y su
icono cambia para cada notificación, una vez recibida, se pincha en la ventana
de notificación y se traslada automáticamente a la cuenta del usuario que lo
está solicitando. Requiere para su uso, utilizar como navegador el Internet
Explorer 4.0.
Arquitectura
de la tecnología de notificación
La
creación de eventos MySQL han sido habilitados desde la versión 5.1.6 de MySQL,
y ofrecen una alternativa a las tareas programadas y trabajos cron. Estos
eventos pueden ser utilizados para crear copias de seguridad, eliminar
registros, agregar datos en los informes, etc.
Un
evento es un objeto que se desencadena por el paso del tiempo y se refiere a
veces como un trigger temporal. Los eventos se pueden programar para que se
ejecuten una vez o en un intervalo de tiempo cuando el servidor se encuentra
con actividad baja.
En
este artículo se va a explicar lo que necesitan saber para comenzar a utilizar
eventos.
Arquitectura
de la tecnología de notificación
El
planificador de eventos MySQL es un proceso que se ejecuta en segundo plano y
que busca constantemente eventos a ejecutar. Antes de crear o programar un
evento es necesario activar primero el planificador, esta activación se realiza
a través del siguiente comando:
mysql>
SET GLOBAL event_scheduler = ON;
Del
mismo modo para desactivarlo se tiene que usar el siguiente comando:
mysql>
SET GLOBAL event_scheduler = OFF;
Una
vez se encuentre activado puedes ver su estado a través del siguiente comando:
mysql>
SHOW PROCESSLIST
Trabajando con eventos
Es
importante indicar que el evento únicamente puede realizar las acciones dentro
de los permisos que tiene el usuario MySQL que lo creo. Otras restricciones a
tener en cuenta son:
·
El nombre de los eventos MySQL no
puede superar los 64 caracteres.
·
Cada nombre del evento debe de ser
único.
·
A partir de la versión 5.1.8 de MySQL
no se distinguen las mayúsculas y minúsculas en los nombres de los eventos.
·
Los eventos no se pueden crear,
modificar o borrar a partir de otro evento.
·
No se puede hacer referencia a una
función almacenada por el usuario desde un evento.
Creando eventos
En
la siguiente imagen se ve un ejemplo de un evento creado:
Este
evento se ejecutará una vez, una hora después de que el evento haya sido
creado. Entre los campos BEGIN y END se establecen las
diferentes consultas que se ejecutarán, en este caso la actualización de un
valor en una tabla en concreto. Como la sentencia UPDATE debe
finalizar en punto y coma (;) habrá que cambiar los delimitadores (DELIMITER)
antes del evento y posteriormente dejarlo como se encontraba.
Se
puede ver todos los eventos creados a través del siguiente comando:
mysql>
SHOW EVENTS
Una
vez el evento se haya ejecutado se procederá a su eliminación automáticamente,
excepto si se añade la condición ON COMPLETION que le permitirá
guardar el evento para una posterior modificación o nuevo uso como se muestra
en este ejemplo:
Para
eliminar permanentemente un evento se puede utilizar el comando DROP EVENT:
DROP
EVENT nombreEvento;
Para
que un evento se ejecute de forma recurrente se debe de utilizar la condición EVERY.
Como se muestra en este ejemplo:
También
se puede especificar la ejecución de un evento dentro de un período de tiempo
con las clausulas START y END. Ejemplo:
En
este ejemplo el evento comenzaría ejecutándose al día siguiente y continuaría
ejecutándose cada hora durante un año completo.
Los
intervalos de tiempo que se pueden utilizar son los siguientes: YEAR
(año), MONTH (mes), WEEK (semana), DAY (día), MINUTE (minuto) o SECOND
(segundo).
Actualizando eventos
Si
quisiéramos modificar un evento ya creado, en vez de borrarlo y crearlo de
nuevo se podría utilizar la sentencia ALTER EVENT. Siguiendo los ejemplos
anteriores de eventos para modificar el intervalo de tiempo de su ejecución y
que comenzará a ejecutarse en un día próximo a la 1 de la mañana se haría
del siguiente modo:
Para
modificar el nombre de un evento se podría utilizar la clausula RENAME como se
ve en este ejemplo:
Puede
descargarse MySQL desde su página oficial.
Alertas en un
sistema
Clasificación de los
sistemas de notificaciones y alertas
Escenarios de uso de
la tecnología de notificación y alertas
Arquitectura de la
tecnología de notificación.
Growl
Gmail Notifier
Google Buzz
Facebook
MySpace Notifier
Gracias me ayudaste mucho
ResponderEliminar