150 likes | 320 Views
New features in CORBA 3.0. Niall Stapley, CERN email: niall.stapley@cern.ch. Overview. What exactly is CORBA3? Objects passed by value CORBA Component Model Asynchronous Messaging Minimum CORBA Fault Tolerant CORBA Other new specifications. What exactly is CORBA 3.0?.
E N D
New features in CORBA 3.0 Niall Stapley, CERN email: niall.stapley@cern.ch
Overview • What exactly is CORBA3? • Objects passed by value • CORBA Component Model • Asynchronous Messaging • Minimum CORBA • Fault Tolerant CORBA • Other new specifications
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.
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
interface abstract interface valuetype abstract valuetype single multiple Objects by value
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
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
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
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
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
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
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
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.”
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!