The CORBA middleware is an application framework that provides interoperability between objects, built-in different languages, running on different machines in heterogeneous distributed environments. Using a CORBA, a client can transparently invoke a method on a server object, which can be on the same machine or across a network. The
ORB intercepts the call and is responsible for finding an object that can implement the request, pass it the parameters, invoke its method, and return the results. The CORBA event service provides support for decoupled communications between objects. It allows suppliers to send messages to one or more consumers with a single call. The event service acts as a mediator that decouples suppliers from consumers.
Fig. 7. Participants in the Event Channel Architecture
In figure 7, a CORBA event service provides a flexible model for asynchronous and group communication among distributed and collocated objects. Consumers are the ultimate targets of events generated by suppliers. Suppliers and consumers can both play active and passive roles. An active push supplier pushes an event to a passive push consumer. Likewise, a passive pull supplier waits for an active pull consumer to pull an event from it. Suppliers use event channels to push data to consumers. Likewise, consumers can explicitly pull data from suppliers. The push and pull semantics of event propagation help to free consumers and suppliers from the overly restrictive synchronous semantics of the standard CORBA two way communication model.
In this paper, a CORBA event service implementation focuses on real-time enhancements to the push model, which allows suppliers of events to initiate the transfer of event data to consumers. Suppliers push events to the event channel, which in turn pushes the events to consumers.
Was this article helpful?