Die zweite Alternative besteht darin, eine Ereignismeldung als Methode eines Supplier- bzw. Consumer-Objekts zu modellieren.
Es wurde eine Objektklasse Event_consumer definiert, deren Methoden verschiedene im Rahmen der Aufgabenstellung verwendete Ereignismeldungen darstellen.
interface Event_consumer : somf_MCollectible { void object_created(in string ev_type, in string host, in string server_id, in string server_alias, in string objclass, in string objref); void object_deleted(...); void server_added(...); void server_deleted(...); void server_active(...); void server_inactive(...); void AnException(...); }
Ein Objekt, das die Event_consumer-Schnittstelle anbietet, ist ein TypedPushConsumer für die darin definierten Events. Ein Client kann Ereignismeldungen erzeugen, indem er die Methoden eines Event_consumer-Objekts aufruft, für das er eine Referenz hat. Die Verarbeitung der Ereignismeldungen erfolgt in der Implementierung der Methoden.