Corba Fundamentals   «Prev  Next»
Lesson 5 Object Request Broker
Objective Discuss the ORB communication protocol in CORBA

Object Request Broker (ORB)

The Object Request Broker (ORB) is the communications backbone of the Common Object Request Broker Architecture (CORBA). Its purpose is to enable distributed objects—possibly written in different programming languages and running on different platforms—to communicate as though they were local objects within the same process.

How the ORB works
How the ORB works

At a conceptual level, the ORB abstracts network communication details from both client and server. A client issues a request to a remote object; the ORB locates that object, manages the communication channel, transmits the request, and returns the result—all while preserving the illusion of a local method call.

This abstraction is the core design goal of distributed object middleware: separate application logic from transport mechanics.

Understanding the ORB Communication Protocol

The ORB communication protocol defines how distributed objects exchange requests and responses. In CORBA, this communication is standardized through the General Inter-ORB Protocol (GIOP) and its Internet-based mapping, the Internet Inter-ORB Protocol (IIOP).

Rather than focusing on sockets, byte streams, or packet management, developers define object interfaces using the Interface Definition Language (IDL). The ORB then generates client-side stubs and server-side skeletons from the IDL specification.

The communication flow works as follows:
  1. The client invokes a method on what appears to be a local object reference.
  2. The client stub marshals (serializes) the arguments into a standardized byte format.
  3. The ORB transmits the request using GIOP/IIOP.
  4. The server skeleton unmarshals the data and invokes the actual implementation.
  5. The result is marshaled and returned through the same path.

This mechanism enables:
  • Location transparency – the client does not need to know where the object resides.
  • Language neutrality – objects written in C++, Java, or other supported languages can interoperate.
  • Platform independence – communication across heterogeneous systems.

In modern terminology, the ORB implements a form of remote procedure call (RPC) for objects. While contemporary systems often use REST or gRPC over HTTP/2, the ORB pioneered standardized object-to-object RPC in enterprise middleware.

Core ORB Components


The Portable Object Adapter plays a particularly important role. It allows objects to be activated on demand, supports persistent object references, and manages servant lifecycles. In distributed systems terminology, the POA contributes to object virtualization and request routing.

Although CORBA is considered legacy in many greenfield projects, the architectural principles it formalized—interface contracts, middleware abstraction, distributed object references—remain foundational in modern microservices and service mesh architectures.

Object Management Architecture (OMA)

The Object Management Architecture (OMA) defines how distributed object systems are structured at a higher conceptual level.
  1. Object Model – Defines objects as encapsulated entities with immutable identity and well-defined interfaces.
  2. Reference Model – Categorizes and describes interactions among distributed objects.

The Object Model enforces classic object-oriented principles:
  • Encapsulation
  • Identity
  • Interface-based interaction

The Reference Model organizes services into:
  • Object Services – Domain-independent services such as Naming and Trading.
  • Domain Interfaces – Industry-specific interfaces (e.g., healthcare, finance, telecommunications).

The ORB links all these categories together. It provides the communication substrate that enables clients to discover, bind to, and invoke remote objects.


Advantages and Modern Perspective

Advantages:
Challenges:
In contemporary distributed systems, CORBA’s ORB is often replaced by REST APIs, gRPC, or message brokers. However, its architectural contributions—contract-first design, middleware abstraction, protocol standardization—directly influenced modern service-oriented and microservice ecosystems.

When maintaining legacy CORBA systems, best practice is to isolate the ORB at integration boundaries, document IDL contracts clearly, and minimize coupling between business logic and middleware infrastructure.

Summary

The Object Request Broker is the central communication mechanism of CORBA. It abstracts network communication, marshals and unmarshals data, and enables distributed objects to interact transparently across heterogeneous systems. Understanding the ORB communication protocol is essential not only for maintaining legacy CORBA systems, but also for appreciating the evolution of distributed middleware architectures.


SEMrush Software