Lektion 10: Hinzufügen von Abonnenten und Abonnements

In dieser Lektion überprüfen Sie zwei VBscript-Dateien, um ein Verständnis dafür zu entwickeln, wie mithilfe dieser Dateien Abonnenten- und Abonnementdaten an Notification Services übermittelt werden. Danach führen Sie die Skripts aus, um Abonnentendaten zur Instanzdatenbank und Abonnementdaten zur Anwendungsdatenbank hinzuzufügen.

Abonnenten- und Abonnementverwaltung

Von Notification Services werden Benachrichtigungen basierend auf von Abonnenten erstellten Abonnements generiert. Bei diesen Abonnenten kann es sich um Menschen oder Anwendungen handeln. Als Teil der Entwicklung einer Notification Services-Anwendung entwickeln Sie eine oder mehrere Anwendung(en), sodass Abonnenten ihre Abonnements verwalten können.

Die Abonnentendaten beinhalten eine Abonnenten-ID und Informationen zu Einrichtungen des Abonnenten wie E-Mail- und Text-Messaging-Adressen. Jeder Abonnent kann über mehrere Einrichtungen verfügen.

Abonnentendaten werden in Instanzdatenbankobjekten gespeichert. Alle von einer Notification Services-Instanz gehosteten Anwendungen verwenden dieselben Abonnentendaten.

Durch die Abonnementdaten wird angegeben, an welchen Anwendungsinformationen der Abonnent interessiert ist (beispielsweise der Stadt für Wettervorhersagen) und von welchen Geräten die Benachrichtigungen empfangen werden. Ihre Anwendung verfügt möglicherweise über eine eingebaute Logik für die Auswahl von Abonnentengeräten, die auf Bedingungslogik wie Tag, Zeit oder Wichtigkeit der Nachricht basiert.

Abonnementdaten werden in Anwendungsdatenbanken gespeichert. Jede Anwendung verfügt über eigene Abonnementdaten.

Die meisten Notification Services-Anwendungen bieten eine Schnittstelle, mit der Abonnenten ihre Abonnenten- und Abonnementdaten verwalten können. Dies ist häufig eine ASP.NET-Anwendung, es kann sich dabei aber auch um eine Windows-Anwendung, einen Webdienst oder eine andere Schnittstelle handeln, die Sie mithilfe von Notification Services-Abonnementverwaltungsobjekten entwickeln möchten. Weitere Informationen finden Sie unter Entwickeln von Abonnementverwaltungsschnittstellen.

Überprüfen der Wetterabonnement-Verwaltungsschnittstelle

Aus Gründen der Vereinfachung werden die Abonnenten- und Abonnementdaten der Wetteranwendung mit einem Massenkopiervorgang mithilfe von zwei VBScript-Dateien geladen. Dies stellt keine übliche Vorgehensweise für das Verwalten von Abonnenten und Abonnements dar, ist aber für das Prototyping und Testen Ihrer Benachrichtigungsanwendungen nützlich.

Diese Skripts veranschaulichen, wie Sie Notification Services-Schnittstellen aus COM-Komponenten aufrufen können. Notification Services ist in verwaltetem Code (C#) geschrieben und so entworfen, dass sowohl aus verwaltetem wie nicht verwaltetem Code darauf zugegriffen werden kann.

AddSubscribers.vbs

Mithilfe des ersten VB-Skripts (AddSubscribers.vbs) werden drei Abonnenten zur Wetterinstanz hinzugefügt.

Zuerst erstellen Sie NSInstance- und Subscriber-Objekte:

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)

Danach fügen Sie mithilfe des Subscriber-Objekts drei Abonnenten hinzu:

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

nsSubscriber.SubscriberId = "david"
nsSubscriber.Add

nsSubscriber.SubscriberId = "richard"
nsSubscriber.Add

Schließlich erstellen Sie ein SubscriberDevice-Objekt und fügen Abonnentengeräte für jeden Abonnenten hinzu:

' 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

Mithilfe des anderen VB-Skripts (AddSubscriptions.vbs) wird für jeden der drei Abonnenten ein Abonnement hinzugefügt.

Zuerst erstellen und initialisieren Sie die Objekte NSInstance, NSApplication und 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"

Danach legen Sie die allgemeinen Eigenschaften für alle Abonnements fest, die geladen werden:

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

Schließlich fügen Sie die Abonnements hinzu:

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

Laden der Abonnenten- und Abonnementdaten

Nachdem Sie sich mit den Skripts vertraut gemacht haben, verwenden Sie sie zum Laden von Abonnentendaten in die Lernprogramminstanz und zum Laden von Abonnementdaten in die Wetteranwendung.

So laden Sie Abonnenten- und Abonnementdaten

  1. Suchen Sie mithilfe des Windows-Explorers den Lernprogrammordner Weather. Der Standardspeicherort für diesen Ordner ist C:\Programme\Microsoft SQL Server\90\Samples\Notification Services\tutorial\Weather.

  2. Doppelklicken Sie auf AddSubscribers.vbs.

    Es sollte eine Meldung zum erfolgreichen Hinzufügen von Abonnenten angezeigt werden.

  3. Doppelklicken Sie auf AddSubscriptions.vbs.

    Es sollte eine Meldung zum erfolgreichen Hinzufügen von Abonnements angezeigt werden.

ms167266.note(de-de,SQL.90).gifHinweis:
Wenn Sie Notification Services 2.0 nach der Installation von SQL Server 2005 Notification Services installiert haben, werden die falschen Versionen der Assemblys für die COM-Interoperabilität registriert. Die Skripts können dann nicht ordnungsgemäß ausgeführt werden. Weitere Informationen finden Sie unter Vorgehensweise: Registrieren der Notification Services-Kernassembly für COM-Interop.

Anzeigen von Abonnentendaten

Nach dem Hinzufügen von Abonnentendaten zur Anwendung können Sie die Abonnenten- und Geräteinformationen mithilfe der ViewSubscribersAndDevices.sql-Abfrage anzeigen.

So zeigen Sie Abonnentendaten an

  1. Erweitern Sie im Projektmappen-Explorer Wetter, erweitern Sie Abfragen, und doppelklicken Sie dann auf ViewSubscribersAndDevices.sql.

  2. Drücken Sie die Taste F5, um die Abfrage auszuführen.

    Es sollten Abonnenten- und Geräteinformationen für drei Abonnenten angezeigt werden.

  3. Schließen Sie ViewSubscribersAndDevices.sql.

Anzeigen von Abonnementdaten

Nach dem Hinzufügen von Abonnementdaten zur Anwendung können Sie die Abonnementinformationen mithilfe der ViewSubscriptions.sql-Abfrage anzeigen.

So zeigen Sie Abonnementdaten an

  1. Doppelklicken Sie im Projektmappen-Explorer auf ViewSubscriptions.sql.

  2. Drücken Sie die Taste F5, um die Abfrage auszuführen.

    Es sollten drei Abonnements angezeigt werden, eines für jeden Abonnenten.

  3. Schließen Sie ViewSubscriptions.sql.

Nächste Lektion

Lektion 11: Übermitteln von Ereignissen an die Weather-Anwendung

Siehe auch

Konzepte

Notification Services-Lernprogramm

Andere Ressourcen

Entwickeln von Abonnementverwaltungsschnittstellen
Erstellen von Benachrichtigungslösungen
Einführung in SQL Server Notification Services

Hilfe und Informationen

Informationsquellen für SQL Server 2005