next up previous
Next: Standard CORBA Objects Up: THE CORBA FRAMEWORK Previous: THE CORBA FRAMEWORK

The CORBA Reference Model

CORBA's most fundamental component is the Object Request Broker (ORB) whose task is to facilitate communication between objects. Given an Interoperable Object Reference (IOR), the ORB is able to locate target objects and transmit parameters and return values to and from remote method invocations.

The interface to a CORBA object is specified using the CORBA Interface Definition Language (IDL). An IDL compiler translates the IDL definition into an application programming language, such as C++ and Java, generating IDL stubs and skeletons that respectively provide the framework for client-side and server-side proxy code. Compilation of applications incorporating IDL stubs provides a strongly-typed Static Invocation Interface (SII). Conversely, a more flexible communication mechanism can be established through the use of the Dynamic Invocation Interface (DII) and the Dynamic Skeleton Interface (DSI) allowing objects to be created without prior knowledge of the IDL interface.

Requests and responses between objects are delivered in a standard format defined by the Internet Inter-ORB Protocol (IIOP), a communications protocol which adheres to the CORBA General Inter-ORB Protocol (GIOP) specification and, as such, acts as the base for CORBA interoperability on the internet.

Requests are marshalled in a platform independent format, by the client stub (or in the DII), and unmarshalled on the server-side into a platform specific format by the IDL skeleton (or in the DSI) and the object adaptor. In its mandatory version, the Portable Object Adaptor (POA) provides CORBA objects with a common set of methods for accessing ORB functions, ranging from user authentication to object activation and object persistence.

The ORB core is implemented as a runtime library linked into client-server applications. Fig. 1 shows the components of the CORBA architectural model.


  
Figure 1: The CORBA client and server architecture.
\includegraphics*[width=82.0mm]{fig1.eps}


next up previous
Next: Standard CORBA Objects Up: THE CORBA FRAMEWORK Previous: THE CORBA FRAMEWORK
Jan Chrin
2000-11-13