The standard CORBA operation invocation model supports synchronous, one-way, and deferred synchronous interactions between clients and servers. However, this model is too restrictive for real-time applications. In particular, the model lacks asynchronous message delivery, does not support timed invocations or group communication, and can lead to excessive polling by clients. We have designed and implemented a subscription server based on the OMG Notification Service specification for the structured push style communication. In order to alleviate some of the restrictions with the standard CORBA invocation model, the Subscription Server supports asynchronous message delivery and allows one or more suppliers to send structured messages to one or more consumers. Event data can be delivered from suppliers to consumers without requiring these participants to know about each other explicitly. In addition to implementing most of the interfaces defined in the specification, the Subscription Server implements an additional advertiser interface which lets one discover all event types offered by the channel and subscribed by the consumers. Event filtering as well as quality of service properties, such as connection reliability and event reliability, are also provided. An Auction Alert application was developed to test the functionality of the subscription server.
Index Terms:
distributed object management; quality of service; real-time systems; file servers; client-server systems; CORBA-based Subscription Server; CORBA operation invocation model; real-time applications; asynchronous message delivery; timed invocations; group communication; OMG Notification Service specification; structured push style communication; event data; interfaces; advertiser interface; event filtering; quality of service; connection reliability; event reliability; Auction Alert application
Citation:
R. Maheshwari, R. Fatoohi, "Design and Implementation of CORBA-Based Subscription Server," tools, pp.2, 37th International Conference on Technology of Object-Oriented Languages and Systems (TOOLS-37'00), 2000