hostname
port number
implementation name
interface name
Cheers...
---------------------------------------
Adrian Eyre <adr...@simpson.dyndns.org>
> Can anyone here point me in the right direction of a C[++] code snippet
> which will return a stringified IOR from the following parameters:
>
> hostname
> port number
> implementation name
> interface name
There are some ways to do this, although they are all proprietary and should
be used with care (straying from CORBA compliancy is dodgy ground). Orbix 3
provides an API CORBA::ORB::makeIOR() which can be used to create an IOR
manually, and in addition the Wonderwall product comes with a command line
tool called iortool which can be used to create IORs yourself.
Note that the one crucial thing that you will need (as well as what is in
your list above) is the Object Key, which, for most ORBs, is a very internal
construct that should only be created by the server that holds that object.
So to do this, you have to effectively expose the internals of the server
side ORB, which then ruins a lot of the transparency that CORBA provides.
You should probably also look at the INS spec, especially the sections
concerned with the CORBA URL syntax, as it may be useful to you.
Cheers,
Brian
IONA Technologies
> Hi Adrian,
>
> > Can anyone here point me in the right direction of a C[++] code snippet
> > which will return a stringified IOR from the following parameters:
[ ... ]
>
> You should probably also look at the INS spec, especially the sections
> concerned with the CORBA URL syntax, as it may be useful to you.
Note that URL-style IORs are *not* a general replacement mechanism for
arbitrary IORs. (They are meant to assist bootstrapping and configuration.)
For example, you cannot use URL-style IORs to create all the information
that may be encapsulated in a normal IOR, such as codeset information,
multiple components, security info, policies, etc. I *strongly* recommend
to use URL-style IORs only for what they were meant for: getting easy
access to a bootstrap object that can be used to gain access to more IORs.
Cheers,
Michi.
--
Michi Henning +61 7 3891 5744
Object Oriented Concepts +61 4 1118 2700 (mobile)
Suite 4, 904 Stanley St +61 7 3891 5009 (fax)
East Brisbane 4169 mi...@ooc.com.au
AUSTRALIA http://www.ooc.com.au/staff/michi-henning.html
How can then all be proprietary? Surely the IOR format is well documented
in the CORBA spec? And therefore if you have all the information required to
connect to an interface, that should be all you need.
> Orbix 3 provides an API CORBA::ORB::makeIOR() which can be used to create
> an IOR manually, and in addition the Wonderwall product comes with a
command
> line tool called iortool which can be used to create IORs yourself.
This was actually for Orbix 2.3c, although I have noticed that the function
CORBA::ORB::makeIOR() is in 2.3 as well, albeit undocumented.
Cheers...
> > There are some ways to do this, although they are all proprietary and
> should
> > be used with care (straying from CORBA compliancy is dodgy ground).
>
> How can then all be proprietary? Surely the IOR format is well documented
> in the CORBA spec? And therefore if you have all the information required to
> connect to an interface, that should be all you need.
The POA provides portable means to generate IORs (create_reference and
create_reference_with_id), the BOA does not. However, in no case can you
explicitly specify the host name and IP address. You can indirectly
ensure that this information is embedded the way you want it though,
by creating a POA that uses the correct address. In turn, you do that
by specifying addressing information on the command line or with a
(proprietary) POA policy.
You can cobble together an IOR out of thin air by encoding it in the
format specified in the spec. However, there is no API to do this
and there are a few glitches with this idea. For example, your ORB may
be using multicomponent IORs which may contain information specific to
that ORB. In order to cobble an IOR together by hand, you'd have to know
exactly what your ORB does with these components under what circumstances.
In addition, the object key may have a quite complex internal structure
that also changes from ORB to ORB, so you would have to know exactly how
object keys are put together by your ORB.
In general, I'd recommend against putting IORs together that way -- whatever
code you write would be highly ORB-dependent and, worse, could break without
warning with the next release of your ORB.
Cheers,
Michi.
--
Michi Henning +61 7 3236 1633
Object Oriented Concepts +61 4 1118 2700 (mobile)
PO Box 372 +61 7 3211 0047 (fax)
Annerley 4103 mi...@ooc.com.au
AUSTRALIA http://www.ooc.com
Also, I've heard of "Universal Locator Service". Is this the same thing or
related?
Any information is appreciated.
Thanks
Joe
have a look at the Interoperable Name Service Sepcification.
You can find it on the OMG web site.
Regards
alex
--------------------------------
Alexander Specker
spe...@norcom.de
Joe Drumm schrieb:
> Where can I get more information on the URL style IORs?
The spec for URL-style IORs is at http://www.omg.org/cgi-bin/doc?ptc/99-12-03.
Cheers,
Michi.
--
Michi Henning +61 7 3891 5744
Object Oriented Concepts +61 4 1118 2700 (mobile)