Today, many IT systems are made up of applications distributed over an intranet-type network, and beyond to the Internet. The construction, deployment, execution and administration of these distributed applications require the implementation of intermediate software layers (also known as "middleware"). In this context, the Common Object Request Broker Architecture (CORBA) standard aims to provide open middleware, built on an object-oriented client/server model. This standard is the fruit of standardization work by the Object Management Group (OMG), a major IT industry consortium. However, the OMG's efforts go far beyond the simple technical issue of middleware, aiming to define open standards for the integration of heterogeneous, distributed software in all sectors of activity.
The first part of this article takes us from the problems of distributed applications and middleware to the global vision proposed by the OMG, the Object Management Architecture (OMA), and the relationships with the competing solutions proposed by the WWW, Java and Microsoft. Next, we progressively detail the fundamental concepts of CORBA, namely the object-oriented client/server model, the OMG IDL language, the components of the distributed object bus and interoperability between buses. The core of this article looks in detail at the practical implementation of CORBA through the realization of a distributed application written in C++, Java and CorbaScript (a scripting language dedicated to CORBA). Finally, we summarize the benefits of the CORBA approach and describe the features expected in the forthcoming CORBA 3.0 standard.