Previous | Table of Contents | Next |
In many respects, issues of interoperability between ORBs are similar to those which can arise with a single type of ORB (e.g.,
a product). For example:
• Two installations of the ORB may be installed in different security domains, with different Principal identifiers. Requests crossing those security domain boundaries will need to establish locally meaningful Principals for the caller identity, and for any Principals passed as parameters.
• They could be administered to share user visible naming domains, so that naming domains do not need bridging.
• They might reuse the same networking infrastructure, so that messages could be sent without needing to bridge different connectivity domains.
• Different installations might assign different type identifiers for equivalent types, and so requests crossing type domain boundaries would need to establish locally meaningful type identifiers (and perhaps more).
Conversely, not all of these problems need to appear when connecting two ORBs of a different type (e.g., two different products). Examples include:
Additional problems can arise with ORBs of different types. In particular, they may support different concepts or models,
between which there are no direct or natural mappings. CORBA only specifies the application level view of object interactions,
and requires that distribution transparencies conceal a whole range of lower level issues. It follows that within any particular
ORB, the mechanisms for supporting transparencies are not visible at the application-level and are entirely a matter of implementation
choice. So there is no guarantee that any two ORBs support similar internal models or that there is necessarily a straightforward
mapping between those models.
These observations suggest that the concept of an ORB (instance) is too coarse or superficial to allow detailed analysis of
interoperability issues between ORBs. Indeed, it becomes clear that an ORB instance is an elusive notion: it can perhaps best
be characterized as the intersection or coincidence of ORB Service domains.