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
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.
Fare doppio clic su AddSubscribers.vbs.
Verrà visualizzato il messaggio "Subscribers successfully added".
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
In Esplora soluzioni, espandere Weather, espandere Query e quindi fare doppio clic su ViewSubscribersAndDevices.sql.
Premere F5 per eseguire la query.
Verranno visualizzate le informazioni sul sottoscrittore e sui dispositivi relative a tre sottoscrittori.
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
In Esplora soluzioni, fare doppio clic su ViewSubscriptions.sql.
Premere F5 per eseguire la query.
Verranno visualizzate tre sottoscrizioni, una per ogni sottoscrittore.
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