Download presentation
Presentation is loading. Please wait.
1
CORBA: An Overview Mojtaba Hosseini
2
Outline Motivation Introduction to CORBA Evolution of CORBA CORBA Core
Interoperability and internetworking Conclusion
3
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?
4
Interoperability Problem
Mac OS Windows OS Smalltalk IP Telephony Application Java IP Telephony Application ? ? Network architectures and standards (SIP, ISDN, IP, ATM, etc) Linux OS C++ IP Telephony Application
5
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
6
into skeleton for object
Main Idea Behind CORBA Object: entity providing service Client: entity requesting service Interface compiled into skeleton for object Interface compiled into stub for client ORB takes request from client ORB informs object of 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
7
Evolution of CORBA Real-time Fault Tolerance Horizontal, Vertical
Facilities Interoperability CORBA Core 1991 1996 1998 1999 Real-time Fault Tolerance Horizontal, Vertical Facilities Interoperability Networking IDL, Object Model, ORB
8
CORBA Object Model
9
Schedule CORBA IDL Dynamic Invocation ORB Interface Object Adaptor
Interoperability New features
10
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)
11
IDL Grammar IDL also defines a grammar
IDL can then be mapped into executable programming languages such as Java/C++
12
Schedule CORBA IDL Dynamic Invocation ORB Interface Object Adaptor
Interoperability New features
13
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
14
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
15
Dynamic Invocation Example
Three telephone call charging policies: Depending on originating/terminating location Depending on terminating location only Constant billing Client Dynamic Invocation Interface Skeleton charge(x,y) Charge(y) Charge() charge(y)
16
Schedule CORBA IDL Dynamic Invocation ORB Interface Object Adaptor
Interoperability New features
17
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
18
Schedule CORBA IDL Dynamic Invocation ORB Interface Object Adaptor
Interoperability New features
19
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 Service Choose billing Service based on policy
20
Schedule CORBA IDL Dynamic Invocation ORB Interface Object Adaptor
Interoperability New features
21
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
22
CORBA and Interoperability
Mac OS Windows OS Smalltalk IP Telephony Application Java IP Telephony Application ORB ORB GIOP GIOP Network architectures and standards (SIP, ISDN, IP, ATM, etc) Linux OS ORB C++ IP Telephony Application
23
Schedule CORBA IDL Dynamic Invocation ORB Interface Object Adaptor
Interoperability New features
24
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
25
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.