25
A Cooperative Approach to Support Software Deployment Using the Software Dock by R. Hall, D. Heimbigner, A. Wolf Sachin Chouksey Ebru Dincel

Sachin Chouksey Ebru Dincel

  • Upload
    ordell

  • View
    61

  • Download
    0

Embed Size (px)

DESCRIPTION

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 - PowerPoint PPT Presentation

Citation preview

Page 1: Sachin Chouksey Ebru Dincel

A Cooperative Approach to Support Software Deployment Using the Software Dock

by R. Hall, D. Heimbigner, A. Wolf

Sachin Chouksey

Ebru Dincel

Page 2: 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

Page 3: Sachin Chouksey Ebru Dincel

What is Software Deployment? Release Install Adapt Reconfigure Update

Activate Deactivate Remove Retire

Page 4: Sachin Chouksey Ebru Dincel

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

Page 5: Sachin Chouksey Ebru Dincel

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.

Page 6: Sachin Chouksey Ebru Dincel

Software Deployment Definitions Previously

Installation of a software system. Simplistic & Incomplete view.

Currently An evolving collection of inter-related

activities. Software deployment life cycle.

Page 7: Sachin Chouksey Ebru Dincel

Software Deployment Life Cycle Producer side

Release Retire

Consumer side Install Activate/Deactivate Reconfigure Update Adapt Remove

Page 8: Sachin Chouksey Ebru Dincel

Software Dock Architecture

Components Release Dock Field Dock Inter Dock Agents Event Service

Page 9: Sachin Chouksey Ebru Dincel

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.

Page 10: Sachin Chouksey Ebru Dincel

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.

Page 11: Sachin Chouksey Ebru Dincel

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.

Page 12: Sachin Chouksey Ebru Dincel

Architecture: Event Service

Connectivity between software producers and consumers.

Remote agents subscribe to events. Uses standard protocols over the internet.

Page 13: Sachin Chouksey Ebru Dincel

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.

Page 14: Sachin Chouksey Ebru Dincel

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

Page 15: Sachin Chouksey Ebru Dincel

Deployable Software Description (DSD) Schema of deployment

information System as collections and

configurations of propertiesProperty {

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

Page 16: Sachin Chouksey Ebru Dincel

DSD: Configurations Relationships between software artifacts. Resources provided by software system.

Page 17: Sachin Chouksey Ebru Dincel

DSD: Assertions Consumer-side

constraints for a successful deployment.

Assertion {

Condition =

“($OS$ = =‘Solaris’) ||

($OS$ = =‘Win95’)”

Description = “Test for supported operating system.”

….}

Page 18: Sachin Chouksey Ebru Dincel

DSD: Dependencies Consumer-side constraints where a

resolution is possible if the constraint does not hold (e.g installing dependent subsystems).

Page 19: Sachin Chouksey Ebru Dincel

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 = falseSignature = “a4ca443b”Type = “DOC” …}

Artifact {……}….}

Page 20: Sachin Chouksey Ebru Dincel

DSD: Activities Any specialized activities outside of

standard deployment process.

Page 21: Sachin Chouksey Ebru Dincel

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)

Page 22: Sachin Chouksey Ebru Dincel

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

Page 23: Sachin Chouksey Ebru Dincel

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

Page 24: Sachin Chouksey Ebru Dincel

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.

Page 25: Sachin Chouksey Ebru Dincel

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.