Share via


Lezione 10: Aggiunta di sottoscrittori e sottoscrizioni

In questa lezione verranno esaminati due file VBScript per illustrare le modalità di invio dei dati del sottoscrittore e della sottoscrizione a Notification Services; verranno quindi eseguiti gli script per aggiungere i dati del sottoscrittore al database dell'istanza e i dati della sottoscrizione al database dell'applicazione.

Gestione dei sottoscrittori e delle sottoscrizioni

Notification Services consente di generare notifiche basate sulle sottoscrizioni create dai sottoscrittori. Tali sottoscrittori possono essere rappresentati da utenti o da altre applicazioni. Ai fini dello sviluppo di un'applicazione Notification Services, vengono create una o più interfacce in modo da consentire ai sottoscrittori di gestire le rispettive sottoscrizioni.

I dati del sottoscrittore includono un ID del sottoscrittore e informazioni sui dispositivi del sottoscrittore, quali gli indirizzi di posta elettronica o per l'invio di messaggi di testo. Ogni sottoscrittore può disporre di più dispositivi.

I dati del sottoscrittore vengono archiviati in oggetti del database dell'istanza. Tutte le applicazioni ospitate da un'istanza di Notification Services utilizzano gli stessi dati del sottoscrittore.

I dati della sottoscrizione consentono di determinare il tipo di informazioni sull'applicazione rilevanti per il sottoscrittore, ad esempio la città per le previsioni meteorologiche e il tipo di dispositivo sul quale vengono ricevute tali notifiche. È possibile dotare l'applicazione di logica predefinita che consente di selezionare i dispositivi del sottoscrittore in base a una logica condizionale, ad esempio la data, l'orario o la priorità del messaggio.

I dati della sottoscrizione vengono archiviati nei database dell'applicazione. Ogni applicazione dispone dei propri dati della sottoscrizione.

La maggior parte delle applicazioni Notification Services dispone di un'interfaccia che i sottoscrittori possono utilizzare per gestire i dati del sottoscrittore e della sottoscrizione. In genere si tratta di un'applicazione ASP.NET; tuttavia potrebbe anche trattarsi di un'applicazione Windows, un servizio Web o di qualsiasi altra interfaccia che si desideri sviluppare utilizzando gli oggetti per la gestione delle sottoscrizioni di Notification Services. Per ulteriori informazioni, vedere Sviluppo di interfacce di gestione delle sottoscrizioni.

Analisi dell'interfaccia per la gestione delle sottoscrizioni Weather

Per ragioni di semplicità, l'applicazione Weather esegue caricamenti di massa dei dati del sottoscrittore e della sottoscrizione utilizzando due file VBScript. Questo non è il modo più comune di gestire i sottoscrittori e le sottoscrizioni; tuttavia è utile per creare i prototipi ed eseguire test delle applicazioni per l'invio di notifiche.

Negli script riportati di seguito viene illustrato come chiamare interfacce Notification Services da componenti COM. Notification Services è scritto in codice gestito (C#) ed è progettato per essere accessibile sia da codice gestito che da codice non gestito.

AddSubscribers.vbs

Il primo file VBScript, denominato AddSubscribers.vbs, consente l'aggiunta di tre sottoscrittori all'istanza Weather.

Vengono innanzitutto creati gli oggetti NSInstance e 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)

Vengono successivamente aggiunti tre sottoscrittori tramite l'oggetto Subscriber:

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

nsSubscriber.SubscriberId = "david"
nsSubscriber.Add

nsSubscriber.SubscriberId = "richard"
nsSubscriber.Add

Viene infine creato un oggetto SubscriberDevice e vengono aggiunti i dispositivi di ogni sottoscrittore:

' 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'altro file VBScript, denominato AddSubscriptions.vbs, consente l'aggiunta di una sottoscrizione per ognuno dei tre sottoscrittori.

Vengono innanzitutto creati e inizializzati gli oggetti NSInstance, NSApplication e 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"

Vengono successivamente impostate le proprietà comuni per tutte le sottoscrizioni che si stanno caricando:

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

Vengono infine aggiunte le sottoscrizioni:

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

Caricamento dei dati del sottoscrittore e della sottoscrizione

Dopo aver acquisito una certa familiarità con gli script, utilizzarli per caricare i dati del sottoscrittore nell'istanza dell'esercitazione e i dati della sottoscrizione nell'applicazione Weather..

Per caricare i dati del sottoscrittore e della sottoscrizione

  1. Individuare la cartella Weather dell'esercitazione tramite Esplora risorse. Il percorso predefinito del file è C:\Programmi\Microsoft SQL Server\90\Samples\Notification Services\tutorial\Weather.

  2. Fare doppio clic su AddSubscribers.vbs.

    Verrà visualizzato il messaggio "Subscribers successfully added".

  3. Fare doppio clic su AddSubscriptions.vbs.

    Verrà visualizzato il messaggio "Subscriptions successfully added".

[!NOTA] Se Notification Services 2.0 viene installato dopo SQL Server 2005 Notification Services, verranno registrate le versioni errate degli assembly per l'interoperabilità COM e questi script non funzioneranno. Per ulteriori informazioni, vedere Procedura: Registrazione dell'assembly principale di Notification Services per l'interoperabilità COM.

Visualizzazione dei dati del sottoscrittore

Dopo aver aggiunto all'applicazione i dati del sottoscrittore, è possibile visualizzare le informazioni sul sottoscrittore e sui dispositivi utilizzando la query ViewSubscribersAndDevices.sql.

Per visualizzare i dati del sottoscrittore

  1. In Esplora soluzioni, espandere Weather, espandere Query e quindi fare doppio clic su ViewSubscribersAndDevices.sql.

  2. Premere F5 per eseguire la query.

    Verranno visualizzate le informazioni sul sottoscrittore e sui dispositivi relative a tre sottoscrittori.

  3. Chiudere ViewSubscribersAndDevices.sql.

Visualizzazione dei dati della sottoscrizione

Dopo aver aggiunto all'applicazione i dati della sottoscrizione, è possibile visualizzare le informazioni sulla sottoscrizione utilizzando la query ViewSubscriptions.sql.

Per visualizzare i dati della sottoscrizione

  1. In Esplora soluzioni, fare doppio clic su ViewSubscriptions.sql.

  2. Premere F5 per eseguire la query.

    Verranno visualizzate tre sottoscrizioni, una per ogni sottoscrittore.

  3. Chiudere ViewSubscriptions.sql.

Lezione successiva

Lezione 11: Inoltro di eventi all'applicazione Weather

Vedere anche

Concetti

Esercitazione di Notification Services

Altre risorse

Sviluppo di interfacce di gestione delle sottoscrizioni
Creazione di soluzioni di notifica
Introduzione a SQL Server Notification Services

Guida in linea e informazioni

Assistenza su SQL Server 2005