Internet Inter-ORB Protocol (IIOP). The IIOP defines the ORB backbone, through which
other ORBs can bridge and provide interoperation with its associated services. In a CORBAbased solution, the Object Request Broker (ORB) is an object bus that provides a
transparent mechanism for sending requests and receiving responses to and from objects,
regardless of the environment and its location. The ORB intercepts the client’s call and is
responsible for finding its server object that implements the request, passes its parameters,
invokes its method, and returns its results to the client. The ORB, as part of its
implementation, provides interfaces to the CORBA services, which allows it to build
custom-distributed application environments. Figure 1.3 illustrates the architectural model
of CORBA with an example
representation of applications written in C, C++, and Java providing IDL bindings. The
CORBA architecture is composed of the following components: IDL. CORBA uses IDL
contracts to specify the application boundaries and to establish interfaces with its clients.
The IDL provides a mechanism
by which the distributed application component’s interfaces, inherited classes, events,
attributes, and exceptions can be specified.
ORB. It acts as the object bus or the bridge, providing the communication infrastructure to
send and receive request/responses from the client and server. It establishes the
foundation for the distributed
application objects, achieving interoperability in a heterogeneous environment. Some of
the distinct advantages of CORBA over a traditional client/server application model are as
OS and programming-language independence. Interfaces between clients and servers
are defined in OMG IDL, thus providing the following advantages to Internet programming:
multi-platform application environments, which provide a logical separation between
interfaces and implementation.
Legacy and custom application integration. Using CORBA IDL, developers can
encapsulate existing and custom applications as callable client applications and use them as
objects on the ORB.
Rich distributed object infrastructure. CORBA offers developers a rich set of distributed
object ervices, such as the Lifecycle, Events, Naming, Transactions, and Security services.
Location transparency. CORBA provides location transparency: An object reference is
independent of the physical location and application level location. This allows developers
to create CORBA-based
systems where objects can be moved without modifying the underlying applications.