[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