SQL Server Notification Services es una plataforma desarrollada por Microsoft para el desarrollo e implementación de aplicaciones de notificación basadas en la tecnología SQL Server y Microsoft .NET Framework . Notification Services ofrece un motor de servidor escalable en el que ejecutar aplicaciones de notificación, con capacidad para múltiples servidores, lo que proporciona flexibilidad y escalabilidad para la implementación de aplicaciones. [1]
Los servicios de notificación se diseñaron para aliviar el esfuerzo de desarrollar e implementar aplicaciones de notificación que generen información personalizada y oportuna para los suscriptores.
Diseñar, codificar y probar todos los componentes que forman una aplicación de servicios de notificación robusta (como programación de notificaciones, detección de fallas, lógica de reintentos, administración de zona horaria, agrupación de notificaciones y administración de colas) puede ser una tarea abrumadora.
Con el paso de los años, el término " aplicaciones de notificación" ha sido reemplazado por el término " procesamiento de eventos complejos" (CEP) . La idea es que el usuario defina un conjunto de reglas (o consultas) de antemano y luego envíe los datos a través de esas reglas. Si los datos cumplen alguno de los criterios de las reglas, se activa alguna acción. Por ejemplo: una regla puede indicar "Si la velocidad del automóvil que pasa por el sensor es superior a 100 km/h, tomar una foto y registrarla"; de lo contrario, se descartan todos los demás datos.
Este enfoque es mucho más rápido que el diseño OLTP tradicional de; Insertar la(s) fila(s) en la base de datos mientras se sondean constantemente los datos para ver si ha sucedido algo relevante. Es especialmente adecuado para situaciones en las que se tienen entradas de alta velocidad, un conjunto fijo de consultas bastante simples y es posible que no sea necesario mantener todos los datos. [ cita requerida ] p. ej.: Algunas industrias miden el voltaje, la corriente y otros atributos de cientos de motores eléctricos en sus cintas transportadoras, 100 veces por segundo. Luego, comparan cada medición con su promedio; los operadores de la planta reciben una alerta en caso de que se produzca un cambio repentino.
SQL Server Notification Services fue uno de los muchos componentes que conformaban Microsoft SQL Server. Se lanzó por primera vez en Microsoft SQL Server 2000 Service Pack 2 (2003). Una versión mejorada que se envió en SQL Server 2005. Se discontinuó y se eliminó de SQL Server 2008, [2] aunque SQL Server 2005 SP3 permite que los componentes de Notification Services se ejecuten en el motor de base de datos de SQL Server 2008. [3] Ha sido reemplazado por StreamInsight, que se envió por primera vez como un componente de SQL 2008 R2. StreamInsight es una instalación independiente y no es visible como parte de una configuración normal de SQL Server.
Un marco de programación basado en Transact-SQL y XML , proporciona un modelo de programación declarativa y se presta para la creación rápida de prototipos y la implementación de aplicaciones de notificación robustas.
Se proporciona una API para crear aplicaciones de gestión de suscripciones, además de componentes estándar para recopilar datos de eventos de archivos y bases de datos de SQL Server, para formatear notificaciones mediante XSLT y para enviar notificaciones mediante el Protocolo simple de transferencia de correo (SMTP) o escribiendo notificaciones en un archivo.
Si los componentes estándar no satisfacen las necesidades de una aplicación, Notification Services se puede ampliar creando componentes personalizados utilizando la familia de lenguajes de programación .NET, como Microsoft Visual C# .NET y Microsoft Visual Basic .NET .
Por último, Notification Services puede comunicarse con una amplia variedad de proveedores de eventos y protocolos de entrega de Microsoft, de terceros y personalizados, lo que le permite comunicarse con sistemas existentes en entornos heterogéneos.