2.
The Common Object Request Broker
Architecture is a
Standard defined by the object management
group that Enables software components
written in multiple computer languages and
running
on multiple computers to
work together.
CORBA
3.
Fig - The global architecture of CORBA.
Overview
4. •
ORB is core of any COBRA Distributed System.
•
ORB is responsible for enabling communication
Between objects and their clients while hiding
issues related to distribution and heterogeneity.
Object Request Broker
5. CORBA use the remote object model in which
the implementation of an object reside in the
address space of a server.
•
Objects and services are specified in the CORBA
Interface Definition Language(IDL).
•
Object Model
6.
Fig - The general organization of a
CORBA system.
Object Model
7. Service
Description
Collection
Facilities for grouping objects into lists, queue, sets, etc.
Query
Facilities for querying collections of objects in a declarative manner
Concurrency
Facilities to allow concurrent access to shared objects
Transaction
Flat and nested transactions on method calls over multiple objects
Event
Facilities for asynchronous communication through events
Notification
Advanced facilities for event-based asynchronous communication
Externalization
Facilities for marshaling and unmarshaling of objects
Life cycle
Facilities for creation, deletion, copying, and moving of objects
Licensing
Facilities for attaching a license to an object
Naming
Facilities for systemwide name of objects
Property
Facilities for associating (attribute, value) pairs with objects
Trading
Facilities to publish and find the services on object has to offer
Corba Services
Persistence
Relationship
Facilities for expressing relationships between objects
Security
Mechanisms for secure channels, authorization, and auditing
Time
Facilities for persistently storing objects
Provides the current time within specified error margins
Fig - Overview of CORBA services.
8. Communication
Object Invocation Models
Request type
Failure semantics
Description
Synchronous
Caller blocks until a response is
returned or an exception is
raised
One-way
Best effort delivery
Caller continues immediately
without waiting for any response
from the server
Deferred
synchronous
At-most-once
At-most-once
Caller continues immediately
and can later block until
response is delivered
Fig - Invocation models supported in CORBA.
13. Message type
Originator
Description
Request
Client
Contains an invocation request
Reply
Server
Contains the response to an invocation
LocateRequest
Client
Contains a request on the exact location of an object
LocateReply
Server
Contains location information on an object
CancelRequest
Client
Indicates client no longer expects a reply
CloseConnection
Both
Indication that connection will be closed
Interoperability
MessageError
Contains information on an error
Fragment
Both
Both
Part (fragment) of a larger message
Fig - GIOP message types.
15.
IDL specification are compiled into a proxy
Marshall invocation info
Un-Marshall corresponding reply
Proxies are just to connect to underlying ORB
Client Process
16.
It is a mechanism by which an invocation can
intercepted on its way from client to server and
adopt it
Request level interceptor
Message level interceptor
Interceptor
18.
It is just like a wrapper
Responsible for providing consistent image of
what an object is
It provides mechanism such that client can see
that program is just an object
POA are responsible to show server-side code
as object to client
Server side code need not to worry about
underlying ORB
Object adapter
20.
To facilitate agent based system CORBA adopts a model in which
different kind of system can co-operate
CORBA provides standard interface that has to be followed
Agent system - creation, execution, transfer, termination
Each agent system has its profile
Region, finder
Agents
23.
How objects are referenced?
Client side object reference and ORB object
reference are different
A reference of X can not be passed to Y because
of address space
So marshaling is used by underlying ORB for
this
ORB has language independent reference
called IOR ( interoperable object reference)
Object reference
25.
Starts with repository identifier
Most important part is tagged profile
Profile ID
Host field
Port field
Object key
components
IOR details
26.
Binding request is first sent to implementation
repository
It acts as a registry by which reference objects
can be located and activated
Indirect binding
29.
Object groups - replicate objects into object
groups
Identical copies of same object
Replication is transparent to client
But how object group are referenced ?
Fault tolerance
30. IOGR (interoperable object group reference)
IOGR contains multiple reference to different
objects (of same type)
IOR contains multiple reference to same object
ORB binds IOGR to one of the replicas
34.
Application level objects are unaware of
security mechanism
At binding time ORB decides which security
service is to be used at client side
Selection of service is done by security policy
Security policies are done by policy objects
Secure object invocation
35.
1.
2.
Two different interceptors
Access control interceptor- checks the rights
Secure invocation interceptor- message
protection and it is able to encrypt the
request and response also
Replaceable security
service