---
title: "Components of CORBA architecture"
subject: "Distributed System"
chapter: 4
key: "semester_7/distributed_system:corba-components"
source: https://www.bctengineer.com/q/semester_7/distributed_system/corba-components
site: BCT Engineering
---

# Components of CORBA architecture

Distributed System · Chapter 4: Distributed Heterogeneous Applications and CORBA

- Asked in: 2076 Asoj; 2073 Shrawan, 4 marks (asked 2 times)
- Video: [CORBA Architecture | Part-1/2 | Distributed Systems | Lec-45 | Bhanu Priya](https://www.youtube.com/watch?v=aEOfsRKTlv0) — Education 4u
- Answer checked by Claude Opus 5.5 (high effort) on 2026-10-14
- Page: https://www.bctengineer.com/q/semester_7/distributed_system/corba-components
- Whole chapter: https://www.bctengineer.com/md/semester_7/distributed_system/chapter-4

## Question

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

## 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.

## Answer

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

```text
 +-----------+                       +-----------------+
 |  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.

## Check yourself

The answer's key points as multiple-choice questions, with the correct option and why.

1. What is the heart of CORBA?
   A. Object Request Broker
   B. IDL compiler
   C. Skeleton
   D. Interface Repository
   Answer: A. ORB finds the target object, delivers the request and returns results, hiding location and language. (Key point: ORB)

2. What is the request path in CORBA?
   A. Client to skeleton to ORB to stub
   B. Client to stub to ORB to object adapter to skeleton to object
   C. Client to object adapter to ORB
   D. Skeleton to client
   Answer: B. The reply returns on the same path. (Key point: Request flow)

3. What does the Implementation Repository hold?
   A. IDL definitions used by DII
   B. Client stubs
   C. Information to locate and start servers
   D. Security keys
   Answer: C. The Interface Repository stores IDL definitions for DII. (Key point: Interface vs implementation repository)

## Related in Distributed System

- [Short note: CORBA components for RMI](https://www.bctengineer.com/question.md?key=semester_7%2Fdistributed_system%3Acorba-rmi-component-note) — Distributed System, chapter 4
- [Heterogeneous vs homogeneous; CORBA](https://www.bctengineer.com/question.md?key=semester_7%2Fdistributed_system%3Ahetero-homo-corba) — Distributed System, chapter 4

## Related in other subjects

- [Conditional GET; 3-tier architecture components](https://www.bctengineer.com/question.md?key=semester_8%2Finternet_and_intranet%3Aconditional-get-3tier) — Internet and Intranet, chapter 4
- [Web architecture and web-tier components](https://www.bctengineer.com/question.md?key=semester_7%2Fweb_technology%3Aweb-architecture-tiers) — Web Technology, chapter 2
- [Data warehouse architecture and components](https://www.bctengineer.com/question.md?key=semester_7%2Fdata_mining%3Adw-architecture-components) — Data Mining, chapter 1
- [Combined plant components and T-s diagram](https://www.bctengineer.com/question.md?key=semester_7%2Fpower_plant_equipment%3Acombined-components-ts) — Power Plant Equipment, chapter 8, asked 4×
