Architettura della formattazione e del recapito delle notifiche
In Notification Services la formattazione e la distribuzione delle notifiche vengono eseguite dal distributore. In seguito alla creazione di un batch di notifiche da parte del generatore, il distributore suddivide il batch in elementi di lavoro, destinando ciascun elemento di lavoro allo stesso canale di recapito. Il distributore invia quindi l'elemento di lavoro al formattatore del contenuto. Al termine della formattazione, il distributore invia le notifiche dell'endpoint di recapito specificato dal canale di recapito.
Formattazione dei messaggi
La creazione di un'applicazione implica anche la definizione delle modalità di conversione dei dati delle notifiche non elaborati in messaggi leggibili. Notification Services include un formattatore di contenuto XSLT (Extensible Stylesheet Language Transformation) standard, che richiede un file XSLT per ogni tipo di dispositivo e di impostazioni internazionali supportato dall'applicazione. È inoltre possibile sviluppare formattatori del contenuto personalizzati per formattare le notifiche in modo appropriato a seconda del dispositivo e delle impostazioni internazionali.
Il messaggio formattato può includere una combinazione di dati di notifica non formattati (dati che verranno elaborati in fase di formattazione) e testo aggiunto dal formattatore del contenuto. Queste opzioni consentono di creare messaggi di testo dall'aspetto professionale e di facile lettura, nonché URL o altri collegamenti.
Canali di recapito
Il recapito effettivo delle notifiche non viene gestito direttamente da Notification Services. Notification Services utilizza infatti i canali di recapito simili a pipe per il recapito di servizi, quali server SMTP (Simple Mail Transfer Protocol). Notification Services invia le notifiche a uno o più canali di recapito. Ogni canale crea a sua volta pacchetti di notifiche per il proprio protocollo e quindi li invia ai servizi di recapito. I servizi di recapito gestiscono l'effettiva operazione di recapito ai sottoscrittori.
I canali di recapito vengono configurati per l'istanza di Notification Services. Tutte le applicazioni ospitate nell'istanza condividono i canali di recapito.
Ogni canale di recapito utilizza un protocollo specifico per un determinato endpoint di recapito. Notification Services include i protocolli comuni seguenti:
- Protocollo SMTP per l'invio di notifiche a Microsoft Exchange Server o ad altri server SMTP.
- Protocollo HTTP estensibile, che può essere utilizzato per i protocolli SOAP (Simple Object Access Protocol), SMS (Short Message Service), .NET Alerts e altri protocolli correlati con HTTP.
- Protocollo File per l'invio di notifiche ai file del sistema operativo e utilizzato principalmente per il debug di applicazioni.
Se necessario, è possibile definire più canali di recapito per un protocollo.
È inoltre possibile sviluppare protocolli di recapito personalizzati per supportare altri tipi di dispositivo o se si desidera utilizzare funzionalità SMTP o File specifiche.
Per ulteriori informazioni sui protocolli standard e personalizzati, vedere Protocolli di recapito standard e Sviluppo di un protocollo di recapito personalizzato.
Registrazione e tentativi di distribuzione delle notifiche
Per consentire la ripetizione dei tentativi di recapito, il monitoraggio delle prestazioni e la risoluzione dei problemi, Notification Services memorizza le informazioni relative al recapito delle notifiche. I canali di recapito richiamano un callback del canale di recapito per segnalare la riuscita o meno del tentativo di recapito per ogni notifica. Il callback aggiorna la tabella delle notifiche inserendo per ogni notifica l'indicazione della riuscita o meno del tentativo di recapito. Per visualizzare lo stato di un recapito, utilizzare la vista NSNotificationClassNameNotificationDistribution o le stored procedure di Notification Services.
Per ogni tipo di notifica inviato è possibile configurare una pianificazione per la ripetizione dei tentativi. Per ulteriori informazioni, vedere Specificazione delle impostazioni di esecuzione del protocollo di recapito.
Opzioni di recapito
Oltre alla formattazione e distribuzione standard notifica per notifica, Notification Services consente il recapito digest e il recapito multicast.
- Se si ritiene probabile che allo stesso sottoscrittore possano essere inviate notifiche diverse, ad esempio informazioni sui prezzi di più azioni, è possibile raggruppare le notifiche in un unico messaggio mediante il metodo di recapito digest. In questo modo è possibile raggruppare in un unico batch le notifiche di un sottoscrittore e inviarle contemporaneamente con un solo messaggio. Il recapito digest consente di ridurre la quantità di risorse utilizzate dal sistema per gestire le operazioni di formattazione e recapito.
- Se un'applicazione genera notifiche che risultano uguali per più sottoscrittori, ad esempio informazioni sportive o previsioni meteorologiche, è possibile utilizzare il recapito multicast. Il multicasting consente di formattare le notifiche una sola volta e di inviarle quindi a più sottoscrittori, migliorando le prestazioni grazie a una riduzione del carico di lavoro del sistema.
Vedere anche
Concetti
Definizione dei canali di recapito
Impostazione del recapito digest o multicast
Architettura della gestione delle sottoscrizioni
Architettura della raccolta degli eventi
Architettura dell'elaborazione delle sottoscrizioni
Altre risorse
Configurazione dei protocolli di recapito
Stored procedure di Notification Services (Transact-SQL)