Leçon 4 : Ajout d'une classe de notification

Au cours de cette leçon, vous allez ajouter une classe de notification au fichier de définition d'application (ADF), puis mettre à jour l'instance de Notification Services pour appliquer ces modifications à la base de données d'application. Vous pouvez vérifier les modifications apportées à la base de données d'application.

Informations de base sur les classes de notification

Une classe de notification représente un type de notification produit par votre application Notification Services. Lorsque vous définissez une classe de notification, vous devez définir les informations suivantes :

  • Champs des données de notification comprenant les types de données. Ces champs définissent les données que vous allez envoyer aux abonnés.
  • Les informations relatives au module de formatage de contenu utilisé pour formater les notifications pour la classe de notification. Vous pouvez utiliser le module de formatage de contenu XSLT intégré (Extensible Stylesheet Language Transformations) ou utiliser un module personnalisé.
  • Les informations relatives à l'utilisation des protocoles de remise pour remettre les notifications.

Vous pouvez également définir des paramètres facultatifs par exemple, pour la remise de type digest ou par multidiffusion et la durée de validité de la notification. Pour plus d'informations sur les classes de notification, consultez Définition des classes de notification.

Lorsque vous créez ou mettez à jour l'application, Notification Services utilise la définition de classe de notification pour créer les tables, les vues, les index et les procédures stockées pour stocker et gérer les données de notification.

Lorsque vous créez la table de notification et la vue, Notification Services ajoute les champs suivants : SubscriberId, DeviceName et SubscriberLocale. Ces champs sont requis par Notification Services. Ils feront l'objet d'une description dans les prochaines leçons.

La classe de notification WeatherAlerts

Pour cette application, vous allez ajouter une classe de notification WeatherAlerts au fichier de définition d'application. Cette classe de notification compte cinq champs de notification, un module de formatage de contenu XSLT et un protocole de remise de fichier.

  • Ces champs de notification sont les suivants : City, Date, Low, High et Forecast. Dans cette application, les champs de classe de notification correspondent aux champs de classe d'événements, mais cela n'est pas obligatoire.
  • Lorsque Notification Services distribue les notifications, il formate les données brutes et les met en forme dans un message personnalisé en utilisant le module de formatage de contenu XSLT intégré. Le nom de fichier XSLT est WeatherTransform.xslt et l'emplacement du fichier est défini par le paramètre %_AppPath_% ; la valeur de ce paramètre est fournie dans le fichier ICF.
    Pour plus d'informations sur le module de formatage de contenu XSLT, consultez Module de formatage de contenu XSLT.
  • Après le formatage, Notification Services remet les notifications à un fichier en utilisant le protocole de remise de fichier intégré. Le nom de fichier et l'emplacement sont définis dans l'élément DeliveryChannels du fichier ICF.
    Les définitions de protocole peuvent contenir des définitions de champs pour les en-têtes de messages, tels que ceux requis par le protocole SMTP et des paramètres d'exécution de protocole pour configurer les paramètres de renouvellement, d'échec et de dépassement de délai. Le protocole de fichier n'utilise pas ces paramètres mais la plupart des autres protocoles utilisent des champs d'en-têtes.
    ms170473.note(fr-fr,SQL.90).gifRemarque :
    Le protocole de remise de fichier est destiné principalement au prototypage et au test.

Ajout du XML de la classe de notification au fichier de définition d'application

Le XML de cette section définit la classe de notification. Étudiez-le puis suivez les instructions pour le copier dans le fichier de définition d'application.

Ajout du XML de la classe de notification au fichier de définition d'application

  1. Cliquez sur Copier le code pour copier le XML dans le Presse-papiers Windows.

    <!-- Notification Classes -->
    <NotificationClasses>
      <NotificationClass>
        <NotificationClassName>
          WeatherAlerts</NotificationClassName>
        <Schema>
          <Fields>
            <Field>
              <FieldName>City</FieldName>
              <FieldType>nvarchar(35)</FieldType>
            </Field>
            <Field>
              <FieldName>Date</FieldName>
              <FieldType>datetime</FieldType>
            </Field>
            <Field>
              <FieldName>Low</FieldName>
              <FieldType>float</FieldType>
            </Field>
            <Field>
              <FieldName>High</FieldName>
              <FieldType>float</FieldType>
            </Field>
            <Field>
              <FieldName>Forecast</FieldName>
              <FieldType>nvarchar(3500)</FieldType>
            </Field>
          </Fields>
        </Schema>
        <ContentFormatter>
          <ClassName>XsltFormatter</ClassName>
          <Arguments>
            <Argument>
              <Name>XsltBaseDirectoryPath</Name>
              <Value>%_AppPath_%</Value>
            </Argument>
            <Argument>
              <Name>XsltFileName</Name>
              <Value>WeatherTransform.xslt</Value>
            </Argument>
          </Arguments>
        </ContentFormatter>
        <Protocols>
          <Protocol>
            <ProtocolName>File</ProtocolName>
          </Protocol>
        </Protocols>
      </NotificationClass>
    </NotificationClasses>
    
  2. Dans l'Explorateur de solutions, ouvrez WeatherADF.xml.

  3. Remplacez le XML suivant par le XML que vous venez de copier.

    <!-- Notification Classes -->

    <NotificationClasses></NotificationClasses>

  4. Dans le menu Fichier, cliquez sur Enregistrer WeatherADF.xml.

Mise à jour de l'instance de Notification Services

Une fois le fichier ADF modifié, vous devez mettre à jour l'instance de Notification Services pour ajouter les objets de classe de notification à la base de données d'application :

Pour mettre à jour l'instance de Notification Services

  1. Dans l'Explorateur d'objets, développez Notification Services.

  2. Cliquez avec le bouton droit sur Didacticiel, pointez sur Tâches, puis sélectionnez Mettre à jour.

  3. Dans la boîte de dialogue Mettre à jour l'instance, cliquez sur Parcourir, recherchez le fichier TutorialICF.xml, puis cliquez sur Ouvrir.

  4. Dans la grille Paramètres, vérifiez les valeurs des paramètres. Entrez les valeurs que vous avez utilisées pour créer l'instance.

  5. Cliquez sur OK.

  6. Passez en revue la boîte de dialogue Notification Services - Mettre à jour le résumé, puis cliquez sur Mettre à jour.

  7. Une fois la mise à jour terminée, cliquez sur Fermer.

Vérification des modifications de la base de données

Lorsque vous mettez à jour l'instance, Notification Services ajoute des tables, des vues et des procédures stockées pour la classe de notification dans la base de données d'application TutorialWeather.

  • La vue dbo.WeatherAlerts est celle où les règles de génération de notifications insèrent les notifications.
  • La vue dbo.NSWeatherAlertsFileNotifications contient les notifications de la classe de notification WeatherAlerts envoyées au moyen du protocole de remise de fichier. Cet affichage est réservé à un usage interne uniquement.
  • La vue dbo.NSWeatherAlertsNotificationDistribution associe des données de plusieurs tables Notification Services internes pour fournir des informations sur les tentatives de distribution des notifications.
  • La table dbo.NSWeatherAlertsNotifications est la table sous-jacente qui contient les données de notification pour la classe de notification. Les données de notification sont conservées dans cette table tant qu'elles ne sont pas supprimées par le processus de suppression des données (ramasse-miettes). Cette table est réservée à un usage interne uniquement.
    ms170473.Caution(fr-fr,SQL.90).gifAttention :
    Ne modifiez pas directement les données dans les tables et les vues de notification.

Vous pouvez utiliser l'Explorateur d'objets pour étudier ces objets dans la base de données TutorialWeather. Les tables et les vues à usage interne contiennent uniquement des données utilisées pour des opérations internes et il n'est pas nécessaire que vous en maîtrisiez l'utilisation.

Il se peut qu'il soit nécessaire de réactualiser l'Explorateur d'objets pour voir les nouveaux objets.

Leçon suivante

Leçon 5 : Ajout d'une classe d'abonnement

Voir aussi

Concepts

Didacticiel Notification Services

Autres ressources

Définition des classe d'événements
Création de solutions de notification
Présentation de SQL Server Notification Services

Aide et Informations

Assistance sur SQL Server 2005