130 likes | 139 Views
A Data-Model for Context-Aware Deployment of Component-based Applications onto Distributed Systems. Dhouha Ayed, Chantal Taconet, and Guy Bernard GET/INT, CNRS Samovar 5157 Evry, France. Outline. Deployment and component based applications Context-aware Deployment
E N D
A Data-Model for Context-Aware Deployment of Component-based Applications onto Distributed Systems Dhouha Ayed, Chantal Taconet, and Guy Bernard GET/INT, CNRS Samovar 5157 Evry, France
Outline • Deployment and component based applications • Context-aware Deployment • Context-aware Deployment Data-Model • Discussion and Conclusion
Deployment (Definition) • All activities that make software available to its users : installing, configuring, updating, reconfiguring, de-installing
Component-based Application • Assembly descriptor (or a deployment plan): Specifies how the components are partitioned and how they are connected • A set of reusable components connected to each other via ports • EJB, COM, CCM • Deployment: Assembly of one or several components Component 1 connection Component 3 Component 2 Component 4
Context-aware Deployment • Deployment is a context sensitive service • User preferences, • Terminal capability, Computer resources availability, • Application specific context • Just in time deployment • Adapt deployment of the component based applications to the context variability
Context-aware deployment: Variable Parameters • The context can impact the deployment on different levels: • Choice of the component implementations : GUI component implementation for a PDA, GUI component implementation for a laptop • Components configuration properties: The language used. • Choice of the machines where to install components • Application structure (architecture): if low bandwidth, deploy a compression component
Context-awareness • 3 steps: • Context information collection • Analyse context • Trigger actions
Deployment context-awareness components Deployment-Adapter ContextFilter ContextFilter ContextFilter ContextSource ContextSource ContextSource
Relevant Context Descriptor <relevantcontext id= "InsufficientCPU" contextref= "CPUuse" > <operator value="greater"> <relevantvalue>50</ relevantvalue > </operator> </relevantcontext >
Context-aware Deployment Plan: Example <contextawaredeploymentplan> ... <componentinstances> <componentinstance idref="GUIinstance"> <existencecontext> <relevantcontextref idref=" GraphicalInterfaceSupported "/> </existencecontext> <componentimplementation> <implem implemref="PDAimplref" relevantcontextref="LittleScreen"/> <implem implemref="NormalScreenimplemref " relevantcontextref="NormalScreen"/> </componentimplementation> <destination> <discoveryby> <namingservice> <name value="UserTeminal ”/ > </namingservice> </discoveryby> <\destination> <contextawareconnections> <connectionref ref= "GUI-compression" relevantcontextref= " fluctuatingconnection"/> <connectionref ref= "GUI-compression" relevantcontextref="disconnectedmode "/> </contextawareconnections > </componentinstance> … </contextawaredeploymentplan>
Discussion & Conclusion • Context-aware deployment schema: • RelevantContext • How to create component instances, where to instantiate them, and how they are connected to each other according to the context. • Existing deployment solutions : CCM deployment model, the OMG deployment and configuration specification
Future Work • Extend the data-model to allow dynamic reconfiguration • Performance