Different Layers of CORBA Interoperability
One of CORBA's primary advantages is interoperability. So, while we have already touched on many of the areas where CORBA interoperability is advantageous,
this module specifically focuses on the topic. We will take a high-level tour of CORBA's different layers of interoperability, stopping to take note of places where the interoperability shines and also where it could stand a little improvement.
In this module, you will learn:
- The different layers of CORBA interoperability
- What operating systems are supported by CORBA
- How IIOP provides protocol-level interoperability
- ORB-level interoperability
GIOP-based protocol for TCP/IP networks
For discussion and use of CORBA in this module, your main interest will be the GIOP-based protocol for TCP/IP networks, known as the Internet Inter-ORB Protocol (IIOP). As of the 2.0 version of the CORBA specification, vendors are required to implement the IIOP protocol in order to be considered CORBA-compliant (although they might offer their proprietary protocols in addition to IIOP). This requirement helps to ensure interoperability between CORBA products from different vendors because each CORBA 2.0-compliant product must be able to speak the same language. Some vendors have gone so far as to adopt IIOP as their products' native protocol (the protocol used by default) rather than use a proprietary protocol; however, an ORB is allowed to support any number of protocols, as long as IIOP is supported (when communicating with each other, ORBs can negotiate which protocol to use). Additionally, a number of vendors are including IIOP-compliant ORBs with products ranging from database servers to application development tools to Web browsers.
IIOP, as you can see, is an important key to CORBA interoperability.
General Inter-ORB Protocol
This chapter specifies a General Inter-ORB Protocol (GIOP) for ORB interoperability, which can be mapped onto any connection-oriented transport protocol that meets a minimal set of assumptions. This chapter also defines a specific mapping of the GIOP which runs directly over TCP/IP connections, called the Internet Inter-ORB Protocol (IIOP). The IIOP must be supported by conforming networked ORB products regardless of other aspects of their implementation. Such support does not require using it internally; conforming ORBs may also provide bridges to this protocol.