Preguntas más frecuentes acerca de Notification Services
Microsoft ha compilado la siguiente lista de preguntas más frecuentes de los usuarios de Microsoft Notification Services.
Preguntas y respuestas
¿En qué se diferencia Notification Services del Agente SQL Server?
El Agente SQL Server se creó específicamente para enviar mensajes a los administradores de SQL Server o para ejecutar tareas predefinidas basadas en condiciones de servidor o de base de datos.
Por el contrario, Notification Services recopila datos de prácticamente cualquier origen, establece coincidencias entre los eventos y las suscripciones definidas por numerosos usuarios y envía mensajes con formato, con casi cualquier protocolo, a casi cualquier dispositivo que pueda recibir mensajes.
Aunque es posible personalizar el Agente SQL Server para enviar mensajes a muchos usuarios mediante desencadenadores, el Agente SQL Server no se diseñó para distribuir a miles o millones de usuarios. Notification Services puede distribuir a millones de usuarios y enviar millones de notificaciones al día.
Además, como plataforma de desarrollo, Notification Services ofrece características que reducen el tiempo necesario para poner en funcionamiento una aplicación. El Agente SQL Server no es una plataforma de desarrollo, por lo que no ofrece características similares.
Para obtener más información acerca de Notification Services, vea Introducción a SQL Server Notification Services.
¿Puedo ejecutar varias aplicaciones de notificaciones en un servidor?
Sí. Se implementan instancias de Notification Services y cada instancia puede alojar una o varias aplicaciones. Puede ejecutar varias instancias en un servidor; también es posible ejecutar varias versiones de Notification Services en un servidor.
Para determinar el número de aplicaciones que se van a ejecutar en un servidor, debe tener en cuenta la carga de procesamiento que producirá en el servidor cada una de las aplicaciones. La ejecución de demasiadas aplicaciones en un servidor disminuye el rendimiento.
Para obtener más información, vea Planear un sistema de Notification Services.
¿Cuánto tiempo se tarda en generar una notificación a partir de un evento?
En primer lugar, no todas las suscripciones se desencadenan por eventos. Algunas suscripciones especifican una programación para las notificaciones. En tal caso, las notificaciones se envían según la programación definida y no cuando se recibe el evento.
En el caso de las notificaciones desencadenadas por eventos, la latencia entre la repetición del evento y la entrega de la notificación depende en gran medida del diseño de la aplicación. Las causas de la latencia de notificación son las siguientes:
- Los eventos se deben enviar a Notification Services. El tiempo que transcurre entre la repetición de un evento y el envío del mismo en un lote de eventos por parte del proveedor de eventos es una de las causas de la latencia.
- El generador funciona según una programación determinada por el valor de la propiedad QuantumDuration del generador. Si la duración del cuanto es de 60 segundos, puede haber un retardo de 60 segundos antes de que se utilice un lote de eventos para crear notificaciones.
- El generador debe establecer coincidencias entre eventos y suscripciones para generar notificaciones. El establecimiento de coincidencias se realiza mediante una o varias consultas Transact-SQL. El rendimiento de dichas consultas determina la latencia de la generación de notificaciones. En general, cuanto mayor es el número de eventos y suscripciones que se evalúan simultáneamente, mayor es la duración del proceso. La latencia de coincidencia puede reducirse mediante reglas optimizadas e índices bien elegidos.
- El distribuidor funciona según una programación determinada por el valor de la propiedad QuantumDuration del distribuidor. Al igual que en el generador, si la duración del cuanto es de 60 segundos, puede haber un retardo de 60 segundos antes de que el distribuidor procese un lote de notificaciones.
- El distribuidor debe aplicar formato a las notificaciones y empaquetarlas para la entrega. El formato lo aplica un objeto formateador de contenido. Un formato complejo puede tardar más que un formato sencillo. Además, el envío de la notificación con formato a un servicio de entrega también requiere un tiempo. Por ejemplo, el envío de una notificación a un servidor HTTP puede tardar hasta 30 segundos.
Una vez que el distribuidor envía la notificación al servicio de entrega, como un servidor SMTP (protocolo simple de transferencia de correo), Notification Services no tiene ningún control sobre la latencia del envío de notificaciones.
¿Necesito instalar Microsoft Visual Studio 2005 para desarrollar aplicaciones de Notification Services?
No, Microsoft Visual Studio no es necesario, aunque puede facilitar el desarrollo.
Si desarrolla una aplicación que utiliza los proveedores de eventos y los formateadores de contenido estándar, puede generar la aplicación creando un archivo de definición de aplicación (ADF) XML y , a continuación, definiendo una instancia para alojar la aplicación mediante la creación de un archivo de configuración de instancia (ICF) XML. Puede crear estos archivos XML con cualquier editor XML o de texto.
Si desea generar una aplicación mediante los objetos de administración de Notification Services (NMO) o si está generando interfaces de administración de suscripciones, proveedores de eventos personalizados y formateadores de contenido, puede utilizar el entorno de desarrollo Visual Studio para crear estos objetos. No obstante, no es necesario utilizar Visual Studio. Puede utilizar cualquier editor de texto para escribir el código; debe instalar el SDK de Microsoft .NET Framework y compilar el código.
¿Cuáles son las ventajas relativas de un proveedor de eventos alojado y de uno no alojado?
La implementación de un proveedor alojado suele traducirse en un menor trabajo de desarrollo, ya que la instancia de Notification Services carga la API de Notification Services y mantiene la programación utilizada para activar el proveedor de eventos. Los proveedores alojados también se pueden habilitar y deshabilitar como cualquier otro componente y servicio de Notification Services.
Los proveedores de eventos no alojados son útiles si se posee una infraestructura capaz de enviar eventos, como una aplicación de administración de las relaciones con el cliente o una aplicación Web. Los proveedores de eventos no alojados sólo se enumeran en el archivo de definición de aplicación (ADF), de forma que las clases de suscripciones pueden hacer referencia a ellos.
Ya dispongo de una aplicación de administración de suscripciones escrita en código no administrado. ¿Puede mi aplicación llamar a la API de Notification Services?
Notification Services es compatible con la interoperabilidad COM para suscripciones simples. No obstante, no puede crear suscripciones basadas en condiciones mediante interoperabilidad COM, dado que las clases del espacio de nombres Microsoft.SqlServer.NotificationServices.Rules no admiten la interoperabilidad COM.
Para obtener más información, vea Interoperabilidad COM con Notification Services.
Vea también
Tareas
Resolver problemas comunes de Notification Services
Configurar el registro de eventos de Notification Services
Usar mensajes de eventos