Corba concepts & corba architecture

33
CORBA concepts & CORBA architecture Presentation By :- Nupur Makhija, CSE 7th sem DIMAT

Transcript of Corba concepts & corba architecture

CORBA concepts & CORBA architecture

Presentation By :- Nupur Makhija,

CSE 7th sem DIMAT

Concepts

• CORBA is an abbreviation for Common Object

Request Broker Architecture

• taking objects a step further!

Presentation By :-

Nupur Makhija, CSE

7th sem

Why CORBA???

• Rapid changes in HW and OS lead to

advantages of client/server systems

• Result: greater system complexity, user

demand, management expectations

• Additional pressure from the necessity to

maintain legacy systems

Presentation By :-

Nupur Makhija, CSE

7th sem

CORBA???

• Object Management Group, (OMG) formed in

1989

• The Common Object Request Broker

Architecture (CORBA) is a standard defined

by the Object Management Group (OMG) that

enables software components written in

multiple computer languages and running on

multiple computers to work together (i.e., it

supports multiple platforms).

• Focus on integration of systems and

applications across heterogeneous platforms

Presentation By :-

Nupur Makhija, CSE

7th sem

After soliciting input, CORBA standard

was defined and introduced in 1991

The only REAL competitor is, of course…

…MICROSOFT DCOM.

Thus CORBA allows applications and their

objects to communicate with each other no

matter where they are and or who designed

them!!

Presentation By :-

Nupur Makhija, CSE

7th sem

CORBA

• When introduced in 1991, CORBA defined the

Interface Design Language, (IDL) and

Application Programming Interface, (API).

• These allow client/server interaction within a

specific implementation of an Object Request

Broker, (ORB).

• The client sends an ORB request to the

SERVER/OBJECT IMPLEMENTATION and

this in turn returns back either ORB Result or

Error to the client.

Presentation By :-

Nupur Makhija, CSE

7th sem

CORBA

• CORBA is just a specification for creating and

using distributed objects

• CORBA is not a programming language.

• CORBA is a standard (not a product!)

• Allows objects to transparently make requests

and receive responses

Presentation By :-

Nupur Makhija, CSE

7th sem

CORBA Architecture

• The CORBA architecture is based on the object

model.

• A CORBA-based system is a collection of

objects that isolates the requestors of services

(clients) from the providers of services(servers)

by a well-defined encapsulating interface.

• CORBA is composed of five major components:

ORB, IDL, dynamic invocation interface(DII),

interface repositories (IR), and object adapters

(OA).

Presentation By :-

Nupur Makhija, CSE

7th sem

Presentation By :-

Nupur Makhija, CSE

7th sem

Presentation By :-

Nupur Makhija, CSE

7th sem

Presentation By :-

Nupur Makhija, CSE

7th sem

Dynamic skeleton interface

• Analogous to the DII is the server-side dynamic

skeleton interface (DSI), which allows servers

to be written without having skeletons, or

compile-time knowledge, for the objects being

implemented.

• Unlike DII, which was part of the initial CORBA

specification, DSI was introduced in CORBA

2.0.

• Its main purpose is to support the

implementation of gateways between ORBs

which utilize different communication protocols.

Presentation By :-

Nupur Makhija, CSE

7th sem

Object Request Broker (ORB)

• For objects to communicate across the network,

they need a communication infrastructure

named Object Request Broker (ORB).

• Both client and object implementation are

isolated from the ORB by an IDL interface.

• Clients see only the object’s interface, never the

implementation.

• To communicate, the request does not pass

directly from client to object

implementation,instead every request is passed

to the client’s local ORB, which manages it.

Presentation By :-

Nupur Makhija, CSE

7th sem

Object Request Broker (ORB)

• The interface the client sees is completely

independent of where the object is located,

what programming language it is implemented

in,or any other aspect that is not reflected in the

object’s interface.

• The ORB is responsible for:

• finding the object implementation for the

request,

• preparing the object implementation to receive

the request,

• communicating the data making up the request.

Presentation By :-

Nupur Makhija, CSE

7th sem

Object Request Broker (ORB)

• Intercepts calls

• Finds object

• Invokes method

• Passes parameters

• Returns results or error messages

• REGARDLESS OF THE OBJECTS

LOCATION, ITS PROGRAMMING LANGUAGE

OR EVEN THE OPERATING SYSTEMS

INVOLVED!!

Presentation By :-

Nupur Makhija, CSE

7th sem

Object Request Broker (ORB)

Presentation By :-

Nupur Makhija, CSE

7th sem

IDL Compiler

Presentation By :-

Nupur Makhija, CSE

7th sem

Object Adapter

• An object adapter is the primary means for an

object implementation to access ORB services

such as object reference generation.

Presentation By :-

Nupur Makhija, CSE

7th sem

Interface Repository

• The IR provides another way to specify the

interfaces to objects.

• Interfaces can be added to the interface

repository service.

• Using the IR, a client should be able to locate

an object that is unknown at compile time, find

information about its interface, then build a

request to be forwarded through the ORB.

Presentation By :-

Nupur Makhija, CSE

7th sem

Dynamic invocation interface

• Invoking operations can be done through either

static or dynamic interfaces.

• Static invocation interfaces are determined at

compile time, and they are presented to the

client using stubs.

• The DII, on the other hand, allows client

applications to use server objects without

knowing the type of those objects at compile

time.

• It allows a client to obtain an instance of a

CORBA object and make invocations on that

object by dynamically constructing requests.Presentation By :-

Nupur Makhija, CSE

7th sem

CORBA Objects

• It is important to note that CORBA objects differ

from typical programming objects in three ways:

• CORBA objects can run on any platform.

• CORBA objects can be located anywhere on

the network.

• CORBA objects can be written in any language

that has IDL mapping.

Presentation By :-

Nupur Makhija, CSE

7th sem

Dynamic invocation interface

• DII uses the interface repository to validate and

retrieve the signature of the operation on which

a request is made.

• CORBA supports both the dynamic and the

static invocation interfaces.

Presentation By :-

Nupur Makhija, CSE

7th sem

CORBA works with interfaces

• All CORBA Objects

are encapsulated

• Objects are

accessible through

interface only.

• Separation of

interfaces and

implementation

enables multiple

implementations for

one interface

Presentation By :-

Nupur Makhija, CSE

7th sem

Interface description language(IDL)

• IDL is a specification language used to describe

a software component's interface.

• IDLs describe an interface in a language-

neutral way, enabling communication between

software components that do not share a

language.

• for ex., between components written in C++ and

components written in Java.

Presentation By :-

Nupur Makhija, CSE

7th sem

Interface description language(IDL)

• IDLs are commonly used in remote procedure

call software.

• In these cases the machines at either end of

the "link" may be using different operating

systems and computer languages.

• IDLs offer a bridge between the two different

systems.

Presentation By :-

Nupur Makhija, CSE

7th sem

Advantages of CORBA

• Object Location Transparency:-

• The client does not need to know where an

object is physically located. An object can either

be linked into the client, run in a different

process on the same machine, or run in a

server on the other side of the planet. A request

invocation looks the same regardless, and the

location of an object can change over time

without, breaking applications.

Presentation By :-

Nupur Makhija, CSE

7th sem

Advantages of CORBA

• Server Transparency:-

The client is, as far as the programming model

is concerned, ignorant of the existence of

servers. The client does not know (and cannot

find out) which server hosts a particular object,

and does not care whether the server is running

at the time the client invokes a request.

Presentation By :-

Nupur Makhija, CSE

7th sem

Advantages of CORBA

• Language Transparency :-

Client and server can be written in different

languages. This fact encapsulates the whole

point of CORBA; that is, the strengths of

different languages can be utilized to develop

different aspects of a system, which can

interoperate through IDL. A server can be

implemented in a different language without

clients being aware of this.

Presentation By :-

Nupur Makhija, CSE

7th sem

Advantages of CORBA

• Implementation Transparency :-

The client is unaware of how objects are

implemented. A server can use ordinary flat

files as its persistent store today and use an

OO database tomorrow, without clients ever

noticing a difference (other than performance).

Presentation By :-

Nupur Makhija, CSE

7th sem

Advantages of CORBA

• Architecture Transparency :-

The idiosyncrasies of CPU architectures are

hidden from both clients and servers. A little-

endian client can communicate with a big-

endian server with different alignment

restrictions.

Presentation By :-

Nupur Makhija, CSE

7th sem

Advantages of CORBA

• Operating System Transparency :-

Client and server are unaffected by each other's

operating system. In addition, source code does

not change if you need to port the source from

one operating system to another

Presentation By :-

Nupur Makhija, CSE

7th sem

Advantages of CORBA

• Protocol Transparency :-

Clients and servers do not care about the data

link and transport layer. They can communicate

via token ring, Ethernet, wireless links, ATM

(Asynchronous Transfer Mode), or any number

of other networking technologies.

Presentation By :-

Nupur Makhija, CSE

7th sem

Presentation By:-

NupurMakhija

Presentation By :-

Nupur Makhija, CSE

7th sem