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.
https://www.ecured.cu/images/thumb/2/29/Figura_1._Vista_arquitect%C3%B3nica_de_un_sistema_de_notificaciones_y_alertas.jpg/140px-Figura_1._Vista_arquitect%C3%B3nica_de_un_sistema_de_notificaciones_y_alertas.jpg
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
Eventos MySQL
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:
Eventos MySQL
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
ver_evento
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:
on_completion
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:
every_eventos
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:
evento_start_end
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:
modificar_evento
Para modificar el nombre de un evento se podría utilizar la clausula RENAME como se ve en este ejemplo:
renombrar_evento
Puede descargarse MySQL desde su página oficial.

Comentarios

Publicar un comentario

Entradas populares de este blog

JOIN SQL