What’s new in CORBA 3.0

Download Report

Transcript What’s new in CORBA 3.0

New features in CORBA 3.0
Niall Stapley, CERN
email: [email protected]
Overview
•
•
•
•
•
•
•
What exactly is CORBA3?
Objects passed by value
CORBA Component Model
Asynchronous Messaging
Minimum CORBA
Fault Tolerant CORBA
Other new specifications
2
What exactly is CORBA 3.0?
• Actually a suite of specifications.
• Conceptual difference between 2 and 3
– CORBA 2 tried to preserve network transparency.
– CORBA 3 provides features that help with the network.
• Divided into 3 main areas
– Java and internet integration.
– Quality of Service Control.
– CORBA Components.
3
Objects by value
• 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
• Since CORBA 2.3
4
Objects by value
interface
abstract
interface
valuetype
abstract
valuetype
single
multiple
5
CORBA Component Model
• 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
6
CORBA Component Model
• 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
7
Quality of Service
• 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
8
Asynchronous Messaging
• Brings flexible asynchronous communication to
Static Invocations.
• Asynchronous Method Invocation (AMI)
– Callback mode
• Similar to providing a callback handler object
– Polling mode
• Returns a valuetype object for client to check
• From CORBA 2.4
9
Minimum CORBA
• 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
10
Minimum CORBA
• 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
• Implementations
– Tatanka’s gibralter
– Sankhya’s Varadi
11
Fault Tolerant CORBA
• 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
– corbaloc::1.2@hostA:683,:1.2@hostB:683/myObj
12
Other New Specifications
• 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.”
13
And Finally...
• For more information:
– http://www.omg.org/technology/corba/corba3releaseinfo.htm
– http://www.omg.org/technology/documents/specialized_corba.htm
– CORBA 3 : Fundamentals and Programming by Jon Siegel
• Any questions?
• Thanks ESRF for a great workshop!
14