---
title: "Heterogeneous vs homogeneous; CORBA"
subject: "Distributed System"
chapter: 4
key: "semester_7/distributed_system:hetero-homo-corba"
source: https://www.bctengineer.com/q/semester_7/distributed_system/hetero-homo-corba
site: BCT Engineering
---

# Heterogeneous vs homogeneous; CORBA

Distributed System · Chapter 4: Distributed Heterogeneous Applications and CORBA

- Asked in: 2075 Chaitra, 3+5 marks
- 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/hetero-homo-corba
- Whole chapter: https://www.bctengineer.com/md/semester_7/distributed_system/chapter-4

## Question

Compare heterogeneous and homogeneous distributed system. Explain the CORBA architecture and its services.

## Short answer

Homogeneous systems have identical nodes (hardware, OS, language) and simpler management; heterogeneous systems involve different platforms and require middleware for interoperability. CORBA provides an Object Request Broker (ORB) with IDL-defined interfaces, stubs/skeletons, Object Adapter (POA), and GIOP/IIOP for communication. Standard services include Naming, Trading, Event, Transaction, Security, and Lifecycle.

## Answer

#### Heterogeneous vs homogeneous distributed systems
| Point | Homogeneous | Heterogeneous |
|---|---|---|
| Nodes | Same hardware and same OS | Different hardware, OS and networks |
| Software | Same software and language | Different languages and platforms |
| Data format | Same representation | Different (endianness, encoding), needs conversion |
| Management | Simple | Complex, needs middleware |
| Interoperability | Not an issue | Main challenge |
| Example | Cluster of identical Linux PCs | Internet applications, banks linking Windows, Unix, mainframes |

#### CORBA architecture
CORBA, from the OMG, is middleware that lets heterogeneous objects communicate through an **Object Request Broker (ORB)**.

```text
 Client -> IDL stub / DII -> ORB core ==GIOP/IIOP==> ORB core
                                                        |
 Servant <- skeleton / DSI <- Object Adapter (POA) <----+
 (Interface and Implementation Repositories support the ORB)
```
Components: ORB core, IDL (language-neutral interface description), client stub and server skeleton, Dynamic Invocation and Skeleton Interfaces, Object Adapter (POA), Interface and Implementation Repositories, and GIOP/IIOP for communication between ORBs of different vendors.

A call flows: client -> stub -> ORB -> object adapter -> skeleton -> servant, and the reply returns on the same path.

#### CORBA services
Standard IDL-defined services: **Naming** (name to reference), **Trading** (find by property), **Event/Notification** (asynchronous), **Life cycle**, **Persistence**, **Transaction**, **Concurrency control**, **Security**, **Query**, **Relationship**, **Time**. They provide the common functions that distributed applications need.

## Check yourself

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

1. Why do heterogeneous systems need conversion?
   A. They have different data representations such as endianness
   B. They use the same format
   C. They are simple
   D. They have no network
   Answer: A. Homogeneous systems share representation. (Key point: Data format)

2. Which protocol lets ORBs of different vendors communicate?
   A. FTP
   B. SMTP
   C. GIOP/IIOP
   D. HTTP only
   Answer: C. GIOP/IIOP is the standard ORB-to-ORB protocol. (Key point: Interoperability)

3. Which is a homogeneous system example?
   A. Bank linking Windows, Unix and mainframes
   B. Cluster of identical Linux PCs
   C. Internet apps
   D. Mixed vendor ORBs
   Answer: B. Same hardware and OS. (Key point: Homogeneous example)

4. What is IDL's role in CORBA?
   A. Execute objects
   B. Transport data
   C. Language-neutral description of interfaces
   D. Store objects
   Answer: C. Compilers generate stubs and skeletons. (Key point: IDL role)

## Related in Distributed System

- [Homogeneous vs heterogeneous applications](https://www.bctengineer.com/question.md?key=semester_7%2Fdistributed_system%3Ahomo-hetero-apps) — Distributed System, chapter 4
- [CORBA invocation methods and services](https://www.bctengineer.com/question.md?key=semester_7%2Fdistributed_system%3Acorba-invocation-services) — Distributed System, chapter 4, asked 3×
- [JINI goals, CORBA services, OS support](https://www.bctengineer.com/question.md?key=semester_7%2Fdistributed_system%3Aos-support-jini-corba) — Distributed System, chapter 3
- [Short note: CORBA services](https://www.bctengineer.com/question.md?key=semester_7%2Fdistributed_system%3Acorba-services-note) — Distributed System, chapter 4
- [CORBA services; object adapter functions](https://www.bctengineer.com/question.md?key=semester_7%2Fdistributed_system%3Acorba-services-object-adapter) — Distributed System, chapter 4
- [IDL and CORBA RMI with services](https://www.bctengineer.com/question.md?key=semester_7%2Fdistributed_system%3Aidl-corba-rmi) — Distributed System, chapter 4

## Related in other subjects

- [Homogeneous/heterogeneous catalysis; intermediate compound theory](https://www.bctengineer.com/question.md?key=semester_2%2Fengineering_chemistry%3Ahomo-hetero-intermediate) — Engineering Chemistry, chapter 2
- [CDMA vs LTE system architecture](https://www.bctengineer.com/question.md?key=semester_7%2Fwireless_communication%3Acdma-vs-lte-architecture) — Wireless Communication, chapter 8
- [ISDN architecture, services and channels](https://www.bctengineer.com/question.md?key=semester_8%2Ftelecommunications%3Aisdn-architecture-channels) — Telecommunications, chapter 8, asked 2×
- [Web services architecture; SOAP and WSDL roles](https://www.bctengineer.com/question.md?key=semester_7%2Fweb_technology%3Aweb-services-soap-wsdl) — Web Technology, chapter 8
