Home
 

About CORBA

Chapter 1. About CORBA

In short, CORBA (Common Object Request Broker Architecture) is a middleware to distribute objects over different platforms and different programming languages, and is specified by the OMG ([4]).

What follows is a very basic introduction. For a more detailed description consult the CORBA specification ([5]) or a good book, like Advanced CORBA programming with C++ ([1]).

First, we need an interface definition written in IDL (Interface Definition Language). This is conceptually similar to a Java interface. This interface is then compiled with an IDL compiler into a stub and a skeleton for the target language. A stub is a proxy for the actual object and handles data marshalling and transfer to the actual object, wherever it may be. The skeleton also contains marshalling and data transfer code, but must be extended by the operations the object is supposed to perform.

To use the object we need a server that creates the object and somehow transfers the reference to it to the clients. The easiest way is via a file on a shared file system. The clients then create the proxy object and can use it as if it is the actual object (with minor modifications, like additional CORBA exceptions).