004 - Chimdesa - Gedefa - CORBA Architecture and Primary Elements at Du
004 - Chimdesa - Gedefa - CORBA Architecture and Primary Elements at Du
004 - Chimdesa - Gedefa - CORBA Architecture and Primary Elements at Du
Chimdesa Gedefa
By Chimdesa G.
Presentation contents
❖Introduction
❖CORBA
❖Components of CORBA
❖CORBA Architecture
❖CORBA Services
❖Conclusion
❖Reference
By Chimdesa G.
Introduction
❖ A standard developed by the Object Management Group (OMG).
❖ CORBA Objects it is important to note that CORBA objects differ from typical
programming objects in three ways:-
c) CORBA objects can be written in any language that has IDL Mapping.
By Chimdesa G.
CORBA
❖ The Common Object Request Broker Architecture (CORBA)
is a standard architecture for a distributed objects system.
❖ CORBA is an architecture and specification for creating,
distributing and managing distributed programs objects in a
network.
❖ CORBA is designed to allow distributed objects to interoperate
in a heterogeneous environment, where objects can be
implemented in different programming language and/or
deployed on different platforms.
By Chimdesa G.
CORBA Components
❖ OMA (Object Management Architecture) is a specification
proposed by the OMG for defining the constraints which a
distributed, object-oriented application should conform to.
❖ Based on this specification the CORBA emerged. We may
distinguish 5 substantial components in this standard:
By Chimdesa G.
CORBA ARCHITECTURE
CLIENT OBJECT
IMPLEMENTATION
Interface Implement
Repository ation
Static Dynami
Dynamic IDL c Repository
IDL OA
in Skeleton Skeleton
vocation Stubs
ORB Core
By Chimdesa G.
Client Side
Client
By Chimdesa G.
Implementation Side
❖ Implementations receive requests through skeletons.
❖ Skeleton:- its an object, act as a gateway or the server side.
❖ Incoming request ( a server receiving request from client through skeleton)
❖ The Object Adapter adapts to vagaries of object implementation scheme The
Basic Object Adapter provides for:
❖ Management of references.
❖ Method invocation.
Object Implementation
❖ Authentication.
❖ Implementation registration.
ORB Implementation
❖ Activation/Deactivation. Interface Skeletons
OA
By Chimdesa G.
ORB - Object Request Broker
➢ ORB is a fundamental part of the CORBA implementation.
➢ It gives communication between Client & Server
➢ it enables localization of remote objects, passing arguments to methods and
returning the results of remote calls.
➢ It may redirect a request to another ORB agent. CORBA defines general
rules for inter-agent communication in a language-independent manner as
all the protocols are defined in the IDL language. A client sends a request
to a server through the ORB.
Server
Client Implementation
IDL IDL
ORB
By Chimdesa G.
IDL - Interface Data Language
➢ In Java can not separate a class definition from implementation but in C++
we can separate class definition from implementation.
➢ CORBA allows the separation of definition and implementation, which
means object implementation is one module and class definition is another
module.
➢ CORBA uses IDL for defining interfaces b/n Client & Server.
➢ ORB vendor (OMG) provide specific IDL compilers for supported
language, to create target language Stubs and Skeletons for building
CORBA client and server.
➢ OMG has defined IDL mappings to the following programming languages:
C, C++, COBOL, Java and Smalltalk…
By Chimdesa G.
DII - Dynamic Invocation Interface
❖ A static interface is represented on the client side by a stub (a
generated class).
❖ Generic interface for making remote invocations
❖ Uses interface repository a run time to discover interfaces
By Chimdesa G.
IR - Interface Repository
❖ It contains information regarding the interfaces to ORB objects.
❖ It can be used by the ORB in 2 Ways
1.To provide type-checking of request signature whether a request was
issued through Stub.
2. To check correctness of inheritance grapes.
❖ A client may obtain from the IR an interface which was not known when
the client was compiled. Based on the interface a client may send a request
to an object represented by this interface.
By Chimdesa G.
OA - Object Adapters
• Object adapters constitute an intermediate layer between ORB
and CORBA objects.
Server Application
By Chimdesa G.
CORBA Services
❖ Clock Services:- used to maintain synchronized time.
❖ Authentication service:- To Validate user id’s
❖ Object Storage Services:- used to files system for objects.
❖ Life cycle service:- over sees Activation, Deactivation, storage and check
pointing.
❖ Transaction and Replication Services.
❖ Naming Services
❖ Security Services
By Chimdesa G.
Advantage and Disadvantage
Advantage Of CORBA
✓Interaction with legacy system
✓Static and Dynamic method invocation.
✓High-level language.
✓Location Transparency
✓Built-in Security and Transaction.
Disadvantage of CORBA
✓No standard to get the initial reference for the naming services
✓Firewall unfriendly - There's no real CORBA standard to bind an ORB.
✓Very Complex during Implementation
By Chimdesa G.
Difference between RMI and CORBA :
RMI
❖ Java-specific technology CORBA
❖It uses Java interface for ❖CORBA has implementation for many
implementation. languages
❖RMI passes objects by remote ❖It uses Interface Definition Language
reference or by value. (IDL) to separate interface from
implementation.
❖The responsibility of locating an
❖CORBA passes objects by reference.
object implementation falls on JVM ❖The responsibility of locating an object
implementation falls on Object Adapter.
By Chimdesa G.
Reference
"History of CORBA". Object Management Group. Retrieved 12 March 2017.
"History of CORBA". Object Management Group. Retrieved 4 June 2017.
"The CORBA Component Model". Dr. Dobb's Journal. 1 September 2004.
Retrieved 13 March 2017.
Jump up to:a b Chappel, David (May 1998). "Trouble with CORBA".
davidchappel.com. Archived from the original on 3 December 2012.
Retrieved 15 March 2010.
Waldo, Jim; Geoff Wyant; Ann Wollrath; Sam Kendall (November 1994). "A
Note on Distributed Computing" (PDF). Sun Microsystem Laboratories.
Retrieved 4 November 2013.
Henning, Michi (30 June 2006). "The Rise and Fall of CORBA". ACM
Queue. Association for Computing Machinery. 4 (5): 28–
34. doi:10.1145/1142031.1142044. S2CID 12103742. Retrieved 15
March 2010.
By Chimdesa G.