Lección 10: Agregar suscriptores y suscripciones
En esta lección, revisará dos archivos VBScript para entender cómo envían datos de suscriptor y de suscripción a Notification Services, y luego ejecutará secuencias de comandos para agregar datos de suscriptor a la base de datos de la instancia y datos de suscripción a la base de datos de la aplicación.
Administración de suscriptores y suscripciones
Notification Services genera notificaciones basadas en las suscripciones creadas por los suscriptores. Estos suscriptores pueden ser personas u otras aplicaciones. Como parte del desarrollo de una aplicación de Notification Services, desarrollará una o más interfaces de modo que los suscriptores puedan administrar sus suscripciones.
Los datos de suscriptor incluyen un Id. de suscriptor e información sobre los dispositivos del suscriptor, como las direcciones de correo electrónico y direcciones de mensajería de texto. Cada suscriptor puede tener varios dispositivos.
Los datos de suscriptor se almacenan en objetos de base de datos de instancia. Todas las aplicaciones alojadas por una instancia de Notification Services utilizan los mismos datos de suscriptor.
Los datos de suscripción especifican la información de la aplicación en la que está interesado el suscriptor, como la ciudad en el caso de pronósticos meteorológicos, y qué dispositivo recibe las notificaciones. La aplicación puede tener lógica integrada para seleccionar dispositivos de suscriptor basados en lógica condicional, como el día, la hora o la importancia de los mensajes.
Los datos de suscripción se almacenan en aplicaciones de base de datos. Cada aplicación tiene sus propios datos de suscripción.
La mayor parte de las aplicaciones de Notification Services proporcionan una interfaz que los suscriptores pueden utilizar para administrar sus datos de suscriptor y de suscripción. A menudo se trata de una aplicación ASP.NET, pero puede ser una aplicación de Windows, un servicio Web o cualquier otra interfaz que desee desarrollar utilizando los objetos de administración de suscripciones de Notification Services. Para obtener más información, vea Desarrollar interfaces de administración de suscripciones.
Revisar la interfaz de administración de suscripciones de la aplicación Weather
Para simplificar las cosas, la aplicación Weather carga de forma masiva los datos de suscriptores y suscripciones mediante dos archivos VBScript. Esta forma de administrar suscriptores y suscripciones no es muy común, pero resulta de gran utilidad para crear prototipos y para probar las aplicaciones de notificación.
Estas secuencias de comandos ilustran cómo puede llamar a las interfaces de Notification Services desde componentes COM. Notification Services está escrito con código administrado (C#) y está diseñado para ser accesible tanto desde código administrado como desde código no administrado.
AddSubscribers.vbs
La primera secuencia de comandos VBScript, denominada AddSubscribers.vbs, agrega tres suscriptores a la instancia de Weather.
En primer lugar, cree los objetos NSInstance y Subscriber:
Dim nsInstance, nsSubscriber, nsSubscriberDevice
' Create and initialize NSInstance object.
Set nsInstance = WScript.CreateObject("Microsoft.SqlServer.NotificationServices.NSInstance")
nsInstance.Initialize "Tutorial"
' Create and initialize NSSubscriber object.
Set nsSubscriber = WScript.CreateObject("Microsoft.SqlServer.NotificationServices.Subscriber")
nsSubscriber.Initialize (nsInstance)
A continuación, agregue tres suscriptores mediante el objeto Subscriber:
' Add subscribers.
nsSubscriber.SubscriberId = "stephanie"
nsSubscriber.Add
nsSubscriber.SubscriberId = "david"
nsSubscriber.Add
nsSubscriber.SubscriberId = "richard"
nsSubscriber.Add
Por último, cree un objeto SubscriberDevice y agregue dispositivos de suscriptor para cada suscriptor:
' Create NSSubscriberDevice object.
Set nsSubscriberDevice = WScript.CreateObject("Microsoft.SqlServer.NotificationServices.SubscriberDevice")
nsSubscriberDevice.Initialize (nsInstance)
' DeviceName must match subscriptions that use this device
nsSubscriberDevice.DeviceName = "myDevice"
' Add a file device for each subscriber
nsSubscriberDevice.SubscriberId = "stephanie"
nsSubscriberDevice.DeviceTypeName = "File"
nsSubscriberDevice.DeviceAddress = "stephanie@adventure-works.com"
nsSubscriberDevice.DeliveryChannelName = "FileChannel"
nsSubscriberDevice.Add
nsSubscriberDevice.SubscriberId = "david"
nsSubscriberDevice.DeviceTypeName = "File"
nsSubscriberDevice.DeviceAddress = "david@adventure-works.com"
nsSubscriberDevice.DeliveryChannelName = "FileChannel"
nsSubscriberDevice.Add
nsSubscriberDevice.SubscriberId = "richard"
nsSubscriberDevice.DeviceTypeName = "File"
nsSubscriberDevice.DeviceAddress = "richard@adventure-works.com"
nsSubscriberDevice.DeliveryChannelName = "FileChannel"
nsSubscriberDevice.Add
AddSubscriptions.vbs
La otra secuencia de comandos VBScript, denominada AddSubscriptions.vbs, agrega una suscripción para cada uno de los tres suscriptores.
En primer lugar, cree e inicialice los objetos NSInstance, NSApplication y Subscription:
Dim nsInstance, nsApplication, nsSubscription
' Create NSInstance object.
Set nsInstance = WScript.CreateObject("Microsoft.SqlServer.NotificationServices.NSInstance")
nsInstance.Initialize "Tutorial"
' Create NSApplication object.
Set nsApplication = WScript.CreateObject("Microsoft.SqlServer.NotificationServices.NSApplication")
nsApplication.Initialize (nsInstance), "Weather"
' Create Subscription object.
Set nsSubscription = WScript.CreateObject("Microsoft.SqlServer.NotificationServices.Subscription")
nsSubscription.Initialize (nsApplication), "WeatherCity"
A continuación, defina las propiedades comunes para todas las suscripciones que carga:
nsSubscription.SetFieldValue "DeviceName", "myDevice"
nsSubscription.SetFieldValue "SubscriberLocale", "en-us"
Por último, agregue las suscripciones:
nsSubscription.SubscriberId = "stephanie"
nsSubscription.SetFieldValue "City", "Seattle"
nsSubscription.Add
nsSubscription.SubscriberId = "david"
nsSubscription.SetFieldValue "City", "Orlando"
nsSubscription.Add
nsSubscription.SubscriberId = "richard"
nsSubscription.SetFieldValue "City", "Seattle"
nsSubscription.Add
Cargar datos de suscriptor y suscripción
Ahora que ya está familiarizado con las secuencias de comandos, utilícelas para cargar datos de suscriptor en la instancia del tutorial y cargar datos de suscripción en la aplicación Weather.
Para cargar datos de suscriptor y suscripción
Utilice el Explorador de Windows para localizar la carpeta Weather del tutorial. La ubicación predeterminada para esta carpeta es C:\Archivos de programa\Microsoft SQL Server\90\Samples\Notification Services\tutorial\Weather.
Haga doble clic en el archivo AddSubscribers.vbs.
Debería recibir un mensaje que indica que los suscriptores se agregaron correctamente.
Haga doble clic en el archivo AddSubscriptions.vbs.
Debería recibir un mensaje que indica que las suscripciones se agregaron correctamente.
[!NOTA] Si instala Notification Services 2.0 después de instalar SQL Server 2005 Notification Services, las versiones incorrectas de los ensamblados se registrarán para la interoperabilidad COM y estas secuencias de comandos no funcionarán. Para obtener más información, vea Cómo registrar el ensamblado principal de Notification Services para la interoperabilidad COM.
Ver datos de suscriptor
Tras agregar los datos de suscriptor a la aplicación, puede ver el suscriptor y la información de los dispositivos utilizando la consulta ViewSubscribersAndDevices.sql.
Para ver datos de suscriptor
En el Explorador de soluciones, expanda Weather y Consultas y, a continuación, haga doble clic en ViewSubscribersAndDevices.sql.
Presione F5 para ejecutar la consulta.
Debería ver información del suscriptor y de los dispositivos para los tres suscriptores.
Cierre ViewSubscribersAndDevices.sql.
Ver datos de suscripción
Tras agregar los datos de suscripción en la aplicación, puede ver información de las suscripciones utilizando la consulta ViewSubscriptions.sql.
Para ver datos de suscripción
En el panel Explorador de suscripciones, haga doble clic en ViewSubscriptions.sql.
Presione F5 para ejecutar la consulta.
Debería ver tres suscripciones, una para cada suscriptor.
Cierre ViewSubscriptions.sql.
Lección siguiente
Lección 11: Enviar eventos a la aplicación Weather
Vea también
Conceptos
Tutorial de Notification Services
Otros recursos
Desarrollar interfaces de administración de suscripciones
Crear soluciones de notificación
Introducción a SQL Server Notification Services