Architecture de collecte des événements

La collecte d'événements est le processus de recueil de données d'événement auprès d'une ou plusieurs sources telles que des fichiers XML, des applications ou des bases de données, et d'envoyer ces informations à une application de notification. C'est le travail des fournisseurs d'événements.

Chaque application utilise un ou plusieurs fournisseurs d'événements pour collecter les événements. Chaque fournisseur d'événements envoie des données à l'application à l'aide de l'une des trois API d'événements : une API d'objets d'événement, une API XML ou une API SQL Server. L'illustration suivante montre une vue de haut niveau du fonctionnement de ces API.

Architecture de collecte d'événements

  • L'API d'objets d'événement utilise les objets Event et EventCollector pour envoyer des événements individuels. À l'aide des noms des champs d'une table d'événements, une application envoie un objet Event au collecteur d'événements, qui écrit alors les données dans la table d'événements.
  • L'API XML fournit un moyen de charger les données XML en bloc. Le fournisseur d'événements XML collecte un document ou un flux XML dans une source d'événements et envoie les données au EventLoaderXML, qui écrit alors les données dans la table d'événements.
  • L'API SQL Server utilise des procédures stockées pour charger les données d'événement à partir d'objets de base de données. Il existe deux moyens classiques d'utiliser le fournisseur d'événements SQL Server : invoquer le fournisseur d'événements à l'aide d'une procédure stockée, ou exécuter une requête en fonction d'un calendrier. Le fournisseur d'événements reçoit un jeu de résultats et l'écrit dans la table d'événements à l'aide des procédures stockées de l'API.

Vues de classes d'événements

Quand vous créez une instance Notification Services, Notification Services ajoute une vue qui a le même nom que la classe d'événements. Cette vue est la source d'événements pour vos requêtes de génération de notifications.

SQL Server 2005 Notification Services prend également en charge l'insertion d'événements dans cette vue. L'insertion d'événements dans cette vue fait que Notification Services crée et ferme un lot d'événements pour chaque instruction d'insertion.

Fournisseurs d'événements standard et personnalisés

Les développeurs d'applications Notification Services peuvent écrire leurs propres fournisseurs d'événements personnalisés à l'aide de l'une des API mentionnées ci-dessus, ou bien ils peuvent utiliser un des fournisseurs d'événements standard livrés avec Notification Services. Les fournisseurs d'événements standard peuvent prélever des données XML dans un dossier qui est scruté, et effectuer des requêtes sur des bases de données SQL Server et sur des cubes Analysis Services. Pour plus d'informations, voir Fournisseurs d'événements standard.

Les fournisseurs d'événements personnalisés offrent des fonctionnalités qui ne sont pas disponibles dans les fournisseurs d'événements standard. Par exemple, vous pouvez avoir besoin de collecter des données dans un fichier délimité par des virgules produit par un téléscripteur boursier. À l'aide de l'API Notification Services, le développeur peut créer un fournisseur d'événements doté de cette fonctionnalité. Pour plus d'informations sur les fournisseurs d'événements personnalisés, voir Développement d'un fournisseur d'événements personnalisé.

Fournisseurs d'événements hébergés et non hébergés

Les fournisseurs d'événements sont hébergés ou non hébergés.

Les fournisseurs d'événements hébergés s'exécutent dans Notification Services. Ils peuvent s'exécuter soit en continu, soit selon un calendrier défini dans le fichier de définition d'application (ADF). Ces fournisseurs d'événements sont exécutés par un composant Notification Services appelé hôte du fournisseur d'événements. L'hôte du fournisseur d'événements s'exécute selon le même calendrier que le composant générateur, qui est spécifié dans la définition d'application.

Les fournisseurs d'événements non hébergés s'exécutent sous forme d'applications externes et envoient les événements selon leur propre calendrier. Par exemple, un fournisseur d'événements hébergé par IIS (Internet Information Services) qui expose une méthode Web pour envoyer un événement est un fournisseur d'événements non hébergé. Un fournisseur d'événements qui est hébergé à l'intérieur d'un processus que vous écrivez est également un fournisseur d'événements non hébergé.

Mise en lots des événements

Les fournisseurs d'événements écrivent les événements par lots. L'écriture d'événements par lots permet au générateur d'effectuer une jointure entre l'ensemble des abonnements en cours et tous les événements d'un lot d'événements à la fois. Ce traitement organisé en lots améliore les performances de l'application.

Voir aussi

Concepts

Architecture d'administration des abonnements
Architecture de traitement des abonnements
Architecture de formatage et de remise des notifications

Autres ressources

Vues Notification Services
Définition des classe d'événements
Définition des fournisseurs d'événements

Aide et Informations

Assistance sur SQL Server 2005