[omniORB] Objects by value?

Lars Immisch lars@ibp.de
Wed, 4 Apr 2001 09:21:10 +0200


<nofill> > As a newby to CORBA I have a general question: 
> 
> Is it possible to specify a full-blown class as a data-types that I can use
> as input/output parameter (not just a struct)?
> 
> And I really want to pass an instance of that class accross the wire, not
> just a reference to it. When I use a regular class as a parameter type to
> some function then the ORB expects me to pass in and out a *reference* to a
> local servant instance. And the actual servant for that reference is always
> going to stay on the side of the CORBA-connection where it was created. But I
> would like to send the actual object over the channel, and really not use it
> as a servant at all.
</nofill>

I am not very familiar with the CORBA Object by Value (OBV) specification,
but sending classes by value is to my knowledge only possible in
restricted circumstances. The problem is that the other side needs to
understand the code that was sent. What should your SPARC do with a x86
executable or your Java client with a Python script?


omniORB as an ORB with a C++ binding does not support this.


There are rumours that some Java ORB supports classes as OBV, but only
among processes using the same ORB (and language binding, obviously).


- Lars