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