+ All Categories
Home > Documents > CORBA: An Overview

CORBA: An Overview

Date post: 02-Jan-2016
Category:
Upload: giacomo-herrera
View: 30 times
Download: 1 times
Share this document with a friend
Description:
CORBA: An Overview. Mojtaba Hosseini. Outline. Motivation Introduction to CORBA Evolution of CORBA CORBA Core Interoperability and internetworking Conclusion. Motivation. Applications working under different environments Operating System Programming Language - PowerPoint PPT Presentation
25
CORBA: An Overview Mojtaba Hosseini
Transcript
Page 1: CORBA: An Overview

CORBA: An Overview

Mojtaba Hosseini

Page 2: CORBA: An Overview

Outline Motivation Introduction to CORBA Evolution of CORBA CORBA Core Interoperability and internetworking Conclusion

Page 3: CORBA: An Overview

Motivation Applications working under different

environments Operating System Programming Language

Distributed applications such as IP telephony must communicate Over different network protocols

How can these applications work together?

Page 4: CORBA: An Overview

Interoperability Problem

Linux OS

Windows OS

Java IP Telephony Application

C++ IP Telephony Application

Mac OS

Smalltalk IPTelephonyApplication

Network architectures and standards (SIP, ISDN, IP,

ATM, etc)

??

Page 5: CORBA: An Overview

Introduction to CORBA Common Object Request Broker

Architecture Interface Definition Language (IDL),

Object model and Object Request Broker (ORB) as key elements

Main idea: provide standardized interfaces for transparent requesting/providing of services

Page 6: CORBA: An Overview

Main Idea Behind CORBA

Interface compiled

into stub for client Interface compiled

into skeleton for object

Client: entity requesting service

Object: entity providing service

ORB takes requestfrom client

ORB informs objectof service

•Client requests service without knowing where provider is and in what environment (programming language, operating system)

•Object provides service without knowing about the client’s environment or location

Page 7: CORBA: An Overview

Evolution of CORBA

CORBA 3.0

Facilities

Interoperability

CORBA Core

1991

1996

1998

1999

IDL, ObjectModel, ORB

InteroperabilityNetworking

Horizontal,VerticalFacilities

Real-timeFault Tolerance

Page 8: CORBA: An Overview

CORBA Object Model

Page 9: CORBA: An Overview

Schedule

CORBA IDL Dynamic Invocation ORB Interface Object Adaptor Interoperability New features

Page 10: CORBA: An Overview

IDL IDL used to define service interface IDL is defined just like any programming

language: defines keywords (e.g. “void”) literals (e.g. character literal ‘x’) Identifiers (e.g. int numb) restrictions on these (e.g. identifier

can’t start with a number)

Page 11: CORBA: An Overview

IDL Grammar IDL also defines a grammar

IDL can then be mapped into executable programming languages such as Java/C++

Page 12: CORBA: An Overview

Schedule

CORBA IDL Dynamic Invocation ORB Interface Object Adaptor Interoperability New features

Page 13: CORBA: An Overview

Dynamic Invocation and Skeleton IDL stub/skeleton not the only way to

request/provide services What if we don’t know about the interface

at compile time? But we know what service we want to request?

Need Dynamic Invocation

Page 14: CORBA: An Overview

Dynamic Invocation Client defines “signature” of service: name,

parameters, return value, context ORB gives this to the object and object

determines which method to invoke Useful for providing different interfaces for

the same service

Page 15: CORBA: An Overview

Dynamic Invocation Example

Three telephone call charging policies: Depending on originating/terminating location Depending on terminating location only Constant billing

Client Dynamic InvocationInterface

Dynamic SkeletonInterface

charge(x,y)

Charge(y)

Charge()Client

charge(x,y)

charge(y)

Page 16: CORBA: An Overview

Schedule

CORBA IDL Dynamic Invocation ORB Interface Object Adaptor Interoperability New features

Page 17: CORBA: An Overview

ORB Interface Provides common interfaces such as:

ORB operations: shutdown, initialize Object operation: are two objects equivalent? Policy operation: deny/allow services Policy Management: overriding policies ORB exceptions: no implementation

available

Page 18: CORBA: An Overview

Schedule

CORBA IDL Dynamic Invocation ORB Interface Object Adaptor Interoperability New features

Page 19: CORBA: An Overview

Portable Object Adaptor Allow for multiple object implementations to exist on

server side (e.g. multiple billing services for several

companies) VendorA

Billing Service

VendorB

Billing ServiceChoose billing Service based on policy

Page 20: CORBA: An Overview

Schedule

CORBA IDL Dynamic Invocation ORB Interface Object Adaptor Interoperability New features

Page 21: CORBA: An Overview

GIOP/IIOP Multiple vendors implementing ORBs A need for ORBs to interface with one

another in a standard way: General Inter-ORB Protocol

GIOP: generic protocol, no implementation IIOP (Internet Inter-ORB Protocol) is the

TCP/IP implementation of GIOP

Page 22: CORBA: An Overview

CORBA and Interoperability

Linux OS

Windows OS

Java IP Telephony Application

C++ IP Telephony Application

Mac OS

Smalltalk IPTelephonyApplication

Network architectures and standards (SIP, ISDN, IP,

ATM, etc)

ORB

ORB

ORB

GIOPGIOP

Page 23: CORBA: An Overview

Schedule

CORBA IDL Dynamic Invocation ORB Interface Object Adaptor Interoperability New features

Page 24: CORBA: An Overview

More Recent CORBA features Domains such as Transportation, Health

Care, Finance, etc. developed IDL interface common in their domain

CORBA standardized these for the domains

More recent CORBA versions include Real-time capabilities Fault-tolerance

Page 25: CORBA: An Overview

Conclusion There exist different environments in

which telephony applications operate There is a need for these applications to be

interoperable CORBA provides the standard way of

doing so


Recommended