[omniORB] From COM to CORBA...

Len Holgate (Mail List Account) Mail-lists@dial.pipex.com
Fri, 2 Mar 2001 22:36:44 -0000


> imagine a container and an iterator, both CORBA objects, but the iterator
> accessing the container *servant*. If there wasn't the ability for the
iterator
> to increase the container servant ref counter, it would risk to lose the
container
> under its feet. Here is an example:

Exactly as you'd do in COM. So, since reference counting is considered OK to
use within the server process, is it purely CORBA's lack of support for
detecting clients that terminate whilst holding references that makes
everyone say don't do it? I'd have no problem if the books just said "CORBA
doesnt provide the necessary support for implementing reference counting
across the client/server boundary" but they always seem to take the attitude
that you just dont want to do reference counting and that it's you that's
broken for wanting to ;)

> I can only confirm from my experience, that in the sake of scalability,
you
> should not mandate any particular policy such as ref counting, or the
ping.
> Depending on the semantics of a particular client / server relationship
you
> might want to have a ping at a constant interval, or you might want to
vary
> according to your load, or some entirely different scheme. This kind of
> flexibility is what I especially like in the CORBA world.

I agree totally, and I like the flexibility too. What confuses me is why a
configurable ping wasnt included as an option. Then you can use it if you
want and not if you dont. Given the way that POAs can be configured I would
have expected it to be fairly straight forward to provide this functionality
for those that need it without burdening those that don't.

Anyway, it doesn't, so I'll adjust my articles to point out the dangers and
move on :)

Len