Transcript Document

Introduction
to
CORBA
By : Esmaill Khanlarpour
University of Mazandran Science & Tecnology
[email protected]
January 07 2010
Introduction To CORBA
Outline :
Introduction
 Distributed System


definition
Problem
What is the corba?
2 / 30
Introduction To CORBA
Outline (contd.) :
the component of corba
 Object Request Broker (ORB)
 Interface Definition Language (IDL)
 Stubs and Skeletons
 Language Mappings
3 / 30
Introduction To CORBA
Outline (contd.) :
 Object Adapters
 Inter-ORB Protocols
Conclusion
4 / 30
Introduction To CORBA
Distributed Systems :
 Definition :

Andrew S. Tanenbaum & Maartin Van Steen :
A distributed system is a collection of independent computers
that appears to its user as a single coherent system.

George Coulouris & Jean Dollimore & Tim Kindberg :

A Distributed system is one in which components located at
networked computers communicate and coordinate their
actions only by passing messages .
5 / 30
Introduction To CORBA
Distributed Systems (contd.):
 Some of Problems :
 Absence of global shared memory
 Data Can’t Stored & All the information has to pass through
messages.
 Absence of Global Clock
 it becomes difficult to synchronize between components that
are remotely located .
6/ 30
Introduction To CORBA
Distributed Systems (contd.):

Heterogeneity of the components .

Components can be of different make or following different
protocols and standards.
7 / 30
Introduction To CORBA
What is the CORBA
:
 we need some architecture that can provide a backbone
structure for a distributed system .
 CORBA is One of the most common Architecture for this
purpose .
 Is abbreviation for Common Object Request Broker Architecture.
8/ 30
Introduction To CORBA
What is the CORBA

(contd.):
Definition :
 George Coulouris & Jean Dollimore & Tim Kindberg :
CORBA IS a middleware design that allows application
programs to communicate with one another irrespective of their
programming language, their hardware their software platforms,
the network they communicate over and their implementation.

Thus, CORBA is an architecture for heterogenic system which
allows application programs (running on same processor or
on different processor) to communicate with each other.
9 / 30
Introduction To CORBA
What is the CORBA



(contd.):
Developed the CORBA specification By OMG Group.
the OMG Group is Industry Consortium with over 800
member companies formed to develop a distributed object
standard.
Objects in CORBA are 2 type :
 Client
 Server
10 / 30
Introduction To CORBA
The CORBA Objects:
Client Object:

Requesting an service from Server Object.


Server Object:

Receive Request from Client Then Make a Response for
it .
11 / 30
Introduction To CORBA
The CORBA Objects (contd.):
Client Object
Server Object
Request
Response
Service
Service
12/ 30
Introduction To CORBA
Object Request Broker (ORB):

The object request broker (ORB) component is the
backbone of communication between the clients and the
objects .

The application utilizes the components of ORB that
include :

Object Interface :
are the Domain Independent Interface used by many Distributed
Object Programs.
13 / 30
Introduction To CORBA
Object Request Broker (contd):

Common Facilities :
They serve end user applications.

Domain Interface :
Is oriented towards specific application .

Application Interface :
These are interfaces developed specifically for a given
application .
14 / 30
Introduction To CORBA
Object Request Broker (contd):
Client
Object
Object
Stub
Client
Stub
ORB
Figure 2 : ORB mediates transfer between client program
and server object
15 / 30
Introduction To CORBA
Interface Definition Language (IDL) :

An object’s interface specifies the operations and types
that the object supports and thus defines the requests
that can be made on the object.
 To call a member function on a CORBA object the client
needs only the object’s IDL.
 Client need not know the object’s implementation ,
location or operating system on which the object runs.
16 / 30
Introduction To CORBA
Interface Definition Language (contd.) :

Interfaces are similar to classes in C++ and interfaces in
Java
IDL is just a declarative language, not a full-fledged
programming language

An example OMG IDL interface definition is:
// OMG IDL
interface Factory
{
Object create();
};

17 / 30
Introduction To CORBA
Stubs and Skeleton :

A stub is a mechanism that effectively creates and
issues requests on behalf of a client

a skeleton is a mechanism that delivers requests to the
CORBA object implementation.

Since they are translated directly from OMG IDL
specifications, stubs and skeletons are normally
interface-specific .
18 / 30
Introduction To CORBA
Object Adapters (OA) :

The Object Adapter serves as the glue between CORBA
object implementations .

the ORB itself an object adapter is an object that adapts
the interface of another object to the interface expected by
a caller .

Object adapters represent another aspect of the effort to
keep the ORB as simple as possible .
19 / 30
Introduction To CORBA
Object Adapters (contd.):
object
implementation
client program
call
language
mapping
operation
signatures
method
language mapping
entry points
Stub
Skeleton
ORB Operations
Location Service
Transport Layer
ORB
Basic Object Adapter
Multithreading
Figure 3 : Basic Object Adepter
20 / 30
Introduction To CORBA
Inter- ORB Protocol :

CORBA 2.0 introduced a general ORB interoperability
architecture that provides for direct ORB-to-ORB
interoperability & bridge-based interoperability .

Direct interoperability is possible when two ORBs reside
in the same domain i.e. they understand the same object
references and IDL type system, and perhaps share the
same security information .

Bridge-based interoperability is necessary when ORBs
from separate domains must communicate .
21 / 30
Introduction To CORBA
Inter- ORB Protocol (contd.):

The general ORB interoperability architecture is based
on the General Inter-ORB Protocol (GIOP).

GIOP is designed to be simple and easy to implement while
still allowing for reasonable scalability and performance .

IIOP(Internet Inter- ORB) request and replies to the internet’s
Transmission Control Protocol (TCP) layer each computer.
22/ 30
Introduction To CORBA
Inter- ORB Protocol (contd.):
Client
object
Client
object
stub
Skel
Stub
Skel
IIOP
ORB 1
ORB 2
Protocol
Figure 4: Interoperability Uses ORB-ORB Communication
23 / 30
Introduction To CORBA
Language Mapping :
 language mappings determine how OMG IDL features
are mapped to the facilities of a given programming
language.
 OMG has standardized language mappings for various
languages like C/C++, SmallTalk, ADA, UNIX, COBOL,
Java, etc...
24 / 30
Introduction To CORBA
Advantages of CORBA :
 CORBA supports many existing languages.
 CORBA supports both distribution and Object
Orientation.
 CORBA provides a high degree of interoperability.
 CORBA is an industry standard.
25 / 30
Introduction To CORBA
Conclusion :
 an problem in Distributed System is Heterogeneity of
the components
 OMG Group Defined a standard that called CORBA
(Common Object Request Broker)
 CORBA solved Heterogeneity problem in Distributed
System
26 / 30
Introduction To CORBA
Conclusion (contd.) :
 The Components of CORBA that where detailed :
ORB (Object Request Broker)
IDL (Interface Definition Language )
Stubs and Skeleton
Object Adepters
27 / 30
Introduction To CORBA
Conclusion (contd.) :
Inter- ORB Protocol
Language Mapping
28 / 30
Introduction To CORBA
Reference :
[1] www.omg.org ,last accessed an 2009/30/20
[2] Alex Chaffee , Bruce Martin.”introduction to corba”,jGuru
Training By Magelang Institue.
http://jGuru.com
[3] Belinda Fairthorne,Bob Blakley.”Introduction to corba” .
29 / 30
Introduction To CORBA
Reference :
[4] advantages of CORBA .
http://www.iona.com/support/docs/e2a/asp/5.0.1/mainframe/ConceptsGu
ide/cgCORBAConcepts7.html#309117 ,last accessed an 2010/01/02
[5] WHY USE CORBA.
http://www.packetstormsecurity.org/programmingtutorials/CORBA ,last
accessed an 2009/12/15
30 / 30
Introduction To CORBA
Questions