[omniORB] Callback

Sai-Lai Lo S.Lo@uk.research.att.com
12 Nov 1999 10:46:16 +0000


I think what Steven and others have suggested in this thread are perfectly
fine solutions.

I just want to add that in general asynchronous behaviour can be
implemented with a combination of threads and callback objects passed as
invocation parameters.

However, once one introduces asynchronous behaviour into the processing
pipeline, one also has to think about how and when to trottle if there are
too many outstanding processing. If there is a queue of some sort, whether
it is embedded deeply in the ORB (for instance, in the implementation of a
"Messaging Service") or in the application code, it is not possible to
guarantee non-blocking unless one is prepared to have an infinite queue
size or to implement a leaky bucket.

It seems to me any form of trottle is best implemented by the application
because it has all the information of what is important. The use of threads
and callback objects allows one to implement the trottle mechanism
easily. I'm not sure if the "advance" features coming out from the OMG
lately, such as the messaging service, is helping or just further
complicate the picture.

Use a few tools and use them well.

Sai-Lai



>>>>> Shashijeevan M P writes:

> In my view you can do asynchronous invocations in following ways.

> 1. DII (The code becomes complex & I do not the support provided by omniORB)
> 2. Use CORBA Messaging service (Not Yet implemented in omniORB)
> 3. Use Distributed Callback (Which you are trying)

> Of all these, the third one is most reasonable because its simple and
> implementable.

> You can have look at the following papers for more information

> 1. Distributed Callbacks and Decoupled Communication in CORBA
> 2. An Introduction to CORBA Messaging

> You can find their on-line versions at the following link.

> http://siesta.cs.wustl.edu/~schmidt/report-doc.html


-- 
Sai-Lai Lo                                   S.Lo@uk.research.att.com
AT&T Laboratories Cambridge           WWW:   http://www.uk.research.att.com 
24a Trumpington Street                Tel:   +44 1223 343000
Cambridge CB2 1QA                     Fax:   +44 1223 313542
ENGLAND