This talk is based on:

1 Why CORBA?

2 Object Management Architecture

3 OMA Reference Model

Application Interface Domain Interfaces Common Facilities Object Services
Object Request Broker

4 Object Frameworks


Client   Object Implementation
Dynamic Invocation IDL Stub   IDL Skeleton
Object Adapter
ORB Core

6 ORB Core

7 OMG Interface Definition Language

7.1 IDL Types

7.2 IDL Template Types

7.3 IDL Example

module EmployeeInfoServer {
  interface Employee;
  interface Department;

  exception EmployeeInfoException {
    string message;

  interface Employee {
    unsigned long getId();    
    Department getDepartment();    
    float authorizeCommission(in float saleVolume)
      raises (EmployeeInfoException);
    attribute string name; 
    attribute string ssn;

  typedef sequence<Employee> EmployeeList;

  interface Department {
    unsigned long getId();    
    attribute string name;
    EmployeeList employees();


7.4 IDL Object Reference Types

7.5 IDL Interface Inheritance

7.6 IDL Language Mapping

OMG IDL Type C++ Mapping Type
long, short long, short
float, double float, double
enum enum
char char
boolean boolean
octet unsigned char
any Any class
struct struct
union class
string char*
wstring wchar_t*
sequence class
fixed Fixed template class
object reference pointer or object
interface class

8 Interface Repository

9 Stubs and Skeletons

10 Dynamic Invocation

10.1 Dynamic Invocation Interface

10.2 Dynamic Skeleton Interface

11 Adapters

adapter design pattern

11.1 Object Adapter

12 Inter-ORB Protocols


  1. Douglas C. Schmidt,
  2. CORBA Overview,
  3. CORBA Overview,
  4. CORBA 2.6 Formal Specification,
  5. Steve Vinoski,
  6. CORBA: Integrating Diverse Applications within Distributed Heterogeneous Environments.,
  7. OMG Interface Definition Language Definition Language,
  8. OMG,
  9. IDL to Java mapping,
  10. wikipedia:Adapter_pattern,

This talk available at
Copyright © 2009 José M. Vidal . All rights reserved.

26 February 2004, 12:30PM