CCM From CORBA Component Model To Common Component Model

advertisement
CCM
From CORBA Component Model
To
Common Component Model
Copyright © 2011
Page 1
CCM Application Development
Cycle
Copyright © 2011
Page 2
CCM
Exists as Component
Model for more than a
decade
Several implementations
available
Platform and programming
language independent
Accepted into a large
amount of projects because
it is an open standard
Copyright © 2011
Page 3
DDS4CCM
Specification-level support for using/configuring
DDS within the context of CCM
Introduced the concept of IDL3+ and connectors,
soon part of CORBA 3.2
Specifies DDS QoS settings through XML
Copyright © 2011
Page 4
Deployment view
Copyright © 2011
Page 5
DDS4CCM
Implementation available as part of CIAO
–
RTI currently the only supported DDS vendor
–
Designed in an extensible manner so that other
vendors could be supported
Component Based DDS (CBDDS)
–
Simplifies D&C of DDS-based applications
–
Reduces tedious & error prone boilerplate code for
QoS configuration
–
Potentially allows for DDS implementations to be
chosen at deployment time vs. compile/design time
Copyright © 2011
Page 6
AMI4CCM
Asynchronous invocations for CCM
–
Does not require CORBA AMI support
–
Details of asynch invocation hidden from component
business logic
Set of implied IDL rules
–
Creates implied connector and interfaces used by
component business logic
–
Currently requires annotation through preprocessor
macros
–
Interfaces modeled off of CORBA AMI
AMI4CCM connector
Copyright © 2011
Page 7
Deployment view
Copyright © 2011
Page 8
AMI4CCM Standardization
OMG RFP issued December 2010
Draft initial submission available
Reference implementation available as part of
CIAO
Copyright © 2011
Page 9
Built-in event support
CCM has built-in support for events
–
Not very flexible or extensible
–
Requires container-level support for new event passing
mechanisms
Currently part of the core CCM specification
Mostly not used with CBDDS
Proposal to move this to a connector that can be
much more powerful than the existing event
support
Copyright © 2011
Page 10
Extensibility
Past solutions resulted in heavy containers and
deployments tools
–
Tight integration between CCM implementation and
D&C toolchain
–
Container-level code modifications required for new
features
Revised approach is to provide interceptor
support at various levels
–
Locality (D&C toolchain)
–
Container
–
Component
Copyright © 2011
Page 11
Improved Language Mappings
Current component executor programmers find
the mappings hard to use
C++ is a real challenge and needs to be
improved
Java and C can also be improved
New set of base classes specific to CCM
For CCM not all IDL supported features need to
be available
Copyright © 2011
Page 12
Modeling support
CCM/D&C needs adequate modeling support
Multiple vendors for CCM/D&C
–
CoSMIC
–
Atego
–
Zeligsoft
D&C specification provides XML-based meta-data
exchange format for modeling tools
Copyright © 2011
Page 13
What do we want to do?
Migrate from CORBA Component Model to a
Common Component Model
–
Decouple from CORBA specification
–
Make CORBA ORB an optional middleware bus
Extensibility CCM & D&C through plugins
QoS4CCM extensions for LifeCycle
Improved language bindings
Copyright © 2011
Page 14
What do we need?
Input from users about improvements
Support from the modeling tool vendors for the
new features
Funding to prototype, implement, and
standardize the various extensions
Copyright © 2011
Page 15
Thanks for your attention
Johnny Willemsen <jwillemsen@remedy.nl>
Marcel Smit <msmit@remedy.nl>
http://www.theaceorb.nl
Copyright © 2011
Page 16
Download