next up previous contents
Next: 3.3.4 Notification Service Up: 3.3 CORBA Previous: 3.3.2 Naming Service

3.3.3 Event 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
\begin{figure}
 \begin{center}
 
\epsfig {file=Bilder/event_service.eps,width=12cm}
 \end{center}\end{figure}

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:

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 up previous contents
Next: 3.3.4 Notification Service Up: 3.3 CORBA Previous: 3.3.2 Naming Service
Copyright Munich Network Management Team