[omniORB] omniINSPOA and bidir connections (omniORB4)

Renzo Tomaselli renzo.tomaselli@tecnotp.it
Wed Oct 23 10:39:00 2002


Bjorn,

> ... is your use of geniorGetIOR ripped
> from the genior tool. genior relies on implementation
> specific details, which might change beyond your
> control, and you might not notice subtle changes....
> It also makes your code depend on a specific orb.
>   I dont see, how using the repository id of the object
> along with address an port numbers is any better than
> using an IOR.

this issue flies around since a long time. Yes, IORs are standard and
portable, by they are also far away from being of practical usage in
everyday life.
In common practice a persistent object is defined by host, port, key and
typeId. The latter two are normally context-bound so that they don't need to
be stored explicitely (the key is often a name string) in applications,
unless we deal with very generic repositories such as the naming service. A
simple host:port pair string (a profile) is all we need to store a reference
to a (context-bound) persistent object. Much easier and more economical than
any several-hundred byte IOR - easier to check, edit and store. Just think
of storing such refs into a db, a config file and so on.
Then we need being able to build up IORs starting from all above elements,
as well as to parse IORs in order to fetch all profiles. We hacked
genior/catior stuff since several years for a large project and yes, we
accept the price of being bound to OmniORB for this. The overall gain in
terms of everyday usage is very high (uhm, any change here from 3.04 to 4.0
?).
Btw, I wonder why none of those many CORBA versions introduced officially
this pair of methods at ORB level beside of
string_to_object/object_to_string.
Regards,

Renzo Tomaselli