Event Service
Summary by Peter Jacobs
Implementation by Tawee Pimsarn
This review of the CORBA Event Service contains a summary and an implementation.
Summary
The OrbixEvents Programmer’s Guide from IONA Technologies PLC was used to prepare this summary.
The guide is available from IONA’s site at http://www.iona.com or by downloading it directly in Adobe Acrobat Reader format.
Summary Contents
- Communicating Indirectly
- Event Transfer And Communication
- Event Example
- Programming Interface
- Untyped Push
- Untyped Pull
- Typed Push
- Typed Pull
Event Transfer And Communication
Two ways of initiating event transfer are defined. Event transfers initiated by a supplier are called Push and those initiated by a consumer are called Pull. In Push transfers, a supplier pushes events into the event channel which in turn pushes the events to registered consumers. In terms of CORBA, suppliers in the Push model correspond to clients and consumers correspond to servers. In Pull transfers, the consumer takes the active role by requesting events from the event channel. The event channel in turn requests events from registered suppliers. In CORBA terms, the consumers in this model correspond to clients and suppliers to servers.
 |
Push Method: Suppliers push to event channel which pushes to consumers. |
 |
Pull Method: Consumers pull from event channel which pulls from suppliers. |
The decoupling effect of the event channel allows Push and Pull methods to be mixed in a single system. For example, suppliers may connect to the event channel using the Push model while consumers connect using Pull. In this case, both parties must participate in initiating event transfer. A supplier invokes an operation on an object in the event channel to transfer an event to the channel. Alternately, a consumer invokes another operation to transfer event data from the channel. The event channel takes no initiative in forwarding the event and just stores events from push suppliers for pull consumers to request.
 |
Mixing event transfer methods: push suppliers and pull consumers. |
The CORBA Event Service specification goes on to define two methods of communicating events. Untyped event communication is available by invoking a standard operation with a generic parameter call. Typed communication is available through application-specific IDL interface calls.
The method of event transfer is independent of the method of communicating events. Both Push and Pull transfer methods support typed or untyped events.
Summary Contents
- Communicating Indirectly
- Event Transfer And Communication
- Event Example < Next
- Programming Interface
- Untyped Push
- Untyped Pull
- Typed Push
- Typed Pull