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.