Specifically, the architecture introduces the concepts of immediate
and mediated bridging of ORB domains. The Internet inter-ORB Protocol (IIOP)
forms the common basis for broad-scope mediated bridging. The inter-ORB
bridge support can be used to
implement both immediate bridges and to build “half-bridges” to mediated
bridge domains.
The IIOP may also be used to implement an ORB’s internal messaging, if desired. Since ORBs are not required to use the IIOP internally, the goal of not requiring prior knowledge of each others’ implementation is fully satisfied.
Inter-ORB Bridge Support
When information in an invocation must leave its domain, the invocation
must traverse a bridge. The role of a bridge is to ensure that content
and semantics are mapped from the form appropriate to one ORB to that of
another, so that users of any given ORB
only see their appropriate content and semantics.
The inter-ORB bridge support element specifies ORB APIs and conventions
to enable the easy construction of interoperability bridges between ORB
domains. Such bridge products could be developed by ORB vendors, Sieves,
system integrators or other
third-parties.
General Inter-ORB Protocol (GIOP)
The General Inter-ORB Protocol (GIOP) element specifies a standard transfer syntax (low-level data representation) and a set of message formats for communications between ORBs. The GIOP is specifically built for ORB to ORB interactions and is designed to work directly over any connection-oriented transport protocol that meets a minimal set of assumptions. It does not require or rely on the use of higher level RPC mechanisms. The protocol is simple (as simple as possible, but not simpler), scalable and relatively easy to implement. It is designed to allow portable implementations with small memory footprints and reasonable performance, with minimal dependencies on supporting software other than the underlying transport layer.
While versions of the GIOP running on different transports would not be directly interoperable, their commonality would allow easy and efficient bridging between such networking domains.
Internet Inter-ORB Protocol (IIOP)
The Internet Inter-ORB Protocol (IIOP) element specifies how GIOP messages are exchanged using TCP/IP connections. The IIOP specifies a standardized interoperability protocol for the Internet, providing “out of the box” interoperation with other compatible ORBs based on the most popular product- and vendor-neutral transport layer. It can also be used as the protocol between half-bridges.
The protocol is designed to be suitable and appropriate for use by any ORB to interoperate in Internet Protocol domains unless an alternative protocol is necessitated by the specific design center or intended operating environment of the ORB. In that sense it represents the basic inter-ORB protocol for TCP/IP environments, a most pervasive transport layer.
The IIOP’s relationship to the GIOP is similar to that of a specific language mapping to OMG IDL; the GIOP may be mapped onto a number of different transports, and specifies the protocol elements that are common to all such mappings. The GIOP by itself, however, does not provide complete interoperability, just as IDL cannot be used to built complete programs. The IIOP, and other similar mappings to different transports, are concrete realisations of the abstract GIOP definitions,
Environment-Specific Inter-ORB Protocols (ESIOPs)
This specification also makes provision for an open ended set of Environment-Specific
Inter-ORB Protocols (ESIOPs). Such protocols would be used for “out of
the box” interoperation at user sites where a particular networking or
distributing computing
infrastructure is already in general use. Because of the opportunity
to leverage and build on facilities provided by the specific environment,
ESIOPs might support specialized capabilities such as those relating to
security and administration. While ESIOPs may be optimized for particular
environments, all ESIOP specifications will be expected to conform to the
general ORB interoperability architecture conventions to enable easy bridging.
The inter-ORB bridge support enables bridges to be built between ORB domains
that use the IIOP and ORB domains that use a particular ESIOP.