MICO: An Open Source CORBA Implementation

CORBA is an open standard that defines a specification of a middleware platform, but it does not prescribe any specific technology. Different vendors or organizations can implement their own version of the CORBA standard, just like we did with MICO. In this chapter, we show how to make MICO interoperate with other ORB implementations. The so-called IIOP provides the glue that ties together different ORB implementations. In Section 6.1, we give an overview of the parts of the CORBA standard that define interoperability. Then in Sections 6.2 and 6.3, we present a step-by-step procedure that shows how to make MICO interoperate with Orbix and VisiBroker.
The CORBA IDL together with a language-specific mapping defines an interface between an application and an ORB. Given an IDL specification and a language mapping, a programmer knows how to implement the client or server side of an application based only on the interface specification. In fact, the programmer does not even need to know how operation invocations are handled by the underlying ORB. We call this interface between application programs and an ORB a horizontal interface (see Figure 6.1).
The specification of the horizontal interface, which has been the topic for most of this document, is sufficient as long as the application uses only one ORB. But CORBA is only a specification, and different ORB vendors may make different implementation decisions, for example, for secure ORBs or real-time ORBs. One...