next up previous contents
Next: Der Notification Service Up: CORBA Previous: CORBA

Eventbehandlung

  CORBA bietet für die asynchrone Kommunikation zwischen Manager und Managed Object den Event Service an. Dieser entkoppelt die Kommunikation zwischen Objekten durch die Einführung eines Event Channels. Es stellt ein Supplier-Consumer Kommunikationsmodell zur Verfügung, das mehreren Sendern (Suppliers) das Verschicken asynchroner Meldungen an mehrere Empfänger (Consumers) erlaubt.

Abbildung 2.14 verdeutlicht dieses Verfahren. Die auf der linken Seite abgebildeten drei Supplier Objects kommunizieren über den Event Channel mit den beiden Consumer Objects auf der rechten Seite. Der Event Channel wird von den Supplier Objects mit Daten versorgt, die die Consumer Objects verarbeiten.


  
Abbildung: Das Supplier-Consumer Kommunikationsmodell [Vis97c]

Der Event Channel ist sowohl Sender als auch Empfänger von Nachrichten. Für die Kommunikation zwischen Sender und Empfänger steht einzig die CORBA Any-Klasse zur Verfügung. Die Kommunikation über den Event Channel geschieht über CORBA-Aufrufe (siehe Kapitel 5.1).


  
Abbildung: Sender-Empfänger Proxy Objekte

Die Entkopplung von Sender und Empfänger durch den Event Channel basiert auf der Einführung von Proxy Objects. Statt direkt mit dem Gegenüber zu interagieren, erhalten beide ein Proxy Object vom Event Channel und kommunizieren mit diesem. Jedes Sender-Objekt erhält einen Empfänger-Proxy und jedes Empfänger-Objekt einen Sender-Proxy. Der Event Channel kümmert sich um den internen Datenaustauch zwischen den Proxy-Objekten. Abbildung 2.15 zeigt, wie ein Sender mehrere Empfänger mit Daten versorgt.

Der Event Service stellt zwei Kommunikationsmodelle zur Verfügung: das Push- und das Pull-Modell. Beim Push-Modell initiiert der Sender die Kommunikation, indem er die Daten an den Event Channel sendet. Dieser schickt die Daten unaufgefordert an die Empfänger. Im Gegensatz dazu fragt der Event Channel beim Pull-Modell regelmäßig bei den Agenten nach, ob Nachrichten vorliegen. Der Event Channel puffert diese Daten und gibt diese bei Anfrage an den Manager weiter. Nach [Vis97c] ist das Push-Modell das üblichere Verfahren der beiden.


next up previous contents
Next: Der Notification Service Up: CORBA Previous: CORBA
Root on HPHEGER0
3/3/1999