Title: Adaptable Connectors in the CORBA Component Model
1Adaptable Connectors in theCORBA Component Model
- Mathieu Vadet Philippe Merle
- vadet, merle_at_lifl.fr
- GOAL Team, LIFL
2Objectives
- Adapt event communication layer in distributed
component oriented applications - Context CCM
- Platform OpenCCM
- Ease adaptations production and use
- Least-effort programming
- Only communication logic
- Minimize programming faults
- Integration by description
- Configuration and instantiation logic
- Minimize integration faults
3Illustration
Any communication Service
4Issues
OpenCCM adaptable connector
5Issues
- Reification of connector
- MOP sticks to language, CORBA or CCM ?
OpenCCM adaptable connector
6Issues
- Reification of connector
- Many implementations
- CORBA or not CORBA,
- Proprietary information
???
OpenCCM adaptable connector
7Issues
- Reification of connector
- Many implementations
- Instantiation support
- At deployment-time, connection-time, runtime
- Automation means
OpenCCM adaptable connector
8Approach
- Reification of connection operations
- Implemented by framework
- Connector communication logic
- Component oriented connector
- Connector assembly of components
configuration - Instantiation deployment
9Illustration
Notification Service
OpenCCM adaptable connector
10Illustration
Notification Service
OpenCCM adaptable connector
11Illustration
Multicast IP
OpenCCM adaptable connector
12Illustration
Multicast IP
OpenCCM adaptable connector
13Illustration
JMS
OpenCCM adaptable connector
14Illustration
OpenCCM adaptable connector
JMS
15Configuration
- Describes used connectors
- Connector initial configuration
- Physical location of the archive
- Entry point
- Proprietary information
- Static deployment
- References on initial configurations
- Dynamic deployment
- Configuration propagation policies
- Looks like simplified CCM deployment descriptors
16Configuration
- Example for Automaton component port
port repository id
static deployment
"IDLAutomaton/to_observer1.0"
connectors staticeventservice
dynamic eventservice
locationhttp//egmont.lifl.fr/eventservice.jar
entrypointEventServiceConnectorHome.creat
e_home addresscorbaloclocalhost8000/
DefaultEventChannel
dynamic deployment
initial configuration
archive physical location
entrypoint
specific
17Configuration
- Example for Observer component port
"IDLObserver/from_automaton1.0"
connectors staticeventservice,multicast
dynamic eventservice /
idem / multicast
locationfile//home/vadet/connectors/multicast.ja
r entrypointMulticastConnectorHome.crea
te_home ip224.0.0.100
port9999
2 connectors deployed statically
2 initial configurations
multicast group infos
18Static Deployment
- First experiment
- Objective
- Deployment-time connections
- Achievement
- Configuration checking algorithm
- Connection validation protocol
19Static Deployment
- Example before deployment
- Same configuration everywhere
20Static Deployment
- Example after deployment
- Same connector instantiated everywhere
Event Service Channel
21Static Deployment
22Static Deployment
- Example upon connection
- Manager checks consistency
2
Checks consistency OK for that case
23Static Deployment
- Example upon connection
- Manager checks consistency
- Manager validate connection
3
3
24Static Deployment
- Example upon connection
- Manager checks consistency
- Manager validate connection
- Connection established
25Static Deployment
- Static adaptation of connectors
- At deployment-time
- Fits well for static connections
- Allows (m,n) connectors
- Drawbacks
- Consistent configurations everywhere
- A priori knowledge of connections
- Complex administration
26Dynamic Deployment
- Next experiment
- Objectives
- Runtime discovery of connector
- Negotiation protocol
- Achievement
- Enhance configuration checking algorithm
- Configuration propagation protocol
- Built-in policies
27Dynamic Deployment
- Example before deployment
- Configuration for automaton
- Specifies propagation of eventservice initial
configuration
28Dynamic Deployment
- Example before deployment
- Configuration for observers
- Requires the propagation of a configuration
29Dynamic Deployment
- Example after deployment
- Connector is only instanciated for automaton
Event Service Channel
30Dynamic Deployment
31Dynamic Deployment
- Example upon connection
- Manager checks consistency
2
Checks consistency Needs propagation
32Dynamic Deployment
- Example upon connection
- Manager checks consistency
- Manager sends configuration to the other manager
deploy_profile
2
Send configuration with eventservice initial
configuration
33Dynamic Deployment
- Example upon connection
- Manager checks consistency
- Manager send profile to the other manager
- Manager instantiates the connector
2
Instanciation of the eventservice connector and
update of the configuration
34Dynamic Deployment
- Example upon connection
- Manager checks consistency
- Manager validate connection
3
3
35Dynamic Deployment
- Example upon connection
- Manager checks consistency
- Manager validate connection
- Connection established
36Dynamic Deployment
- Dynamic adaptation of connectors
- At connection-time
- Fits well for dynamic connections
- Ease administration
- Limitations
- Policies too restrictive
- No negotiation
- Drawbacks
- No (m,n) connector
37Lessons Beyond The Experiments
- Connectors seen as distributed assemblies of
system components - Design, development, configuration and deployment
- Flexible containers build at runtime
- Parts are downloaded and assembled dynamically
- Distributed coordination between containers
- Configuration propagation
- gt Negotiation
- Could be applied to other component oriented
middleware - Ideas are not CCM specific
38Future prospects
Any CS
- No (m,n) connector - No connector spokesman at
runtime
39Future prospects
(m,n) connector Comm. service as CCM component
40Future prospects
Event comm. NF domain
- Any NF domain
- Load balancing
- Fault tolerance
- Real time
- ...