Architektur der Ereignisauflistung

Die Ereignisauflistung ist der Prozess, mit dem Ereignisdaten aus einer oder mehreren Quellen wie XML-Dateien, Anwendungen oder Datenbanken gesammelt und an eine Benachrichtigungsanwendung übermittelt werden. Dies ist die Aufgabe von Ereignisanbietern.

Jede Anwendung verwendet einen oder mehrere Ereignisanbieter, um Ereignisse zu sammeln. Jeder Ereignisanbieter übermittelt Daten an die Anwendung mithilfe einer der drei Ereignis-APIs: einer Ereignisobjekt-API, einer XML-API oder einer SQL Server-API. Die folgende Abbildung zeigt die Funktionsweise dieser APIs auf oberster Ebene.

Architektur der Ereignisauflistung

  • Die Ereignisobjekt-API verwendet die Objekte Event und EventCollector, um einzelne Ereignisse zu übermitteln. Mithilfe der Namen in den Feldern einer Ereignistabelle übermittelt eine Anwendung ein Event-Objekt an den Ereignisauflister, der die Daten dann in die Ereignistabelle schreibt.
  • Die XML-API stellt eine Methode zum Ausführen eines Massenladevorgangs von XML-Daten bereit. Der XML-Ereignisanbieter sammelt ein XML-Dokument oder einen Datenstrom von einer Ereignisquelle und übermittelt die Daten an den XMLEventLoader, der die Ereignisse dann in die Ereignistabelle schreibt.
  • Die SQL Server-API verwendet gespeicherte Prozeduren, um Ereignisdaten von Datenbankobjekten zu laden. Zwei typische Verwendungsmethoden des SQL Server-Ereignisanbieters bestehen darin, den Anbieter mithilfe einer gespeicherten Prozedur aufzurufen und eine Abfrage nach Zeitplan auszuführen. Der Ereignisanbieter empfängt eine Ergebnismenge und schreibt diese mithilfe der gespeicherten API-Prozeduren in die Ereignistabelle.

Ereignisklassensichten

Wenn Sie eine Notification Services-Instanz erstellen, fügt Notification Services eine Sicht mit dem Namen der Ereignisklasse hinzu. Diese Sicht ist die Ereignisquelle für Ihre Benachrichtigungsgenerierungsabfragen.

SQL Server 2005 Notification Services unterstützt auch das Einfügen von Ereignissen in diese Sicht. Das Einfügen von Ereignissen in diese Sicht veranlasst Notification Services, einen Ereignisbatch für jede INSERT-Anweisung zu erstellen und zu schließen.

Standard- und benutzerdefinierte Ereignisanbieter

Notification Services-Anwendungsentwickler können eigene benutzerdefinierte Ereignisanbieter erstellen, indem sie eine der oben aufgeführten APIs verwenden, oder sie können einen der Standardereignisanbieter verwenden, die im Lieferumfang von Notification Services enthalten sind. Die Standardereignisanbieter können XML-Daten aus einem überwachten Ordner lesen, SQL Server-Datenbanken und Analysis Services-Cubes abfragen. Weitere Informationen finden Sie unter Standardereignisanbieter.

Benutzerdefinierte Ereignisanbieter stellen Funktionalität bereit, die von keinem der Standardereignisanbieter verfügbar ist. So können Sie z. B. Daten aus einer Datei mit Kommas als Trennzeichen von einem Aktienticker sammeln. Mit der Notification Services-API kann der Entwickler einen Ereignisanbieter mit diesen Funktionen erstellen. Weitere Informationen zu benutzerdefinierten Ereignisanbietern finden Sie unter Entwickeln eines benutzerdefinierten Ereignisanbieters.

Gehostete und nicht gehostete Ereignisanbieter

Ereignisanbieter sind entweder gehostet oder nicht gehostet.

Gehostete Ereignisanbieter werden in Notification Services ausgeführt. Gehostete Ereignisanbieter können kontinuierlich oder nach einem in der Anwendungsdefinition festgelegten Zeitplan ausgeführt werden. Diese Ereignisanbieter werden von einer Notification Services-Komponente ausgeführt, dem so genannten Ereignisanbieterhost. Der Ereignisanbieterhost wird nach demselben in der Anwendungsdefinition festgelegten Zeitplan ausgeführt wie die Generatorkomponente.

Nicht gehostete Ereignisanbieter werden als externe Anwendungen ausgeführt und übermitteln Ereignisse nach ihrem eigenen Zeitplan. So handelt es sich z. B. bei einem von Internetinformationsdienste (IIS, Internet Information Services) gehosteten Ereignisanbieter, der eine Webmethode für das Übermitteln von Ereignissen verfügbar macht, um einen nicht gehosteten Ereignisanbieter. Ein Ereignisanbieter, der innerhalb eines von Ihnen geschriebenen Prozesses gehostet wird, ist ebenfalls ein nicht gehosteter Ereignisanbieter.

Batchverarbeitung von Ereignissen

Ereignisanbieter schreiben Ereignisse in Batches. Durch das Schreiben von Ereignisbatches kann der Generator die aktuelle Menge von Abonnements mit allen Ereignissen in einem Ereignisbatch gleichzeitig verknüpfen. Diese batchorientierte Verarbeitung verbessert die Anwendungsleistung.

Siehe auch

Konzepte

Architektur der Abonnementverwaltung
Architektur der Abonnementverarbeitung
Formatieren von Benachrichtigungen und Architektur der Übermittlung

Andere Ressourcen

Notification Services-Sichten
Definieren von Ereignisklassen
Definieren von Ereignisanbietern

Hilfe und Informationen

Informationsquellen für SQL Server 2005