Académique Documents
Professionnel Documents
Culture Documents
-by
KAVAN CHHEDA
Introduction
CORBA (Common Object Request Broker
Architecture) is a standard that enables an
object written in one programming language,
running on one platform to interact with objects
across the network that are written in other
programming languages and running on other
platforms.
For example, a client object written in C++
and running under Windows can communicate
with an object on a remote machine written in
Java running under UNIX.
OMG
The CORBA specification was developed by
the Object Management Group (OMG).
The OMG is an international, not-for-profit
group consisting of approximately 800
companies and organizations defining standards
for distributed object computing
CORBA is only one of the specifications they
develop.
History
The OMG was established in 1988 and the initial
CORBA specification came out in 1992. Over the
past 10 years significant revisions have taken place.
Skeleton
IDL
Stub
POA
Client Call
Return Value
CORBACORBA
Architecture
Click to edit Master text styles
Second Level
● Third Level
● Fourth Level
● Fifth Level
1010
Three-tier CORBA
Architecture
The Primary
Elements
IDL
Interface Definition Language
Client / Server CORBA Objects
Abstract objects based upon a concrete
implementation
ORBs
Object Request Brokers
GIOP / IIOP
General and Internet Inter-Object Protocols
Interface Definition
Language
Defines public interface for any CORBA
server.
C++ like syntax
Client and Server implemented based on
compilation of the same IDL (usually)
OMG has defined mappings for:
C, C++, Java, COBOL, Smalltalk, ADA, Lisp, Python, and
IDLscript
Highlighted IDL
Features
Pass by reference and by value
In, out, and inout parameters
Inheritance
Throwing of exceptions
The Any Type
Callbacks
Enables Peer-to-Peer Object Communication.
Also supports:
structs, unions, enumerations, all c++ scalars, arrays,
sequences, octets, strings, constants, and typedefs.
Steps to Write a
CORBA Object in Java
Client / Server
CORBA Objects
CORBA OBJECT
(abstract)
Implementation
Implementation Object
(“CORBA” enabled)
Local Server
Member Object
Object
Local Server
Object
Client / Server
CORBA Objects
Abstract Cont.
Do not have their own implementation. The elements of
a CORBA object (interface, implementation, and
location) are held rendered via other elements.
Implemented via a Servant
A servant is a block of code (usually an instance of a
class) which implements the public interface of the
CORBA object. Depending on the server policies, there
may or may not be multiple instances of the servant
and it may or may not be multi-threaded.
Configured in code or at server startup
Unlike COM+ and EJB the policies for a CORBA object
which control things such as Security, threading, and
persistence are not console configurable
Object Request
Brokers (Orbs)
Responsible for all communication
Locating objects
Transferring invocations and return values
Notifying other ORBs of hosted Objects
Must be able to communicate IDL
invocations via IIOP
If an ORB is OMG compliant, then it is
interoperable with all other OMG compliant
ORBs
Additional ORB
Services
Interface Repository
A Database of all of the IDL for compiled objects running
on the ORB
Implementation Repository
A Database containing policy information and the
implementation details for the CORBA objects running on
the ORB
Load Balancing
Fail-over support
Security
Application in
Software
Projects
Rapid development of API’s
Inter-language and operating system
operability
Legacy system wrappers
IIOP faster than HTTP
Simplifies development of distributed
applications
Drawbacks
Lower Level than COM+/.NET/EJB
Configuration in Code
Steeper Learning Curve than other
solutions.
Object
Management
Architecture(OM
Center of all the activity undertaken
by OMG A)
OMA specifies a range of
architectural entities surrounding the
core ORB, which is CORBA proper
Detailed specifications for each
component and interface category is
populated in OMA reference Model
OMA Reference
Model
CORBA Services
www.oma.org
www.corba.org
developer.java.sun.com/developer/
onlineTraining/corba
http://java.sun.com/developer/Books
/corba/ch11.pdf
Thank You