COM+-Ereignis und Ereignis-Abonnentenobjekte

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu COM-Grundlagen - Index


Das COM+Ereignissystem führt eine mittlere Software-Schicht ein, die Anwendungen, die Ereignisse erzeugen (Publisher), von Anwendungen, die auf Ereignisse antworten (Abonnenten), voneinander trennt. Anstatt eng aneinander gebunden zu sein, können Publisher und Abonnenten unabhängig entwickelt, weitergegeben und aktiviert werden.

Im COM+-Ereignismodell wird eine Ereignisschnittstelle zuerst mit dem COM+-Ereignisexperten erstellt. Die Ereignisschnittstelle hat keine Implementierung; sie definiert nur die Ereignismethoden, die Publisher erzeugen und auf die Abonnenten antworten. Das COM+-Ereignisobjekt wird dann in eine COM+-Anwendung im COM+-Katalog installiert. Dies kann programmgesteuert mit dem TComAdminCatalog-Objekt oder vom Systemadministrator mit dem Tool Component Services ausgeführt werden.

Ereignis-Abonnenten sind für die Bereitstellung einer Implementierung für die Ereignisschnittstelle zuständig. Sie können Ereignis-Abonnentenobjekte mit dem COM+-Ereignissubskriptionsobjekt-Experten erstellen. Mithilfe des Experten können Sie das zu implementierende Ereignisobjekt auswählen und die IDE erstellt für alle Methoden der Schnittstelle ein Stub. Wenn das Ereignisobjekt noch nciht im COM+-Katalog installiert wurde, können Sie auch eine Typbibliothek auswählen.

Wenn die Abonnentenkomponente implementiert wurde, muss sie auch im COM+-Katalog installiert werden. Dies kann wiederum mit einem TComAdminCatalog-Objekt oder mit dem Verwaltungs-Tool Component Services ausgeführt werden.

Wenn ein Publisher ein Ereignis erzeugen möchte, erstellt er nur eine Instanz des Ereignisobjekts (nicht die Abonnentenkomponente) und ruft die geeigneten Methoden für die Ereignisschnittstelle auf. COM+ benachrichtigt alle Anwendungen, die das Ereignisobjekt abonniert haben, indem sie synchron nacheinander aufgerufen werden. Auf diese Weise müssen Publisher nichts über jene Anwendungen wissen, die das Ereignis abonniert haben. Abonnenten müssen nur über die Implementierung der Ereignisschnittstelle verfügen und diejenigen Publisher auswählen, die sie abonnieren möchten. Den Rest übernimmt COM+.

Weitere Informationen über das COM+-Ereignissystem finden Sie unter Generieren von Ereignissen unter COM+.