[XML-SIG] WSDL library ?

Martin v. Loewis martin@v.loewis.de
15 Feb 2002 21:44:02 +0100


Rich Salz <rsalz@zolera.com> writes:

> Thanks, Martin, for the explanation of how Corba can do doubly-linked
> lists.  I am glad it's gotten more competent since I looked.  Can it
> really do full cycles now, where head->next = tail->prev?  Cool.

Indeed. It was introduced to be able to implement Java RMI on top of
it.

> I claimed most distributed computing doesn't use the Corba object
> model. DCOM doesn't, it's aggregation of interfaces.  Java uses single
> inheritance and interface.  Neither of those can be mapped into a
> simple inheritance model.

CORBA's interface inheritance is not single; any interfaces can have
many base interfaces. For valuetypes, single inheritance is only
available for "stateful" valuetypes; there is also the notion of
abstract valuetypes, which do support multiple inheritance. Again,
you can do all of Java RMI on top of CORBA.

Implementing COM-style interface navigation on top of CORBA is
straight-forward:

interface IUnknown{
  IUnknown get_interface(in UUID target);
};

interface ISomething:IUnknown{
  ...
};

This is exactly what DCOM does.

> As for being "surprised" or "horrified" that all pointers are chased
> when you serialize an object.  Hunh?  If I declared an object in Corba
> or DCE IDL (or MIDL) I would be quite upset if only certain parts of
> it ended up being remoted.

AFAIK, in DCE IDL, you have have a void* field in an struct, and then
you use attributes of the field (like unique, size, etc) to indicate
whether this pointer may be shared, and whether the pointer is to
a single object or an array of objects, in which case you need somehow
specify the size of the array. It seems easy to get wrong.

Regards,
Martin