Spécification de la livraison de type digest ou par multidiffusion
Notification Services propose deux options pour l'agrégation des notifications : la livraison de type digest et la livraison par multidiffusion. La livraison de type digest combine tous les messages destiné à un abonné en un seul message. La livraison par multidiffusion conserve les ressources du module de formatage de contenu en reconnaissant à quel moment une même notification doit être envoyée à des nombreux abonnés, en la mettant en forme une fois pour toutes, puis en l'envoyant.
Important : |
---|
Vous pouvez utiliser la livraison de type digest ou la livraison par multidiffusion, mais pas les deux. |
Cette rubrique décrit la livraison de type digest et par multidiffusion et explique comment configurer ces options.
Livraison de type digest
Certaines applications peuvent générer plusieurs notifications pour un abonné unique dans le même lot de notifications. Pour réduire le nombre de messages envoyé à des abonnés individuels, vous pouvez activer la livraison de type digest qui combine des notifications similaires en un seul message digest.
Lorsque la livraison de type digest est activée pour une classe de notifications, toutes les notifications dans un lot de notifications unique sont prises en compte pour ce type de livraison. Pour toutes les notifications d'un lot contenant les mêmes ID d'abonné, paramètres régionaux, périphérique et données dans tous les champs de notification de type digest, Notification Services combines les notifications individuelles en une notification digest unique, puis envoie toutes ces données au module de formatage de contenu qui retourne un résultat unique mis en forme.
La première notification de l'ensemble qui forme la notification digest s'appelle la notification digest de tête et les autres notifications s'appellent des notifications digest de fin. Le corps du message se compose des informations agrégées de toutes les notifications.
Le tableau suivant représente une table de notifications simplifiée pour une classe de notification. Dans cette classe de notification, la propriété de regroupement de type digest du champ State est définie sur true, afin que ses champs soient utilisés pour déterminer le regroupement de type digest. Les lignes en gras représentent les notifications qui seront combinées en un message digest.
NotificationId | SubscriberId | DeviceName | SubscriberLocale | City | State |
---|---|---|---|---|---|
1 |
Bob |
courrier électronique |
en-US |
Seattle |
WA |
2 |
Alan |
courrier électronique |
en-US |
Seattle |
WA |
3 |
Bob |
courrier électronique |
en-US |
Spokane |
WA |
4 |
Bob |
courrier électronique |
en-US |
San Francisco |
CA |
5 |
Bob |
fichier |
en-US |
Tacoma |
WA |
Dans cet exemple, les valeurs des colonnes SubscriberId, DeviceName, SubscriberLocale et State doivent être identiques pour que Notification Services combine les notifications dans un résumé. Les notifications 1 et 3 répondent aux critères de correspondance et seront combinées dans un résumé. La notification 2 est pour un autre abonné, la notification 4 pour un autre état et la notification 5 pour un autre périphérique, par conséquent ces notifications ne seront pas combinées en fonction des données de la table.
Pour activer la livraison de type digest
Si vous définissez une application utilisant XML, activez la livraison de type digest dans l'élément NotificationClass du fichier de définition d'application. Si vous définissez une application par programme, utilisez des objets NMO (Notification Services Management Objects) pour activer la livraison de type digest.
Livraison par multidiffusion
Remarque : |
---|
La livraison par multidiffusion n'est pas prise en charge dans SQL Server 2005 Standard Edition. |
Si votre application est susceptible de générer pour plusieurs abonnés les mêmes données de notification, vous pouvez activer la livraison par multidiffusion afin que le module de formatage de contenu mette en forme une notification une fois pour toutes, puis envoie la notification à une liste d'abonnés.
Pour les classes de notifications pour lesquelles la livraison par multidiffusion est activée, le distributeur exécute les actions suivantes pour mettre en forme les notifications :
- Le distributeur trie les lignes de la table en fonction des valeurs de périphérique, de paramètres régionaux et de champs de notification.
- Le serveur de distribution commence la lecture des lignes. Tant que les valeurs des colonnes pertinentes sont identiques, le distributeur ajoute les information d'abonné à la liste de multidiffusion. Vous pouvez limiter le nombre d'abonnés pour chaque message en multidiffusion. Pour plus d'informations, consultez Spécification du nom et des champs du protocole de remise.
- Dès que le distributeur rencontre une ligne contenant des valeurs différentes pour les colonnes pertinentes, il transmet l'ensemble de valeurs de colonnes précédent au module de formatage de contenu et remet la sortie mise en forme, avec la liste des abonnés, au protocole de remise.
Le tableau suivant affiche les mêmes données de notification que celles qui sont utilisées pour illustrer la livraison de type digest. Cette fois-ci, le périphérique, les paramètres régionaux et tous les champs de notification sont utilisés pour déterminer quelles sont les notifications en multidiffusion.
NotificationId | SubscriberId | DeviceName | SubscriberLocale | City | State |
---|---|---|---|---|---|
1 |
Bob |
courrier électronique |
en-US |
Seattle |
WA |
2 |
Alan |
courrier électronique |
en-US |
Seattle |
WA |
3 |
Bob |
courrier électronique |
en-US |
Spokane |
WA |
4 |
Bob |
courrier électronique |
en-US |
San Francisco |
CA |
5 |
Bob |
fichier |
en-US |
Tacoma |
WA |
Les notifications 1 et 2 contiennent des données City et State identiques, mais sont destinées à des abonnés différents. Si la livraison par multidiffusion est activée, Notification Services met en forme la notification 1, puis envoie le message mis en forme avec la liste des destinataires (Bob et Alan) au protocole de remise. En revanche, étant donné que les notifications 3, 4 et 5 contiennent des données City et State uniques, ces notifications ne sont pas envoyées en multidiffusion.
Remarques concernant la multidiffusion
Le livraison par multidiffusion est transparente pour les abonnés. Il n'est pas nécessaire que le protocole réseau réel utilisé pour envoyer les messages de notification prenne en charge la multidiffusion.
Lorsque la livraison par multidiffusion est activée, le protocole de remise reçoit le message mis en forme en une seule fois avec la liste des informations d'abonné. Le protocole de remise doit être en mesure d'utiliser la liste des destinataires pour envoyer le message mis en forme à plusieurs abonnés. Il peut effectuer l'opération en envoyant un unique message si le protocole réseau prend en charge la livraison par multidiffusion véritable, ou en effectuant simplement une itération dans la liste d'abonnés pour envoyer le même message à chaque abonné.
Les protocoles de remise standard prennent en charge la livraison par multidiffusion. Si vous utilisez des protocoles de remise tiers, contactez le développeur pour savoir si le protocole de remise prend en charge la multidiffusion.
En outre, pour que la livraison par multidiffusion fonctionne correctement, les notifications de multidiffusion ne doivent pas contenir d'informations spécifiques à l'abonné, car la même sortie mise en forme est envoyée à un grand nombre d'abonnés. Le distributeur ne transmet pas d'informations de destinataire au module de formatage de contenu. Si le module de formatage de contenu est programmé pour utiliser les informations de destinataire pour la mise en forme, il échoue.
Toutefois Notification Services n'empêche pas l'incorporation d'informations spécifiques à l'abonné provenant de sources de données externes dans les données de notification au cours du processus de formatage. Assurez-vous qu'aucune des informations externes que le module de formatage de contenu ajoute aux données de notification ne soient spécifiques au destinataire.
Pour activer la livraison par multidiffusion
Si vous définissez une application en utilisant XML, activez la livraison par multidiffusion dans l'élément NotificationClass du fichier de définition d'application. Si vous définissez une application par programme, utilisez des objets NMO pour activer la livraison par multidiffusion.
Voir aussi
Concepts
Développement d'un module de formatage de contenu personnalisé
Developpement d'un protocole de remise personnalisé
Définition du schéma de notification
Configuration des modules de formatage de contenu
Spécification de la taille de lot de notifications
Spécification de la période de conservation des notifications
Spécification du nom et des champs du protocole de remise
Autres ressources
Définition des classes de notification
Configuration des protocoles de remise
Définition des classes de notification
Définition des applications Notification Services