Skip to main content

Components of CORBA architecture

Short answer

Core components: ORB (communication bus), IDL stubs/skeletons, DII/DSI, Object Adapter (BOA/POA), Interface Repository, Implementation Repository, and ORB core running GIOP/IIOP. The ORB locates objects, marshals requests; the Object Adapter links implementations to the ORB, activates objects, and dispatches calls. Standard services (naming, event, etc.) complete the environment.

Explain the components of the CORBA architecture (environment) with a diagram.

The CORBA architecture is based on the Object Management Architecture (OMA). Its main components are shown below.

 +-----------+                       +-----------------+
 |  Client   |                       | Object          |
 |           |                       | implementation  |
 +-----+-----+                       +--------+--------+
       |                                      |
 +-----v-----+ +--------+ +-----------+ +-----v-----+
 |  IDL stub | |  DII   | | Interface | |  Skeleton |
 |           | |        | | Repository| |  / DSI    |
 +-----+-----+ +---+----+ +-----------+ +-----+-----+
       |           |                          |
       |           |                   +------v------+
       |           |                   |   Object    |
       |           |                   |   Adapter   |
 +-----v-----------v---------------------------v-----+
 |               ORB core  (GIOP/IIOP)               |
 +---------------------------------------------------+
  1. Object Request Broker (ORB): the heart of CORBA. It finds the target object, delivers the request, passes parameters and returns results. It hides location, language and OS differences. Communication between ORBs uses GIOP/IIOP.
  2. IDL (Interface Definition Language): language-neutral notation to describe object interfaces. IDL compilers produce stubs and skeletons for C++, Java, etc.
  3. Client stub / proxy: marshals a static invocation to the ORB.
  4. Server skeleton: unmarshals the request and calls the implementation.
  5. Dynamic Invocation Interface (DII) and Dynamic Skeleton Interface (DSI): run-time building and handling of requests.
  6. Object Adapter (BOA/POA): links the object implementation to the ORB; registers objects, creates references, activates objects on demand and dispatches requests to the right servant.
  7. Interface Repository: run-time database of IDL definitions, used by DII.
  8. Implementation Repository: information to locate and start servers.
  9. Object services (CORBAservices): naming, event, transaction, security, life cycle, etc.
  10. Common facilities and domain interfaces: horizontal (printing, e-mail) and vertical (finance, health) frameworks.
  11. Application objects: the user's own clients and servers.

A request flows: client -> stub -> ORB -> object adapter -> skeleton -> object, and the reply returns the same way.

✓ Answer checked by Claude Opus 5.5 (high effort)

All Distributed System chapter 4 questions →