Matthew Moccaro Chapter 10 – Deployment and Mobility PART II.

Slides:



Advertisements
Similar presentations
MicroKernel Pattern Presented by Sahibzada Sami ud din Kashif Khurshid.
Advertisements

MIS 2000 Class 20 System Development Process Updated 2014.
Deployment and Mobility of Software Software architecture must eventually be “realized” ---- that is –a) implemented and – b) deployed Deployment is the.
Chapter 19: Network Management Business Data Communications, 4e.
Software Configuration Management
DCS Architecture Bob Krzaczek. Key Design Requirement Distilled from the DCS Mission statement and the results of the Conceptual Design Review (June 1999):
Mobile Agents: A Key for Effective Pervasive Computing Roberto Speicys Cardoso & Fabio Kon University of São Paulo - Brazil.
Project Life Cycle Jon Ivins DMU. Introduction n Projects consist of many separate components n Constraints include: time, costs, staff, equipment n Assets.
Fundamentals of Information Systems, Second Edition
PERTEMUAN 7 Copyright © 2002 Pearson Education, Inc.
Copyright © 2002 Pearson Education, Inc.
1 Software Testing and Quality Assurance Lecture 30 – Testing Systems.
DISTRIBUTED PROCESS IMPLEMENTAION BHAVIN KANSARA.
Introduction to Software Testing
Software maintenance Managing the processes of system change.
Summary :- Distributed Process Scheduling Prepared BY:- JAYA KALIDINDI.
Acquiring Information Systems and Applications
Microsoft ® Official Course Monitoring and Troubleshooting Custom SharePoint Solutions SharePoint Practice Microsoft SharePoint 2013.
Release & Deployment ITIL Version 3
Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall 1 Building Applications.
Distributed Process Implementation
Effective Methods for Software and Systems Integration
Windows.Net Programming Series Preview. Course Schedule CourseDate Microsoft.Net Fundamentals 01/13/2014 Microsoft Windows/Web Fundamentals 01/20/2014.
Chapter 12 Implementation
1 Kyung Hee University Prof. Choong Seon HONG Network Control.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
SCRAM Software Configuration, Release And Management Background SCRAM has been developed to enable large, geographically dispersed and autonomous groups.
RUP Fundamentals - Instructor Notes
Chapter 2 The Origins of Software Modern Systems Analysis and Design.
Source: J. Hoffer ,J. George, J. Valacich
1 Chapter 11 Implementation. 2 System implementation issues Acquisition techniques Site implementation tools Content management and updating System changeover.
Protocol Architectures. Simple Protocol Architecture Not an actual architecture, but a model for how they work Similar to “pseudocode,” used for teaching.
ITEC224 Database Programming
 To explain the importance of software configuration management (CM)  To describe key CM activities namely CM planning, change management, version management.
Usability Issues Documentation J. Apostolakis for Geant4 16 January 2009.
EMI INFSO-RI SA2 - Quality Assurance Alberto Aimar (CERN) SA2 Leader EMI First EC Review 22 June 2011, Brussels.
Implementation - Part 2 CPS 181s March 18, Pieces of the Site-building Puzzle Page 180, figure 4.1.
Chapter 14 Part II: Architectural Adaptation BY: AARON MCKAY.
Chapter 5.4 DISTRIBUTED PROCESS IMPLEMENTAION Prepared by: Karthik V Puttaparthi
Component Technology. Challenges Facing the Software Industry Today’s applications are large & complex – time consuming to develop, difficult and costly.
Chapter 2 The Origins of Software Modern Systems Analysis and Design Fifth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Transparent Mobility of Distributed Objects using.NET Cristóbal Costa, Nour Ali, Carlos Millan, Jose A. Carsí 4th International Conference in Central Europe.
LHCb Software Week November 2003 Gennady Kuznetsov Production Manager Tools (New Architecture)
Configuration Management and Change Control Change is inevitable! So it has to be planned for and managed.
The Software Development Process
PRJ566 Project Planning & Management Software Architecture.
Chapter 2 The Origins of Software Modern Systems Analysis and Design Fifth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
Software Deployment and Mobility. Introduction Deployment is the placing of software on the hardware where it is supposed to run. Redeployment / migration.
Improving System Availability in Distributed Environments Sam Malek with Marija Mikic-Rakic Nels.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
CS223: Software Engineering Lecture 18: The XP. Recap Introduction to Agile Methodology Customer centric approach Issues of Agile methodology Where to.
Basic Concepts of Software Architecture. What is Software Architecture? Definition: – A software system’s architecture is the set of principal design.
Some of the utilities associated with the development of programs. These program development tools allow users to write and construct programs that the.
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
Lecture 2 The Sources of Software. Copyright © 2011 Pearson Education, Inc. 2 Chapter 2 Introduction There are various sources of software for organizations.
Chapter 25 – Configuration Management 1Chapter 25 Configuration management.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Deployment and Mobility Software Architecture Lecture 12.
Chapter 19: Network Management
Unified Modeling Language
Migrating Oracle Forms Using Oracle Application Express
Ch > 28.4.
Chapter 2: Database System Concepts and Architecture
Introduction to Software Testing
Chapter 2 The Origins of Software
Design and Implementation
Chapter 7 –Implementation Issues
Lecture 4 – Bond Agents What is a software agent? Mobility
Overview Activities from additional UP disciplines are needed to bring a system into being Implementation Testing Deployment Configuration and change management.
From Use Cases to Implementation
Presentation transcript:

Matthew Moccaro Chapter 10 – Deployment and Mobility PART II

MobilityMobility Tool Support Challenges in Migrating Code Deployment Activities (cont.)

3.Analysis 4. Implementation

Deployment Activities (cont.)  Developing a deployment model can be a huge undertaking.  Doing this is only worthwhile if you use the model to make decisions.  To use the model, you need to analyze the model.

Deployment Activities (cont.) Similar Diagrams to those located on page 397 Candidate Deployment Views

Deployment Activities (cont.) 1.Are both deployments valid? 2.Which deployment is better? 3.Is there a better deployment than this one? Ask these questions:

Deployment Activities (cont.) 1. Are both deployments valid?  If system constraints are specified rigorously, this becomes an easy task.  A simple constraint satisfaction problem.

Deployment Activities (cont.) 2. Which deployment is better?  More difficult to decide.  Quality of Service dimensions can help.  Durability over Latency  Introduce system users and capture their preferences.

Deployment Activities (cont.) 3. Is there a better deployment than this one?  Even more difficult to decide.  What is the best possible deployment?  Algorithms to help us:  MIN and MINLP  Greedy, Genetic, Decentralized

 Only two of these can be achieved at one time.  Some or all of the users are likely to be unhappy with the system.  Functionality-Scalability-Performance

Deployment Activities (cont.)  Our software is now ready to be effected.  Activities involved in this process:  Release / De-Release  Install / De-Install  Activate / Deactivate  Update  Adapt

Deployment Activities (cont.) 1.Release 2.Install 3.Activate 4.Deactivate 5.Update 6.Adapt 7.De-Install 8.De-Release Release Packaged so that it can be transferred to consumer sites. System may also need to be advertised to the customer. Includes description, software modules, deployment model, deployment procedures, and any additional information. Install Now that the system is packaged and transferred, it can be installed. Includes extracting, assembling, and configuring the system. Activate The system must now be activated on the target hosts. Involved providing a command to start up the system. Many times involves an activation key. Deactivate Involves disabling or shutting down a system. Update A system must be maintained. Updates are initiated by the system’s producers. Updates must be properly reflected in all architectural models. Adapt Encompasses a wide range of activities. Involves changing the system, may be dynamically. Redeployment is also possible. De-Install System is removed from consumer sites. Process may be simple, may be complex. Having current architectural models will make this process easier. De-Release System is retired or no longer supported. Can be done for many reasons. Usually advertised.

Tool Support  Software developers need tools to:  Support deployment modeling  Support implementation activities  Model – Analyze – Implement – Monitor - Update

Tool Support

MobilityMobility  Once a system is in operation, parts of it may need to be redeployed or migrated.  Code mobility / logical mobility – a piece of software moves across hardware hosts during system execution.  For all this to be possible, certain facilities such as dynamically linked libraries or dynamic class loading must be available.

MobilityMobility  Stateful / Strong Mobility – A module contains a run time state.  Stateless / Weak Mobility – Only the code itself needs to be migrated.  Stateful mobility is much more difficult, as migration can only be done at certain times, and its effect on the rest of the system considered.

MobilityMobility Mobility Paradigms Remote Evaluation Code-on- Demand Mobile Agent

MobilityMobility Remote Evaluation Source host has the know-how, but not the resources to perform a service. The module is transferred to the destination host, where it is executed and the result is sent back to the source host.

MobilityMobility Code-on- Demand Destination host requests the know- how, and has the resources to perform a service. The module is transferred to the destination host, where it is executed

MobilityMobility Source Has: 1.Know-How 2.Execution State 3.Access to some resources The module is transferred to the destination host, where it is executed completely Mobile Agent

Challenges in Migrating Code  Run time mobility depends on several factors, including the support of dynamic linking and loading of modules  Quiescence  Provided Quality of Service - QoS

 It can be unsafe to migrate a component while it is: In the middle of processing Waiting for a result from another component. Other components are requesting its services. Challenges in Migrating Code

 The system must provide facilities to suspend all interactions while the process takes place.  Two capabilities are required for this:  Embodied Suspend  Insulation of external components Challenges in Migrating Code

MobilityMobility Tool Support Challenges in Migrating Code Deployment Activities (cont.)