Introduction to CORBA - PowerPoint PPT Presentation

About This Presentation
Title:

Introduction to CORBA

Description:

Title: Design of Secure Multi-Tier Web-Based Database Applications Author: sadjadis Last modified by: SeyedMasoud Sadjadi Created Date: 4/4/2001 11:57:41 PM – PowerPoint PPT presentation

Number of Views:184
Avg rating:3.0/5.0
Slides: 75
Provided by: sadj5
Learn more at: https://users.cs.fiu.edu
Category:

less

Transcript and Presenter's Notes

Title: Introduction to CORBA


1
Introduction to CORBA
SeyedMasoud Sadjadi Software Engineering and
Networking Systems Laboratory Department of
Computer Science and Engineering Michigan State
University www.cse.msu.edu/sens
2
Acknowledgements
  • Object Management Group (OMG)
  • IONA Technology
  • Eternal Systems
  • Steve Vinoski, IONA Technology
  • Niall Stapley, CERN
  • Mojtaba Hosseini

3
Agenda
Motivation
Overview
Motivation
Introduction
Introduction
Interoperability
Example
Evolution
Interoperability
Advanced
Big Picture
Example
CORBA Evolution
Advance Features
Big Picture
4
Motivation (1)
Overview
  • Object-oriented computational model
  • An application is represented by interactions
    among a web of objects

Motivation
Introduction
Interoperability
Example
Evolution
Advanced
Audio Amplifier Application
Big Picture
Service provided through interface
Service is accessed through a reference
Thread
Main Loop
5
Motivation (2)
Overview
  • Distributed object computational model
  • Objects are distributed across network.
  • Tedious and error-prone programming.

Motivation
Introduction
Interoperability
Example
Evolution
Client
Server
Advanced
Big Picture
Application Layer
Operating System Layer
Socket
File
Shared Memory
Pipeline
Socket
File
Shared Memory
Pipeline
Network
6
Motivation (3)
  • Middleware
  • Solution

Overview
Motivation
Client
Server
Introduction
Interoperability
Example
Application Layer
Evolution
Advanced
Big Picture
Stub
Skeleton
Middleware Layer
ORB
ORB
Operating System Layer
Socket
File
Shared Memory
Pipeline
Socket
File
Shared Memory
Pipeline
Network
7
Agenda
Motivation
Overview
Motivation
Introduction
Introduction
Interoperability
Example
Evolution
Interoperability
Advanced
Big Picture
Example
CORBA Evolution
Advance Features
Big Picture
8
What is CORBA?
Overview
  • Common Object Request Broker Architecture
  • An industry standard developed by OMG to help in
    distributed programming
  • A specification for creating and using
    distributed objects
  • A tool for enabling multi-language,
    multi-platform communication
  • A CORBA based-system is a collection of objects
    that isolates the requestors of services
    (clients) from the providers of services
    (servers) by an encapsulating interface

Motivation
Introduction
CORBA
Features
Objects
Architecture
ORB
IDL
Stub Skeleton
DII DSI IR
OA
Interoperability
Example
Evolution
Advanced
Big Picture
9
Who should use CORBA?
Overview
  • The architecture and specifications described in
    the Common Object Request Broker Architecture and
    Specifications book are aimed at software
    designers and developers who want to produce
    applications that comply with OMG standards for
    the Object Request Broker (ORB) OMG.
  • The benefit of compliance is, in general, to be
    able to produce interoperable applications that
    are based on distributed, interoperating objects
    OMG.

Motivation
Introduction
CORBA
Features
Objects
Architecture
ORB
IDL
Stub Skeleton
DII DSI IR
OA
Interoperability
Example
Evolution
Advanced
Big Picture
10
CORBA Features (1)
Overview
  • Heterogeneity
  • Hardware devices
  • Operating System
  • Network protocols
  • Programming languages
  • Object Orientation
  • Encapsulation
  • Polymorphism
  • Inheritance
  • Instantiation
  • Dynamic binding and typing

Motivation
Introduction
CORBA
Features
Objects
Architecture
ORB
IDL
Stub Skeleton
DII DSI IR
OA
Interoperability
Example
Evolution
Advanced
Big Picture
11
CORBA Features (2)
Overview
  • Transparencies
  • Location transparency
  • the physical address of a server is masked
  • Access transparency
  • the access method is masked
  • Data transparency
  • the different data representations are masked
  • Replication transparency
  • the server replicas are masked
  • Migration transparency
  • the migration of a server is masked
  • Activation transparency
  • the activation of a server is masked

Motivation
Introduction
CORBA
Features
Objects
Architecture
ORB
IDL
Stub Skeleton
DII DSI IR
OA
Interoperability
Example
Evolution
Advanced
Big Picture
12
CORBA Objects
Overview
  • They are different 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

Motivation
Introduction
CORBA
Features
Objects
Architecture
ORB
IDL
Stub Skeleton
DII DSI IR
OA
Interoperability
Example
Evolution
Advanced
Big Picture
13
CORBA Architecture
Overview
  • CORBA is composed of ORB core, ORB interface,
    stub, skeleton, DII, DSI, and OA.

Motivation
Introduction
CORBA
Client
Object Implementation
Features
Objects
Architecture
ORB
IDL
Dynamic Invocation
Static IDL Stub
ORB Interface
Static IDL Skeleton
Dynamic Skeleton
Object Adapter
Stub Skeleton
DII DSI IR
OA
Interoperability
ORB Core
Example
Evolution
Interface Identical for all ORB implementations
Up-call interface
Advanced
There may be multiple object adapters
There are stubs and a skeleton for each object
type
Big Picture
Normal call interface
ORB-dependent interface
14
Object Request Broker (1)
Overview
  • Responsibilities
  • Object location transparency
  • Find the object implementation for the request
  • Object activation
  • Prepare the object implementation to receive the
    request
  • Communication
  • Communicate the data making up the request

Motivation
Introduction
CORBA
Features
Objects
Architecture
ORB
IDL
Stub Skeleton
DII DSI IR
OA
Interoperability
Example
Evolution
Advanced
Big Picture
15
Object Request Broker (2)
Overview
  • Both the client and the object implementation are
    isolated from the ORB by an IDL interface.
  • All requests are managed by the ORB, which means
    that invocation of a CORBA object is passed to an
    ORB
  • CORBA objects implemented in different ORBs from
    different vendors should be able to communicate
    with each other because all CORBA compliant ORBs
    are able to interoperate via IIOP (Internet
    Inter-ORB Protocol)

Motivation
Introduction
CORBA
Features
Objects
Architecture
ORB
IDL
Stub Skeleton
DII DSI IR
OA
Interoperability
Example
Evolution
Advanced
Big Picture
16
Interface Definition Language (1)
Overview
  • Separates the Interface from the Implementation
  • Multiple-inheritance, strongly typed, public
    interface specification language
  • Independent of any particular language and
    compiler
  • Mappings will be provided for many languages and
    compilers
  • Not a programming language
  • Enables Interoperability
  • Supports the dynamic request mechanism

Motivation
Introduction
CORBA
Features
Objects
Architecture
ORB
IDL
Stub Skeleton
DII DSI IR
OA
Interoperability
Example
Evolution
Advanced
Big Picture
17
Interface Definition Language (2)
Overview
  • The role of IDL

Motivation
Introduction
CORBA
Client Side
Server Side
Features
Objects
Architecture
ORB
IDL
Stub Skeleton
DII DSI IR
ORB
ORB
OA
Interoperability
Example
Evolution
Advanced
Big Picture
18
Interface Definition Language (3)
Overview
IDL File
Motivation
Introduction
CORBA
IDL Compiler
Features
Objects
Architecture
ORB
Client Stub File
Server Skeleton File
Client Implementation
Object Implementation
IDL
Stub Skeleton
DII DSI IR
OA
Lang A Compiler
Lang B Compiler
Interoperability
Example
Evolution
Client Program
Server Program
Advanced
Big Picture
19
Interface Definition Language (4)
Overview
  • IDL Compiler
  • It will accept as input an IDL file written using
    any text editor (fileName.idl)
  • It generates the stub and the skeleton code in
    the target programming language (e.g., Java stub
    and C skeleton)
  • The stub is given to the client as a tool to
    describe the server functionality and the
    skeleton file is implemented at the server

Motivation
Introduction
CORBA
Features
Objects
Architecture
ORB
IDL
Stub Skeleton
DII DSI IR
OA
Interoperability
Example
Evolution
Advanced
Big Picture
20
Stubs and Skeletons
Overview
  • In terms of CORBA development, the stubs and
    skeleton files are standard in terms of their
    target language.
  • Each file exposes the same operations specified
    in the IDL file.
  • Invoking an operation on the stub file will cause
    the method to be executed in the skeleton file
  • The stub file allows the client to manipulate the
    remote object with the same ease with each a
    local file is manipulated

Motivation
Introduction
CORBA
Features
Objects
Architecture
ORB
IDL
Stub Skeleton
DII DSI IR
OA
Interoperability
Example
Evolution
Advanced
Big Picture
21
Dynamic Invocation Interface
Overview
  • Operations can be invoked through static or
    dynamic operations
  • Static invocation interfaces are determined at
    compile time being presented to the client using
    the stubs
  • The DII allows clients to use server objects
    without knowing about them at compile time
  • It allows the client to obtain an instance of a
    CORBA object and make invocations to it by
    dynamically constructing requests using the
    Interface Repository to retrieve an operation
    signature

Motivation
Introduction
CORBA
Features
Objects
Architecture
ORB
IDL
Stub Skeleton
DII DSI IR
OA
Interoperability
Example
Evolution
Advanced
Big Picture
22
Dynamic Skeleton Interface
Overview
  • Similar to DII, the server-side dynamic skeleton
    interface allows servers to be written without
    having skeletons, for the objects being
    implemented.
  • It allows dynamic handling of object invocations
  • It can use either the pure static knowledge of
    parameters or the Interface Repository to
    determine the parameters
  • Has other applications such as interactive
    software

Motivation
Introduction
CORBA
Features
Objects
Architecture
ORB
IDL
Stub Skeleton
DII DSI IR
OA
Interoperability
Example
Evolution
Advanced
Big Picture
23
Interface Repository
Overview
  • Provides another way to specify the interfaces to
    the objects.
  • Holds a table of interfaces
  • A client, using the IR, should be able to locate
    an object , find information about its interface,
    then make a request to be sent through the ORB

Motivation
Introduction
CORBA
Features
Objects
Architecture
ORB
IDL
Stub Skeleton
DII DSI IR
OA
Interoperability
Example
Evolution
Advanced
Big Picture
24
Object Adaptors
Overview
  • The primary way that an object implementation
    accesses services provided by ORB
  • Method invocation
  • Security
  • Object reference generation
  • Object activation and deactivation

Motivation
Introduction
CORBA
Features
Objects
Architecture
ORB
IDL
Stub Skeleton
DII DSI IR
OA
Interoperability
Example
Evolution
Advanced
Big Picture
25
Agenda
Motivation
Overview
Motivation
Introduction
Introduction
Interoperability
Example
Evolution
Interoperability
Advanced
Big Picture
Example
CORBA Evolution
Advance Features
Big Picture
26
Interoperability (1)
Overview
  • ORB from different vendors are interoperable

Motivation
Introduction
Interoperability
Interoperability
IOR IOGR
CORBA Clients
Java and CORBA
CORBA vs. RMI
CORBA vs. DCOM
Example
Evolution
Advanced
Big Picture
27
Interoperability (2)
Overview
  • CORBA 2.0 Interoperability Comprises
  • An overall architecture for CORBA-CORBA
    communications
  • An API for adding bridges
  • A general multi-transport message format (General
    Inter-ORB Protocol or GIOP)
  • An API for gateways using ESIOPs
    (Environment-Specific Inter-ORB Protocols)
  • UNIVERSAL, OUT-OF-THE-BOX
    INTEROPERABILITY
  • GIOP over TCP/IP is mandatory for compliance
    either internally or via a half-bridge
  • Specialized protocols are optional and well
    supported by the specifications.

Motivation
Introduction
Interoperability
Interoperability
IOR IOGR
CORBA Clients
Java and CORBA
CORBA vs. RMI
CORBA vs. DCOM
Example
Evolution
Advanced
Big Picture
28
IOR Example
Overview
  • IOR000000000000001049444c3a5472697669616c3a312e30
    0000000001000000000000007c000102000000000d3135322e
    38312e342e3131300000048000000025abacab313130303338
    3632313336005f526f6f74504f410000cafebabe3bd5b87800
    00000000000000000001000000010000002c00000000000100
    01000000040001002000010109000101000501000100010109
    000000020001010005010001

Motivation
Introduction
Interoperability
Interoperability
IOR IOGR
CORBA Clients
Java and CORBA
CORBA vs. RMI
CORBA vs. DCOM
Example
Evolution
Advanced
Big Picture
29
Interoperable Object Group Ref
  • corbaloc1.2_at_hostA683,
  • 1.2_at_hostB683/myObj

Overview
Motivation
Introduction
Interoperability

Number of Profiles
Multiple Components Profile
Type_id
IIOP Profile
IIOP Profile
Interoperability
IOR IOGR
CORBA Clients
TAG_ INTERNET_IOP
Profile Body
Java and CORBA
CORBA vs. RMI
CORBA vs. DCOM
IIOP Version
Object Key
Host
Components
Port
Example
Evolution
Advanced
Other Components
TAG_GROUP Component
Number of Components
TAG_PRIMARY Component
Big Picture
object_group_ id
object_group_ version
tag_group_ version
ft_domain_ id
30
Clients for CORBA
Overview
  • CORBA Client CORBA Server
  • Java Client CORBA, Java RMI, and HTTP Server
  • DCOM Client CORBA and DCOM Server

Motivation
Introduction
Interoperability
Interoperability
IOR IOGR
CORBA Clients
Windows app
standalone CORBA client
Java and CORBA
JAVA/CORBA client
CORBA vs. RMI
COM/CORBA link
JAVA ORBlet
CORBA vs. DCOM
ORB
ORB
JAVA VM (browser)
Example
HTTP
Evolution
Advanced
Big Picture
CORBA server
JAVA/RMI server
HTTP server
DCOM server
31
Java and CORBA
Overview
  • Not just the usual IDL-to-Java Mapping
  • A Java-to-IDL Mapping.
  • Automates creation of CORBA Objects from Java
    Classes
  • Java RMI can use IIOP Protocol
  • Theres an ORB in the JDK

Motivation
Introduction
Interoperability
Interoperability
IOR IOGR
CORBA Clients
Java and CORBA
CORBA vs. RMI
CORBA vs. DCOM
Example
Evolution
Advanced
Big Picture
32
CORBA vs. Java RMI
Overview
  • CORBA was designed for language independence
    whereas RMI was designed for a single language
    where objects run in a homogeneous environment
  • CORBA interfaces are defined in IDL, while RMI
    interfaces are defined in Java
  • CORBA objects are not garbage collected because
    they are language independent and they have to be
    consistent with languages that do not support
    garbage collection, on the other hand RMI objects
    are garbage collected automatically

Motivation
Introduction
Interoperability
Interoperability
IOR IOGR
CORBA Clients
Java and CORBA
CORBA vs. RMI
CORBA vs. DCOM
Example
Evolution
Advanced
Big Picture
33
DCOM vs. CORBA
Overview
Motivation
Introduction
Interoperability
Interoperability
IOR IOGR
CORBA Clients
Java and CORBA
CORBA vs. RMI
CORBA vs. DCOM
Example
Evolution
Advanced
Big Picture
34
Agenda
Motivation
Overview
Motivation
Introduction
Introduction
Interoperability
Example
Evolution
Interoperability
Advanced
Big Picture
Example
CORBA Evolution
Advance Features
Big Picture
35
Steps to Implement Hello World
Overview
  • We use a CROBA implementation such as ORBacus,
    ORBIX, VisiBroker, JacORB, and TAO
  • Define an interface using IDL
  • Use the IDL compiler
  • Implement the Hello object
  • Implement the server
  • Implement the client
  • Compile
  • Run

Motivation
Introduction
Interoperability
Example
Steps
Write Interface
Implement Hello
Implement Server
Implement Client
Compile and Run
Evolution
Advanced
Big Picture
36
Define Interface in IDL
Overview
  • Stand-alone hello world application

Motivation
public class Greeter public static void
main(String args) System.out.println("He
llo World!")
Introduction
Interoperability
Example
Steps
Write Interface
Implement Hello
Implement Server
Implement Client
  1. Define an interface using IDL

Compile and Run
Evolution
// IDL interface Hello void say_hello()
Advanced
Big Picture
37
Implement the Hello Object
Overview
  1. Use the IDL compiler

Motivation
Introduction
jidl --package hello Hello.idl
Interoperability
Example
  1. Implement the Hello object

Steps
Write Interface
// Java package hello public class Hello_impl
extends HelloPOA public void say_hello()
System.out.println("Hello World!")
Implement Hello
Implement Server
Implement Client
Compile and Run
Evolution
Advanced
Big Picture
38
Implement the Server (1)
Overview
  1. Implement the Server

Motivation
Introduction
// Java package hello public class Server
public static void main(String args)
java.util.Properties props System.getProperties(
) props.put("org.omg.CORBA.ORBClass",
"com.ooc.CORBA.ORB") props.put("org.omg.CORBA
.ORBSingletonClass", "com.ooc.CORBA.ORBSingl
eton") int status 0
org.omg.CORBA.ORB orb null
Interoperability
Example
Steps
Write Interface
Implement Hello
Implement Server
Implement Client
Compile and Run
Evolution
Advanced
Big Picture
39
Implement the Server (2)
Overview
  1. Implement the Server (cont.)

Motivation
Introduction
try orb org.omg.CORBA.ORB.init(args
, props) status run(orb)
catch(Exception ex) ex.printStackTrace()
status 1 if(orb ! null)
try orb.destroy()
catch(Exception ex) ex.printStackTrace()
status 1 System.exit(status)
Interoperability
Example
Steps
Write Interface
Implement Hello
Implement Server
Implement Client
Compile and Run
Evolution
Advanced
Big Picture
40
Implement the Server (3)
Overview
  1. Implement the Server (cont.)

Motivation
Introduction
static int run(org.omg.CORBA.ORB orb)
throws org.omg.CORBA.UserException
org.omg.PortableServer.POA rootPOA
org.omg.PortableServer.POAHelper.narrow(
orb.resolve_initial_references("RootPOA"))
org.omg.PortableServer.POAManager manager
rootPOA.the_POAManager() Hello_impl
helloImpl new Hello_impl() Hello hello
helloImpl._this(orb)
Interoperability
Example
Steps
Write Interface
Implement Hello
Implement Server
Implement Client
Compile and Run
Evolution
Advanced
Big Picture
41
Implement the Server (3)
Overview
  1. Implement the Server (cont.)

Motivation
Introduction
try String ref orb.object_to_string(hell
o) String refFile "Hello.ref"
java.io.PrintWriter out new java.io.PrintWriter(
new java.io.FileOutputStream(refFile))
out.println(ref) out.close()
catch(IOException ex) ex.printStackTrace()
return 1 manager.activate()
orb.run() return 0
Interoperability
Example
Steps
Write Interface
Implement Hello
Implement Server
Implement Client
Compile and Run
Evolution
Advanced
Big Picture
42
Implement the Client (1)
Overview
  1. Implement the Client

Motivation
Introduction
// Java package hello public class Client
public static void main(String args) ...
// Same code as the server
Interoperability
Example
Steps
Write Interface
Implement Hello
Implement Server
Implement Client
Compile and Run
Evolution
Advanced
Big Picture
43
Implement the Client (2)
Overview
  1. Implement the Client (cont.)

Motivation
Introduction
static int run(org.omg.CORBA.ORB orb)
org.omg.CORBA.Object obj null try
String refFile "Hello.ref"
java.io.BufferedReader in new
java.io.BufferedReader( new
java.io.FileReader(refFile)) String ref
in.readLine() obj orb.string_to_object(re
f) catch(IOException ex)
ex.printStackTrace() return 1 Hello
hello HelloHelper.narrow(obj)
hello.say_hello() return 0
Interoperability
Example
Steps
Write Interface
Implement Hello
Implement Server
Implement Client
Compile and Run
Evolution
Advanced
Big Picture
44
Compile and Run
Overview
  1. Compile

Motivation
Introduction
CLASSPATH.your_orbacus_directory/lib/OB.jarCLA
SSPATH export CLASSPATH javac hello/.java
Interoperability
Example
Steps
Write Interface
Implement Hello
  1. Run

Implement Server
Implement Client
java hello.Server java hello.Client
Compile and Run
Evolution
Advanced
Big Picture
45
Agenda
Motivation
Overview
Motivation
Introduction
Introduction
Interoperability
Example
Evolution
Interoperability
Advanced
Big Picture
Example
CORBA Evolution
Advance Features
Big Picture
46
CORBA Evolution (1)
Overview
Motivation
Introduction
CCM Real-time Fault Tolerance
Interoperability
Example
Horizontal, Vertical Facilities
Evolution
Advanced
Big Picture
Interoperability Networking
IDL, Object Model, ORB
47
CORBA Evolution (2)
Overview
  • CORBA 1.0 (October 1991)
  • CORBA Object model
  • Interface Definition Language (IDL)
  • Core DII and Interface Repository
  • single language mapping for the C
  • CORBA 1.1 (February 1992)
  • The first widely published version
  • Interfaces for the Basic Object Adapter
  • Clarified some ambiguities
  • CORBA 1.2 (December 1993)
  • Closed several ambiguities in memory management
    and object reference comparison.

Motivation
Introduction
Interoperability
Example
Evolution
Advanced
Big Picture
48
CORBA Evolution (3)
Overview
  • CORBA 2.0 (August 1996)
  • Dynamic skeleton interface
  • Extensions to the Interface Repository
  • Interoperability (GIOP, IIOP, DCE CIOP)
  • Layered security and transaction services
  • Datatype extensions for COBOL
  • Interworking with OLE2/COM
  • Interoperability protocol specification
  • Interface repository improvements
  • C and Smalltalk IDL language mappings
  • CORBA 2.1 (August 1997)
  • Secure IIOP and IIOP over SSL
  • COBOL and Ada language maps

Motivation
Introduction
Interoperability
Example
Evolution
Advanced
Big Picture
49
CORBA Evolution (4)
Overview
  • CORBA 2.2 (February 1998)
  • POA
  • DCOM Interworking
  • IDL/JAVA language mapping specification.
  • CORBA 2.3 (June 1999)
  • COM/CORBA Part A and B
  • Portability IDL/Java
  • Objects by value
  • Java to IDL Language Mapping
  • IDL to Java Language Mapping
  • C Language Mapping

Motivation
Introduction
Interoperability
Example
Evolution
Advanced
Big Picture
50
CORBA Evolution (5)
Overview
  • CORBA 2.4 (October 2000)
  • Messaging specification
  • Interoperable Naming service
  • Notification service
  • Minimum and Real-time CORBA
  • CORBA 2.5 (September 2001)
  • Fault Tolerant
  • Messaging (editorial changes)
  • Portable Interceptors
  • Realtime CORBA, v1.2
  • CORBA 2.6 (December 2001)
  • Common Security

Motivation
Introduction
Interoperability
Example
Evolution
Advanced
Big Picture
51
CORBA Evolution (6)
Overview
  • CORBA 3.0 (June 2002)
  • Java and Internet Integration
  • Objects Passable by Value (first in ver 2.3)
  • Java-to-IDL Mapping (first in ver 2.3)
  • Interoperable Name Service (first in ver 2.4)
  • Firewall Specification
  • Quality of Service Control
  • Asynchronous Messaging (first in ver 2.4)
  • Minimum (first in ver 2.4), Fault-Tolerant (first
    in ver 2.5), and Real-Time CORBA (first in ver
    2.4)
  • The CORBA component architecture
  • CORBAcomponents
  • Scripting Languages

Motivation
Introduction
Interoperability
Example
Evolution
Advanced
Big Picture
52
Agenda
Motivation
Overview
Motivation
Introduction
Introduction
Interoperability
Example
Evolution
Interoperability
Advanced
Big Picture
Example
CORBA Evolution
Advanced Features
Big Picture
53
POA Supports Scalability
Overview
  • Object implementation portability between ORBs
  • Object instances with persistent identities
  • Transparent activation
  • Single servant implementing multiple instances
  • Transient objects with minimal programming
  • Fine or coarse control of behavior and
    persistence by an implementation
  • Multiple policies for key object behaviors
  • Implementations inheriting from static skeleton
    classes

Motivation
Introduction
Interoperability
Example
Evolution
Advanced
POA
Object by Value
QoS
CCM
Minimum CORBA
RT CORBA
FT CORBA
Others
Big Picture
54
Objects by Value
Overview
  • A struct with added value
  • They can have state and behaviour
  • Not CORBA objects
  • Can inherit from other valuetypes and support
    interfaces
  • Supports the CORBA component model and Java to
    IDL reverse mapping
  • New keywords valuetype, public, private,
    abstract
  • Uses a value factory to create local object

Motivation
Introduction
Interoperability
Example
Evolution
Advanced
POA
Object by Value
QoS
CCM
Minimum CORBA
RT CORBA
FT CORBA
Others
Big Picture
55
Quality of Service (1)
Overview
  • Provides policy-based QoS Framework
  • No standard defaults ORB vendor sets them
  • Policy areas
  • Rebind Support
  • Request / Reply Priority
  • Request / Reply Timeout
  • Synchronization Scope
  • Routing

Motivation
Introduction
Interoperability
Example
Evolution
Advanced
POA
Object by Value
QoS
CCM
Minimum CORBA
RT CORBA
FT CORBA
Others
Big Picture
56
Quality of Service (2)
Overview
  • Specifying QoS Parameters
  • Specify for an Object Implementation
  • In an object reference, QoS requirements are
    expressed through a profile Component in the IOR
  • Specify for a particular Request
  • In a GIOP request, QoS requirements are expressed
    as part of its Service Context
  • CORBA resolves conflicts
  • Asynchronous Method Invocation (AMI)
  • Callback mode
  • Similar to providing a callback handler object
  • Polling mode
  • Returns a valuetype object for client to check

Motivation
Introduction
Interoperability
Example
Evolution
Advanced
POA
Object by Value
QoS
CCM
Minimum CORBA
RT CORBA
FT CORBA
Others
Big Picture
57
Quality of Service (3)
Overview
  • Invocation Types
  • Synchronous the reply is obtained and returned
    to the client as part of the single (blocking, to
    the client) operation used by the client
    application to make the request.
  • Deferred Synchronous control returns to the
    application without a reply, but the client ORB
    still invokes synchronously on the target. The
    reply may be returned to the client later.
  • Asynchronous the client ORB does not
    synchronously invoke the target to obtain a
    reply. Some other agent separates the client ORB
    from the target.
  • Time-Independent a specialization of
    asynchronous invocation in which the
    computational context that obtains the reply may
    be different from the computational context from
    which the original invocation was made.

Motivation
Introduction
Interoperability
Example
Evolution
Advanced
POA
Object by Value
QoS
CCM
Minimum CORBA
RT CORBA
FT CORBA
Others
Big Picture
58
Quality of Service (4)
Overview
  • Ordering Invocations
  • ANY the client doesnt specify in what order its
    requests are processed.
  • TEMPORAL requests that invocations be processed
    in the order in which they were issued. TEMPORAL
    is the default.
  • PRIORITY requests that invocations be processed
    based on the priority assigned in the QoS
    structure described later.
  • DEADLINE requests that invocations whose
    time_to_live is about to expire are moved to the
    front of the queue.

Motivation
Introduction
Interoperability
Example
Evolution
Advanced
POA
Object by Value
QoS
CCM
Minimum CORBA
RT CORBA
FT CORBA
Others
Big Picture
59
CORBA Component Model (1)
Overview
  • Framework for designing, implementing and
    deploying CORBA components.
  • Purpose is to simplify and reduce effort by using
    a container that
  • manages lifecycle
  • provides CORBA services
  • allows clean separation between application logic
    and CORBA
  • Support for ready made components

Motivation
Introduction
Interoperability
Example
Evolution
Advanced
POA
Object by Value
QoS
CCM
Minimum CORBA
RT CORBA
FT CORBA
Others
Big Picture
60
CORBA Component Model (2)
Overview
  • Two levels of component
  • Basic - fully compatible with EJB
  • Extended - components expose ports
  • Component categories
  • Session, Service, Entity, Process
  • More extra keywords like component, home,
    supports
  • Implementations?
  • K2 Component Server
  • MicoCCM
  • OpenCCM

Motivation
Introduction
Interoperability
Example
Evolution
Advanced
POA
Object by Value
QoS
CCM
Minimum CORBA
RT CORBA
FT CORBA
Others
Big Picture
61
Minimum CORBA (1)
Overview
  • Designed systems with limited resources
  • Do not need everything that CORBA provides
  • Has size and space limits
  • Some operations are omitted from Object, ORB
  • Other omissions
  • Dynamic Invocation Interface
  • Dynamic Skeleton interface
  • Dynamic any
  • Interface Repository

Motivation
Introduction
Interoperability
Example
Evolution
Advanced
POA
Object by Value
QoS
CCM
Minimum CORBA
RT CORBA
FT CORBA
Others
Big Picture
62
Minimum CORBA (2)
Overview
  • The POA
  • Default policies only for
  • create_thread_policy
  • create_implicit_activation_policy
  • create_servant_retention_policy
  • create_request_processing_policy
  • No dynamic activation of POAs
  • No ServantManagers

Motivation
Introduction
Interoperability
Example
Evolution
Advanced
POA
Object by Value
QoS
CCM
Minimum CORBA
RT CORBA
FT CORBA
Others
Big Picture
63
Real-Time CORBA (1)
Overview
  • Features
  • Adds QoS control capabilities to regular CORBA.
  • Improve application predictability by bounding
    priority inversion
  • Manage system resources end-to-end.
  • Processor resources
  • Communication resources
  • Memory resources
  • Shortcomings
  • Static fixed-priority real-time
  • Steep learning curve
  • Cause by the complex C mapping.
  • Run-time and memory footprint overhead

Motivation
Introduction
Interoperability
Example
Evolution
Advanced
POA
Object by Value
QoS
CCM
Minimum CORBA
RT CORBA
FT CORBA
Others
Big Picture
64
Real-Time CORBA (2)
Overview
  • Real-time CORBA extensions

Motivation
Introduction
Interoperability
Example
Evolution
Advanced
POA
Object by Value
QoS
CCM
Minimum CORBA
RT CORBA
FT CORBA
Others
Big Picture
65
Fault Tolerant CORBA (1)
Overview
  • Aims to provide robust support for high
    reliability
  • Defines a fault-tolerance infrastructure
  • Provides reliability by
  • entity redundancy
  • object replication (passive and active)
  • request retry and redirection
  • fault detection and recovery
  • Multiple profiles in IOR
  • Example of a FT corbaloc URL
  • corbaloc1.2_at_hostA683,1.2_at_hostB683/myObj

Motivation
Introduction
Interoperability
Example
Evolution
Advanced
POA
Object by Value
QoS
CCM
Minimum CORBA
RT CORBA
FT CORBA
Others
Big Picture
66
Fault Tolerant CORBA (2)
Overview
Motivation
Introduction
Interoperability
Example
Evolution
Advanced
POA
Object by Value
QoS
CCM
Minimum CORBA
RT CORBA
FT CORBA
Others
Big Picture
67
Other New Specifications
Overview
  • Data Parallel Processing
  • Defines Architecture for parallel programming
  • Data is typically divided and redistributed
  • Unreliable Multicast (MIOP)
  • Deliver messages to many objects at once
  • Takes advantage of network ability
  • IDL operations would require oneway
  • Clients join a multicast group with a group IOR
  • Domain CORBAfacilities
  • IDL is a great way to define standard interfaces
    for standard objects that every company in an
    industry can share.

Motivation
Introduction
Interoperability
Example
Evolution
Advanced
POA
Object by Value
QoS
CCM
Minimum CORBA
RT CORBA
FT CORBA
Others
Big Picture
68
Agenda
Motivation
Overview
Motivation
Introduction
Introduction
Interoperability
Example
Evolution
Interoperability
Advanced
Big Picture
Example
CORBA Evolution
Advance Features
Big Picture
69
Model Driven Architecture
Overview
  • Open vendor-neutral approach
  • Separating business logic from technology

Motivation
Introduction
Interoperability
Example
Evolution
Advanced
Big Picture
MDA
OMA
70
MDA Specifications
Overview
  • MDA Specification Support
  • The MDA Architecture
  • The Unified Modeling Language (UML)
  • UML Profiles
  • The Meta-Object Facility (MOF)
  • XML Metadata Interchange (XMI)
  • Common Warehouse Metamodel (CWM)
  • CORBA
  • Writing Standards in the MDA
  • Pervasive Services
  • Domain (Industry-specific) Facilities
  • MDA Applications

Motivation
Introduction
Interoperability
Example
Evolution
Advanced
Big Picture
MDA
OMA
71
OMA Overview (1)
  • OMG's vision for the component software

Overview
Motivation
Business Objects Healthcare Finance Telecommunicat
ion
Introduction
Compound Docs Object Linking Help
Facilities Desktop Mgmt
Not standardized by OMG Scope is Single
application or vendor
Interoperability
Example
Evolution
Application Objects
Horizomtal CORBA Facilities
Vertical CORBA Facilities
Advanced
Big Picture
MDA
OMA
Object Request Broker
Lifecycle Events Naming Persistence Transactions C
oncurrency
Externalization Security Time Properties Query Lic
ensing
CORBA Services
72
Object Management Architecture (2)
Overview
  • Object Services
  • (a.k.a, CORBA Services)
  • Domain-independent services.
  • Naming Service and Trading Service.
  • Common Services
  • (a.k.a, Common Facilities and Horizontal
    Facilities)
  • are less oriented towards end-user applications.
  • Distributed Document Component Facility (DDCF).
  • Domain Services
  • (a.k.a, Domain Interfaces and Vertical
    Facilities)
  • are more oriented towards specific app domains.
  • Product Data Management (PDM) Enablers for the
    manufacturing domain.
  • Application Services
  • (a.k.a, Application Interfaces and Application
    Objects)
  • are services developed specifically for a given
    application.

Motivation
Introduction
Interoperability
Example
Evolution
Advanced
Big Picture
MDA
OMA
73
Vertical CORBA Services
Overview
  • Official OMG specifications in vertical market
    domains
  • Business Objects
  • Finance/Insurance
  • Electronic Commerce
  • Healthcare
  • Telecommunications
  • Transportation
  • Manufacturing
  • Life Sciences Research
  • Coming Utilities, Statistics
  • Bring benefits of CORBA and OMA to Domains.

Motivation
Introduction
Interoperability
Example
Evolution
Advanced
Big Picture
MDA
OMA
74
CORBA/OMA Environment
Overview
  • Starts with the Basics
  • IDL Interfaces Mappings
  • ORB-based Architecture
  • Static Dynamic Invocation Modes
  • GIOP/IIOP Interoperability
  • Optional Asynchronous Modes
  • Naming Service
  • Event Service
  • Add Services and Facilities
  • Security Service
  • Transaction Service
  • Object Trader Service
  • COM/CORBA Mapping
  • Then add Domain Componet

Motivation
Introduction
Interoperability
Example
Evolution
Advanced
Big Picture
MDA
OMA
Write a Comment
User Comments (0)
About PowerShow.com