Chouksey Dincel

Download Report

Transcript Chouksey Dincel

A Cooperative Approach to Support Software
Deployment Using the Software Dock
by R. Hall, D. Heimbigner, A. Wolf
Sachin Chouksey
Ebru Dincel
Outline







What is Software Deployment ?
Software Deployment Life Cycle
Software Dock (Architecture)
Deployable Software Description (DSD) Format
Software Dock Processes
Current, Related & Future Work.
Wrap-up
What is Software Deployment?





Release
Install
Adapt
Reconfigure
Update




Activate
Deactivate
Remove
Retire
How is it changing ?
Then


Complete Installation
procedure for
software system on
CD ROM
Entire software
system installation
Now


Software producers
and consumers
cooperating and
negotiating.
“Update” of Software
Systems
All this because of high connectivity
What do we need from deployment
technologies ?




Support for heterogeneity in terms of
platforms and network environments.
Semantic model to describe software
systems.
Semantic model to describe target sites.
Decentralized control for both software
producers and consumers.
Software Deployment Definitions

Previously



Installation of a software system.
Simplistic & Incomplete view.
Currently


An evolving collection of inter-related
activities.
Software deployment life cycle.
Software Deployment Life Cycle


Producer side
 Release
 Retire
Consumer side
 Install
 Activate/Deactivate
 Reconfigure
 Update
 Adapt
 Remove
Software Dock Architecture
Components





Release Dock
Field Dock
Inter Dock
Agents
Event Service
Architecture: Release Dock








Server residing at producer.
Repository of software systems.
Web-based release mechanism.
Std. deployment schema for each release.
Agents perform deployment process.
Programmatic interface for agents.
Generates events for changes made to a release.
Agents subscribe to events.
Architecture: Field Dock





Server residing at consumer.
Provides interface to consumer site.
Site resources and configuration (context).
Agents dock here and access interface.
Standardized, hierarchical information
registry for a common namespace.
Architecture: Agents




Implement actual functionality.
Only agent and software system description
loaded onto consumer site from release
dock.
Agent configures system for that target site.
Precise set of corresponding artifacts and
other agents then downloaded.
Architecture: Event Service



Connectivity between software producers
and consumers.
Remote agents subscribe to events.
Uses standard protocols over the internet.
Architecture: Inter Dock





Future implementation.
Support for “Administrator” role.
Administrator can specify activity that
should occur at a specific or set of sites.
Global view of consumer organization.
Complicated deployment scenarios
addressable.
Where are We ?







What is Software Deployment ?
Software Deployment Life Cycle
Software Dock (Architecture)
Deployable Software Description (DSD)
Format
Software Dock Processes
Current, Related & Future Work
Wrap-up
Deployable Software Description
(DSD)


Schema of deployment
information
System as collections and
configurations of properties
Property
{
Name = “ Online Help”
Type = “Boolean”
Description = “Include online
help.”
….}


Simple, generic, hierarchical
way of describing software
system family/component
based development
Critical piece of Software
Dock

Elements
- Configuration
- Assertions
- Dependencies
- Artifacts
- Activities
DSD: Configurations


Relationships between software artifacts.
Resources provided by software system.
DSD: Assertions

Consumer-side
constraints for a
successful
deployment.
Assertion
{
Condition =
“($OS$ = =‘Solaris’) ||
($OS$ = =‘Win95’)”
Description = “Test for
supported operating system.”
….}
DSD: Dependencies

Consumer-side constraints where a
resolution is possible if the constraint does
not hold (e.g installing dependent
subsystems).
DSD: Artifacts

Physical artifacts of
the software system.
Artifacts {
Guard =
“($Online Help$ = = true)”
Artifact
{
Guard =
“($OS$ = = ‘Solaris’)”
SourceName =“help.html”
Source = “/proj/doc”
Destination = “doc”
Mutable = false
Signature = “a4ca443b”
Type = “DOC” …}
Artifact
{……}
….}
DSD: Activities

Any specialized activities outside of
standard deployment process.
Software Dock Processes


Generic
- Differential processing
Specific
- Install (pull)
- Update (pull/push, new DSD)
- Reconfigure (pull, existing DSD)
- Adapt (pull, enforces consistency, existing
DSD)
- Remove (pull)
Related Work




Configuration Management Tools (e.g. Adele, PCL,..)
- no deployment or schema
Schema based (e.g. OSD, AMS, ..)
- not mature enough for automation, centralized
Script based (e.g. GNU AutoConf,..)
- not rich enough, heuristics
Recent utilities (e.g. InstallShield, netDeploy, ..)
- not rich enough for automation, better support
Immature, partial support for deployment activities, and
not standardized
Ongoing Work


Current
Java Prototype http://www.cs.colorado.edu/~serl
- SIENA (event notification)
- Voyager (IPC, mobile agents)
- schema editing tool (DSD editing, artifact entry)
- dock station tool (interface for deployment process)
Future
- higher security (JVM 2.0)
- remote agents and server
- extended DSD
- administration policies
Software Dock Advantages









Decentralized through cooperation.
Scalability due to centralization.
Asynchronous, bi-directional communication.
Unification of description and process.
Support for various deployment processes.
Sophisticated configuration management.
Support for multi-platform.
Extensibility, reliability and standardization (schemas and
elements).
Better performance results.
Issues in an Embedded Environment







Security (“trusted” mobile agents).
Authentication and authorization.
Resource constrained environments.
Run-time reconfiguration, update, and down time.
Platform changes (e.g. hardware).
Real-time guarantees.
Fault-tolerance, graceful degradation of service.