[omniORB] A beginners question...

Kevin Bailey ke-omniorb at retriever.dyndns.org
Wed Nov 5 13:22:32 GMT 2008


On Wed, Nov 05, 2008 at 02:24:04PM -0600, Rupp Peter - prupp wrote:
> 
> I?m entering the world of Corba programming and wanted to ask your group if it
> is ?ok? to ask some very basic conceptual questions?.ones that are not usually
> found easily in books?

comp.soft-sys.ace used to be another good place to ask CORBA questions.

>   * Can Corba accommodate the following?   I have a need to advertise an object
>     instance via CORBA, whereby (depending upon which method and arguments are
>     invoked),  may return simple primitives (strings, ints, arrays, etc), or
>     sometimes act like an object factory, that is?to dynamically create various
>     object instances (of possibly differing types), that are also referenced
>     remotely by the CORBA client.    I?ve read a lot of how a corba object is
>     defined via IDL, then client and server stubs are created, (that is,
>     statically at compile time), but I am unaware if the CORBA specification
>     allows for corba object instances to act as a factory, creating objects,
>     then returning a reference to them.    Right now, I want to keep the object
>     on the server, but return a reference

Absolutely, no problem. This is one of the things that CORBA
does more easily than other RPC technologies.

>   * If the above concepts  possible, are there standard/defined ways  the
>     client can learn of the methods (and argument types) available in the new
>     object reference?  (called introspection?)

I think you need what's called a "interface repository".

Not sure, but does DCOP or dbus or whatever its called
have this built-in ?

>   * I?m fairly certain that data returned from corba objects must be of
>     specific types defined in the IDL, that is primitives (strings, ints,
>     floats, etc), and some collection types (arrays, lists, etc)??but no
>     serialized objects.   In other words, I don?t think CORBA has a notion of a
>     generic object type that is movable (via serialization) from ORB to ORB. 
>      Is this correct? (or am I horribly mistaken?)

Any described type can be put into an "Any" which
can be passed anywhere, and pulled out by any code
that knows about the original type.

Also look-up DynAny.

>   * If the above concepts  possible, are there standard/defined ways  the
>     client can learn of the methods (and argument types) available in the new
>     object reference?  (called introspection?)

Is this a duplicate question, or are you asking if the
receiver can peek inside the Any ? I assume the former.

>   * Again, if this is all possible, does the CORBA-specifications (or even
>     implementations) provide a means to specify and identify the life-span of
>      objects (dynamic or otherwise).  In other words, can an objects lifespan
>     be defined by some set of rules or parameters?  For instance, if an object
>     was created dynamically, would it be possible to set it?s lifetime to 1)
>     the lifetime of the TCP connection between client/server? 2) lifetime due
>     to inactivity, 3) lifetime due to infrequent use, or any other constraint?
>        I do not hear much about how objects are retired or collected on the
>     server.

Not exactly sure what you're asking. An object's lifespan
is completely controlled by the application, but the servant
backing it may live forever, or may only last for the
duration of the call, or ...

Advanced CORBA Programming in C++ will answer this as well
as lots of other questions.

>   * Is it normal for Corba clients and ORBS to communicate on top of TLS/SSL to
>     help keep the network secure a little?  I don?t hear much talk on this
>     subject either.

Dunno.



More information about the omniORB-list mailing list