0% found this document useful (0 votes)
24 views

Case Study: OMG/CORBA

Non-profit organisation with HQ in the us, representatives in united kingdom, germany, japan, india, and Australia. S Dedicated to creating and popularizing object-oriented industry standards for application integration, e.g. S Goal of CORBA Support distributed and heterogeneous object request in a way transparent to users and application programmers.

Uploaded by

Vishesh Sharma
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
24 views

Case Study: OMG/CORBA

Non-profit organisation with HQ in the us, representatives in united kingdom, germany, japan, india, and Australia. S Dedicated to creating and popularizing object-oriented industry standards for application integration, e.g. S Goal of CORBA Support distributed and heterogeneous object request in a way transparent to users and application programmers.

Uploaded by

Vishesh Sharma
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 10

Case Study: OMG/CORBA

© Wolfgang Emmerich, 1998/99


1

Outline

■ Who is the OMG


■ Goals of CORBA
■ CORBA Object Model
■ CORBA Interface Definition Language
■ CORBA Architecture
• Presentation Layer Implementation
• Session Layer Implementation

© Wolfgang Emmerich, 1998/99


2

1
Who is the OMG?

■ Non-profit organisation with HQ in the US,


representatives in United Kingdom,
Germany, Japan, India, and Australia.
■ Founded April 1989.
■ More than 800 members.
■ Dedicated to creating and popularizing
object-oriented industry standards for
application integration, e.g.
• CORBA
• ODMG-93
• UML
© Wolfgang Emmerich, 1998/99
3

Goal of CORBA

■ Support distributed and heterogeneous


object request in a way transparent to
users and application programmers
■ Facilitate the integration of new
components with legacy components
■ Open standard that can be used free of
charge
■ Based on wide industry consensus

© Wolfgang Emmerich, 1998/99


4

2
Object Management Architecture

Application Domain CORBA


Objects Interfaces facilities

Object Request Broker

CORBAservices

© Wolfgang Emmerich, 1998/99


5

CORBA Object Model

■ Objects
■ Types
■ Modules
■ Attributes
■ Operations
■ Requests
■ Exceptions
■ Subtypes

© Wolfgang Emmerich, 1998/99


6

3
OMG Interface Definition Language

■ Language for expressing all concepts of


the CORBA object model
■ OMG/IDL is
• programming-language independent
• orientated towards C++
• not computationally complete
■ Different programming language bindings
are available
■ Explanation of Model and Language by
Example
© Wolfgang Emmerich, 1998/99
7

Running Example
Organization
#name:string

Club uses
-noOfMembers:int 1 1..* Trainer
-location:Address -name:string
works for
+transfer(p:Player) +train()
1 1..*
has s
o a che
c 1..*
* Player
Team
plays in -name:string
-name:string
1 11..16 -Number:int
+bookGoalies()
+book()
© Wolfgang Emmerich, 1998/99
8

4
CORBA Object Model: Objects

■ Each object has one identifier that is


unique within an ORB
■ Multiple references to objects
■ References support location transparency
■ Object references are persistent

© Wolfgang Emmerich, 1998/99


9

CORBA Object Model: Types

Object type
interface Organization {
readonly attribute string name;
};
Constructed type
struct Address {
string street;
string postcode;
Atomic types string city;
};

© Wolfgang Emmerich, 1998/99


10

5
CORBA Object Model: Attributes

Clients cannot
change value Attribute type
Attribute name
interface Team {
changeable readonly attribute string name;
attribute sequence<Trainer> coached_by;
attribute Club belongs_to;
attribute sequence<Player> players;
...
};
Constructed attribute type

© Wolfgang Emmerich, 1998/99


11

CORBA Object Model: Operations

Parameter kind

interface Team {
Parameter list
Return type ...
void bookGoalies(in Date d);
Oneway oneway void print();
Synchronization
};
Parameter type
Operation name Parameter name
used in requests
© Wolfgang Emmerich, 1998/99
12

6
CORBA Object Model: Requests

■ Requests are defined by client objects


■ Request consist of
• Reference of server object
• Name of requested operation
• Actual request parameters
• Context information
■ Request is executed synchronously
■ Requests can be defined
• statically
• dynamically
© Wolfgang Emmerich, 1998/99
13

CORBA Object Model: Exceptions

■ Generic Exceptions (e.g. network down,


invalid object reference, out of memory)
■ Type-specific Exceptions

Exception name Exception data

exception PlayerBooked{sequence<Date> free;};


interface Team {
...
void bookGoalies(in Date d) raises PlayerBooked;
};

Operations declare
© Wolfgang Emmerich, 1998/99 exceptions they raise 14

7
CORBA Object Model: Subtypes

Implicit supertype:
Object
Inherited by Club
interface Organization {
readonly attribute string name;
}; Supertype
interface Club : Organization {
exception NotInClub{};
readonly attribute short noOfMembers;
readonly attribute Address location;
attribute sequence<Team> teams;
attribute sequence<Trainer> trainers;
void transfer(in Player p) raises NotInClub;
};
© Wolfgang Emmerich, 1998/99
15

Components involved at run-time

Client Object Implementation

Implementation Object
Dynamic Client ORB
Skeletons Adapter
Invocation Stubs Interface

ORB Core

One standardised interface


One interface per object operation
One interface per object adapter
ORB-dependent interface
© Wolfgang Emmerich, 1998/99
16

8
Generation of Stubs/Skeletons

Team.idl
Client.cc Server.cc

IDL-Compiler

Teamcl.hh Teamsv.hh
Teamcl.cc Teamsv.cc

C++ Compiler, Linker C++ Compiler, Linker

included in
generates
Client Server
reads
© Wolfgang Emmerich, 1998/99
17

Portable Object Adapter (POA)

■ Facilitate object implementation


portability between different ORBs
■ Support light-weight transient objects
■ Support persistent object identities (e.g.
in ODBMSs)
■ Allow servants to implement multiple
objects
■ Support transparent object activation
■ Extensible mechanism for activation
policies
■ Multiple POAs in one server 18
© Wolfgang Emmerich, 1998/99

9
Abstract POA Model

Server

ORB POA
?

Client
© Wolfgang Emmerich, 1998/99
19

10

You might also like