CORBA Programming

CORBA stands for Common Object Request Broker Architecture. The original idea was to create a single universal standard for how objects across different platforms, programming languages, network protocols can communicate with each other in a seamless manner. For example, an application developed on say a Sun Workstation running Unix under the programming language C needs to communicate by virtue of some well defined standard interface (the accepted contract) to a Intel based PC running Windows-2000 developed under Pascal. Without such a standard both sides need to negotiate all the details including the transport protocols.

The CORBA standard defines general interface standards that can be supported by different programming languages. In addition it also defines the quality and robustness of the communication, error handling, and recovery. The Standard does not cover implementation details, but only specifies the general interface language (IDL) used across all supported languages, exception handling specification, a special transport protocol called IOP that sits on top of TCP/IP, as well as the specific programming language mappings. Using the IDL, an implementation for the specific platform dependent object is generated which can be compiled using the supported language.

This book describes the implementation of a simple CORBA object using PolyORB and Ada. While the functionality is very simple the design itself is more extensive using modules, PolyORB’s logging facility and meta classes giving you a better view of what is really needed in a client/server application.

While knowledge of programming in Ada in particular is not needed, you should have knowledge of object oriented programming in general.

The book is a work in progress, and there may be incomplete or missing chapters.