WS-Notification
# WS-Notification

WS-Notification ist eine Sammlung von Spezifikationen aus dem sogenannten WS-*-Framework zur Unterstützung von ereignisgesteuerter Programmierung (“event driven programming”). Dabei nutzt es ein auf WS-Topic basierendes publish/suscribe-Muster. Dieses definiert

* Schnittstellen, die von Service Anbietern implementiert werden müssen
* Schnittstellen, die von Service Brokern (die nicht selbst Anbieter sind) implementiert werden müssen
* ein XML-Datenformat, um Themen zu definieren
* Anforderungen an Serviceanbieter und -nutzer.

Dabei unterstützt WS-Notification sowohl Peer-to-Peer-Verbindungen als auch brokerbasierte publish/suscribe-Systeme.

## Unterspezifikationen

Zu WS-Notification gehören mehrere Unterspezifikationen:

### WS-Base Notification

WS-Base Notification unterscheidet zwischen Nachrichtenerzeugern und -verbrauchern (notification producer und notification consumer). Ein Nachrichtenerzeuger ist ein Service, der das tatsächliche Benachrichtigen übernimmt. Hierfür bietet er nach außen eine Schnittstelle an, die subscribe requests entgegennimmt. Ein Nachrichtenverbraucher empfängt die Notifications. Dazu bietet dieser Service eine Notify-Schnittstelle nach außen an. Zusätzlich gibt es (häufig mit dem Nachrichtenerzeuger vereint) eine Quelle für Nachrichten. Nach bestimmten Kriterien wählt nun der Nachrichtenerzeuger diejenigen Verbraucher aus, für die diese Information relevant ist, und ruft die entsprechenden Notify-Services auf. Man spricht auch von Peer-to-Peer Notification.

### WS-Brokered Notification

Bei WS-Brokered Notification wird versucht, diese Teilnehmer noch weiter zu trennen. Neben dem Service, der eine Nachricht veröffentlicht, dem Empfänger der Notification und dem eigentlichen Interessenten an der Nachricht wird ein weiterer Teilnehmer, der sogenannte Notification Broker, eingeführt. Dieser ist gleichzeitig Nachrichtenerzeuger und -verbraucher im Sinne von WS-Base Notification, indem er vom Publisher, der die Nachricht veröffentlicht, benachrichtigt wird und anschließend seinerseits alle Nachrichtenverbraucher, die bei ihm registriert sind, benachrichtigt, so dass sich die eigentlichen Interessenten ihre Nachricht abholen können. Daher bezeichnet man dieses System auch als Brokered Notification.

### WS-Topics

WS-Topics bietet Mechanismen, um Themen zu kategorisieren und in Blöcke einzuteilen. Ein Interessent an Nachrichten kann darauf basierend eine Liste von für ihn relevanten Themen definieren, die der Nachrichtenerzeuger (der Erzeuger der Benachrichtigung) dann gegen eingehende Nachrichten und ihre Themen abgleicht.

