Bionic Buffalo Tech Note #100: Identifying CORBA Objects
application to find that service without having to know the service's object reference
or IOR in advance.
Indirect References
A final mechanism for identification of objects is the indirect reference. A URL of
one of the forms
“file://...”
,
“http://...”
, or
“ftp://...”
indicates
that the specified file is to be fetched, and its contents are to be interpreted as an
object URL in one of the forms already discussed.
Availability and Use
Although the CORBA specifications describe all of the above mechanisms for
identification of objects, not every implementation supports them all. Especially, the
various forms of URL, except perhaps for
“ior:...”
, are not found in all CORBA
ORBs.
This document has omitted discussion of the Trading Service, since that service is
more akin to a search capability than it is to an identification mechanism. The Trading
Service certainly can be used for object identification, however, and perhaps should
be considered in circumstances where the other mechanisms don't satisfy the
application requirements.
No form of reference will always describe what interfaces are supported by an object.
For that reason, once an object identifier has been resolved, it may be appropriate to
invoke
CORBA::Object::get_interface
(if supported) to determine the
definition of the supported interface.
When multiple forms of representation are available, there is no simple rule telling
which form is best in a situation. That must be determined by the application or
designer. All other considerations being equal, when communicating among disparate
referencing domains, IORs and their stringified equivalents tend to be most widely
accepted, and they also contain other information which may be useful to
communicating ORBs. Ultimately, of course, even when some other mechanism
might be used to identify an object initially, ORBs will use IORs in their protocols
among each other except when the parameters of an operation explicitly call for some
other form of object identification.
To maximize portability, applications should avoid analysis or synthesis of opaque
data, even when their internal formats are known or understood.
Page 6 of 7