Slide1 l.jpg
This presentation is the property of its rightful owner.
Sponsored Links
1 / 25

A Cooperative Approach to Support Software Deployment Using the Software Dock by R. Hall, D. Heimbigner, A. Wolf PowerPoint PPT Presentation

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

Download Presentation

A Cooperative Approach to Support Software Deployment Using the Software Dock by R. Hall, D. Heimbigner, A. Wolf

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Slide1 l.jpg

A Cooperative Approach to Support Software Deployment Using the Software Dockby R. Hall, D. Heimbigner, A. Wolf

Sachin Chouksey

Ebru Dincel


Outline l.jpg

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 l.jpg

Release

Install

Adapt

Reconfigure

Update

Activate

Deactivate

Remove

Retire

What is Software Deployment?


How is it changing l.jpg

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

How is it changing ?

All this because of high connectivity


What do we need from deployment technologies l.jpg

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 l.jpg

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 l.jpg

Software Deployment Life Cycle

  • Producer side

    • Release

    • Retire

  • Consumer side

    • Install

    • Activate/Deactivate

    • Reconfigure

    • Update

    • Adapt

    • Remove


Software dock architecture l.jpg

Software Dock Architecture

Components

  • Release Dock

  • Field Dock

  • Inter Dock

  • Agents

  • Event Service


Architecture release dock l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

Architecture: Event Service

  • Connectivity between software producers and consumers.

  • Remote agents subscribe to events.

  • Uses standard protocols over the internet.


Architecture inter dock l.jpg

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 l.jpg

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 l.jpg

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

Deployable Software Description (DSD)


Dsd configurations l.jpg

DSD: Configurations

  • Relationships between software artifacts.

  • Resources provided by software system.


Dsd assertions l.jpg

Consumer-side constraints for a successful deployment.

Assertion{

Condition =

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

($OS$ = =‘Win95’)”

Description = “Test for supported operating system.”

….}

DSD: Assertions


Dsd dependencies l.jpg

DSD: Dependencies

  • Consumer-side constraints where a resolution is possible if the constraint does not hold (e.g installing dependent subsystems).


Dsd artifacts l.jpg

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: Artifacts


Dsd activities l.jpg

DSD: Activities

  • Any specialized activities outside of standard deployment process.


Software dock processes l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

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 l.jpg

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.


  • Login