Leçon 10 : Ajout d'abonnés et d'abonnements

Au cours de cette leçon, vous allez étudier deux fichiers VBScript pour comprendre comment ils envoient les données d'abonné et d'abonnement à Notification Services, puis vous exécuterez les scripts pour ajouter les données d'abonné à la base de données d'instance et les données d'abonnement à la base de données d'application.

Gestion des abonnés et des abonnements

Notification Services génère des notifications sur la base des abonnements créés par les abonnés. Les abonnés peuvent être des personnes ou d'autres applications. Dans le cadre du développement d'une application Notification Services, vous développez une ou plusieurs interfaces pour que les abonnés puissent gérer leurs abonnements.

Les données d'abonné comprennent un ID d'abonné et des informations sur les périphériques de l'abonné par exemple, les adresses de messagerie électronique et de messagerie textuelle. Chaque abonné peut disposer de plusieurs périphériques.

Les données d'abonné sont stockées dans des objets de base de données d'instance. Toutes les applications hébergées par une instance de Notification Services utilisent les mêmes données d'abonné.

Les données d'abonnement spécifient les informations de l'application qui intéressent l'abonné par exemple, la ville pour les prévisions météorologiques et le périphérique sur lequel recevoir les notifications. Votre application peut intégrer une logique pour la sélection des périphériques des abonnés basée sur une logique conditionnelle par exemple, le jour, l'heure ou l'importance du message.

Les données d'abonnement sont stockées dans des bases de données d'application. Chaque application contient ses propres données d'abonnement.

La plupart des applications Notification Services offrent une interface que les abonnés peuvent utiliser pour gérer leurs données d'abonné et d'abonnement. Il s'agit souvent d'une application ASP.NET, mais il peut également s'agir d'une application Windows, d'un service Web ou de toute autre interface que vous souhaitez développer en utilisant des objets de gestion d'abonnement Notification Services. Pour plus d'informations, consultez Développement d'interfaces de gestion d'abonnement.

Examen de l'interface de gestion des abonnements Weather

Pour des raisons de simplicité, l'application Weather charge en bloc les données d'abonné et d'abonnement en utilisant deux fichiers VBScript. Cette méthode de gestion des abonnés et des abonnements n'est pas la plus courante, mais elle est utile pour créer des prototypes et tester vos applications de notification.

Ces scripts montrent comment vous pouvez appeler des interfaces Notification Services à partir de composants COM. Notification Services est écrit en code managé (C#), mais il est conçu pour un accès à la fois à partir d'un code managé et non managé.

AddSubscribers.vbs

Le premier script, appelé AddSubscribers.vbs, permet d'ajouter trois abonnés à l'instance de l'application Weather.

Tout d'abord, créez les objets NSInstance et 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)

Ensuite, ajoutez trois abonnés en utilisant l'objet Subscriber :

' Add subscribers.
nsSubscriber.SubscriberId = "stephanie"
nsSubscriber.Add

nsSubscriber.SubscriberId = "david"
nsSubscriber.Add

nsSubscriber.SubscriberId = "richard"
nsSubscriber.Add

Enfin, créez un objet SubscriberDevice et ajouter des périphériques abonnés pour chaque abonné :

' 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

L'autre script, appelé AddSubscriptions.vbs, permet d'ajouter un abonnement pour chacun des trois abonnés.

Tout d'abord, créez et initialisez les objets NSInstance, NSApplication et 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"

Ensuite, définissez les propriétés communes des trois abonnements que vous chargez :

nsSubscription.SetFieldValue "DeviceName", "myDevice"
nsSubscription.SetFieldValue "SubscriberLocale", "en-us"

Enfin, ajoutez les abonnements :

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

Chargement des données d'abonné et d'abonnement

Étant à présent familiarisé avec les scripts, vous pouvez les utiliser pour charger les données d'abonné dans l'instance de l'application Tutorial et les données d'abonnement dans l'application Weather.

Pour charger les données d'abonné et les données d'abonnement

  1. Dans l'Explorateur Windows, recherchez le dossier du didacticiel Weather. L'emplacement par défaut de ce dossier est C:\Program Files\Microsoft SQL Server\90\Samples\Notification Services\tutorial\Weather.

  2. Double-cliquez sur AddSubscribers.vbs.

    Vous devez recevoir le message « Subscribers successfully added » confirmant l'ajout des abonnés.

  3. Double-cliquez sur AddSubscriptions.vbs.

    Vous devez recevoir le message « Subscriptions successfully added » confirmant l'ajout des abonnements.

ms167266.note(fr-fr,SQL.90).gifRemarque :
Si vous procédez à l'installation de Notification Services 2.0 après celle de SQL Server 2005 Notification Services, les versions des assemblys inscrites pour COM Interop ne sont pas correctes et ces scripts ne fonctionnent pas. Pour plus d'informations, consultez Procédure : enregistrer l'assembly de base de Notification Services pour COM Interop.

Afficher les données d'abonné

Après avoir ajouté les données d'abonné à l'application, vous pouvez afficher les informations relatives aux abonnés et aux périphériques en utilisant la requête ViewSubscribersAndDevices.sql.

Pour afficher les données d'abonné

  1. Dans l'Explorateur de solutions, développez Weather, Requêtes, puis double-cliquez sur ViewSubscribersAndDevices.sql.

  2. Appuyez sur F5 pour exécuter la requête.

    Les informations d'abonné et de périphérique doivent s'afficher pour trois abonnés.

  3. Fermez ViewSubscribersAndDevices.sql.

Afficher les données d'abonnement

Après avoir ajouté les données d'abonnement à l'application, vous pouvez afficher les informations relatives aux abonnements en utilisant la requête ViewSubscriptions.sql.

Pour afficher les données d'abonnement

  1. Dans l'Explorateur de solutions, double-cliquez sur ViewSubscriptions.sql.

  2. Appuyez sur F5 pour exécuter la requête.

    Vous devez voir trois abonnements, un pour chaque abonné.

  3. Fermez ViewSubscriptions.sql.

Leçon suivante

Leçon 11 : Soumission d'événements à l'application Weather

Voir aussi

Concepts

Didacticiel Notification Services

Autres ressources

Développement d'interfaces de gestion d'abonnement
Création de solutions de notification
Présentation de SQL Server Notification Services

Aide et Informations

Assistance sur SQL Server 2005