Next: 3.3.4 Notification Service
Up: 3.3 CORBA
Previous: 3.3.2 Naming Service
Der Event Service [COR97] stellt einen asynchronen,
dezentralen
Kommunikationsmechanismus zur Verfügung. Es werden zwei Rollen definiert:
Supplier (Erzeuger) sind Objekte, die Events produzieren und
Consumer (Verbraucher) sind Objekte,
die Events verarbeiten. Die Entkopplung von Supplier und
Consumer wird durch einen
Event Channel (Ereigniskanal) realisiert. An einen
Event Channel können sich beliebig viele Supplier und Consumer
anbinden.
Das Handling der Events kann durch zwei verschiedene Modelle
beschrieben werden.
Im Pushmodell, sendet der Supplier die von ihm erzeugten Events
sofort an den Event Channel. Der Event Channel sendet automatisch
den Event an die
angeschlossenen Consumer. Im Gegensatz dazu nimmt beim Pullmodell
der Consumer die aktive Rolle ein. Er fragt beim Event Channel
aktiv nach Events, woraufhin der Event Channel bei den
Suppliern die bereits erzeugten
Events abholt. Eine Mischung der beiden Modelle ist auch möglich, z. B.
ein Push Supplier und ein Pull Consumer.
Abbildung 3.4:
Pushmodell mit zwei Event Channel des CORBA Event Service
 |
Abbildung 3.4 zeigt ein Beispiel mit zwei Event
Channel.
Supplier und Consumer kommunizieren über
Event Channels miteinander. Dabei kann ein Supplier wie auch ein
Consumer mit mehreren Event Channels verbunden sein.
Es existieren zwei Typen von Events:
- Any: Container für einen beliebigen Typ
- Typed Event: der Event besitzt einen fest zugeordneten Typ
Der größte Unterschied zwischen den beiden Typen ist, daß sich der
Consumer beim Event Channel für einen bestimmten
Typed Event registrieren kann. Der Consumer erhält dann nur
Events, die diesem Typed Event entsprechen. Diesen Mechanismus gibt es
für den Typ Any nicht.
Next: 3.3.4 Notification Service
Up: 3.3 CORBA
Previous: 3.3.2 Naming Service
Copyright Munich Network Management Team