004 - Chimdesa - Gedefa - CORBA Architecture and Primary Elements at Du

Download as pdf or txt
Download as pdf or txt
You are on page 1of 17

DILLA UNIVERSITY

COLLEGE OF ENGINEERING & TECHNOLOGY


SCHOOL OF COMPUTING AND INFORMATICS
M. Sc in Computer Science & Networking

Course : Network Project Management

Seminar Title: CORBA Architecture and Primary Elements.

Chimdesa Gedefa

ID No: RPGCSaN 004/20

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).

❖ A specification for crating Distributed Object.

❖ Based on Client and Server Components.

❖ CORBA is the world's leading middleware solution enabling the exchange of


information, independent of hardware platforms, programming languages, and
operating systems.

❖ Its Architecture is based on the object Model.

❖ CORBA Objects it is important to note that CORBA objects differ from typical
programming objects in three ways:-

a) CORBA objects can run on any platform.

b) CORBA objects can be located anywhere on the network.

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:

ORB - Object Request Broker


IDL - Interface Data Language
DII - Dynamic Invocation Interface
IR - Interface Repository
OA - Object Adapters

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

Dynamic Client ORB


Invocation Stubs Interface

Clients perform requests using object references.


Clients may issue requests through object interface stubs (static) or
dynamic invocation interface.
Client Stub:- is an object, acts as a gateway for the client side.
✓ Outgoing request going through Stub to Sever side skeleton.

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

Client ORB POA

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.

You might also like