Mobile Agents and Software Deployment

Total Page:16

File Type:pdf, Size:1020Kb

Mobile Agents and Software Deployment Mobile Agents and Software Deployment Roberto Silveira Silva Filho, ICS -Information and Computer Science, UCI - University of California Irvine 444 Computer Science Building, University of California Irvine, CA 92697-3425, USA e-mail: [email protected] Abstract Software deployment is a complex procedure that How workflow management systems can be used evolves the release, installation, adaptation, recon- to express dependencies in large-scale software de- figuration, update, activation, deactivation, retire- ployment? ment and remove of software in a set of sites. This paper presents and describes some ideas concerning the use of the mobile agents as a promising para- 1.1 Paper Description digm to support this important software engineering activity. The use of workflow is also presented as a The next section discusses, in a summarized way, coordination tool for expressing large-scale soft- the basic concepts related to software deployment, ware deployment activities. mobile agents and workflow Section 3 discusses the use of the mobile agent paradigm in the context of software deployment activities and its requirements. Key Words: Mobile Agents, Software Deployment, Section 4 proposes the use of workflow management Configuration Management, Workflow and Distrib- as one solution of the coordination problem in soft- uted Systems. ware deployment. Section 5 presents the Software Dock as a related work. Finally, in section 6, some conclusions are posted. 1 Introduction 2 Basic Concepts The objective of this paper is to propose some ideas concerned the use of mobile agents and work- In this section, there are introduces the basic con- flow in the software deployment research area. Few cepts used in the comprehension of this paper. In publications addressed this problem using the mo- special, we introduce the concepts of configuration bile agents paradigm and none of them, according to management, software deployment and mobile the author knowledge, used the idea of workflow to agents and workflow. express conditions and coordination in large-scale software deployment. This paper proposes some ideas and possible solutions in this area using the 2.1 Software Deployment mobile agent paradigm and workflow. Software applications are not stand alone sys- This paper aims at answering the following ques- tems, they are implemented as a set of software tions: components, data and executables, being developed to operate in a constantly changing environment. How mobile agent paradigm can be used in the Additionally, in order to reach a broader consumer context of configuration management, runtime market, the software must be compatible with differ- change and software deployment? 1 ent operating systems and its versions, besides of For now on, we will use the following terminol- being able to run on different hardware platforms. In ogy, described by Carzaniga et al, as follows. this heterogeneous environment, each host in a net- work can have different hardware and software con- A site may be a host or set of hosts that uses a set figurations. of resources. A software system is a coherent col- lection of artifacts, such as executable files, source The software deployment process, for these sys- code, data files and documentation. A resource is tems, is becoming complex. These new applications anything needed to enable the use of a software sys- demand new installation procedures and polices. tem at a site, for example, and IP port, memory, disk Software producers distribute customizable and not space and other system. A software producer is a complete applications. Before the installation, the company or site that creates and deploy new releases system must be checked for the presence of required of the software to be installed. The software con- software component versions. In case they are not sumer is the host in which the software needs to be present, components from different vendors may deployed to. need to be gathered and installed. This process usu- ally evolves the query of different vendor sites dis- The software deployment process is composed by tributed in the Internet. 8 main phases. In the next sections, these phases will be described and some software deployment re- Examples of such complex applications are mod- quirements will be discussed. ern Internet browsers. These applications are de- ployed with a minimum set of plug-ins. Whenever 2.1.2 Software Deployment Process one of these components are required for a specific functionality, embedded in the Internet homepage, The deployment process consists of several inter- the consumer (client), in which the application is related activities that can be executed in the pro- installed, usually needs to download this plug-in ducer, consumer or both sites. These activities are from its producer company home page. release, installation, activation, adaptation, deactiva- tion, update, removal and retirement. We will now Another example is the installation of operating describe these phases as presented by Carzaniga et systems in new workstations. It is usually the case al. that new drivers, not available in the distribution, are required. • Release. It is the activity that interfaces be- tween the software development and its de- This process introduces new requirements, which ployment. It is performed in the producer side are discussed in section 2.1.3. and encompasses all the operations needed to prepare a system for assembly and transfer to 2.1.1 Definition the consumer site. It collects and specifies all information necessary to carry the other ac- According to Carzaniga et al. [CFHHHW98], in- tivities of the deployment process. It is di- formally speaking, the term software deployment vided in the packing and advertising sub- refers to all the activities that make software systems phases. available for use. Software deployment compre- hends the process and activities related to the re- In the packing phase, all components neces- lease, installation, activation, adaptation, deactiva- sary to the application are collected and or- tion, update, removal and retirement of software ganized, in order to be transferred to the con- components in a set of hosts. It requires interactions sumer sites. Such information comprises the among software producers and software consum- components, documentation, its installation ers. Once deployed, a software system is available procedures, dependencies and management for use in a customer site. properties. 2 In the advertising phase, meta-information about the characteristics of the system being • De-installation. This activity consists in the deployed is collected and disseminated to in- removal (undo) of the application compo- terested parties. nents from the system. As a result, the re- move process must inspect the current state of • Installation. It covers the transfer of the ap- the consumer site. This procedure must not plication components form the producer site affect other installed systems, and dependen- to the consumer site, followed by their con- cies check must be performed in order to keep figuration. It prepares the system to be acti- components that are shared with other appli- vated. cations. • Activation. It is the activity of running the • Retirement or Derelease. Consists in discon- installed application in the customer site. For tinuing the support for an application by the complex systems it might require the initiali- software producer. It usually requires that the zation of other services and process. An ex- withdrawn of the software by the producer be ample is a network application that needs the advertised to all known consumers of the sys- appropriate network daemon to be running in tem. It does not directly affect the consumers, the UNIX system. If the required applications which can continue to use the software. are not properly installed in the system, this lack can trigger an installation process of In summary, the producer side is responsible for these applications. the release and retirement of the software, while the consumer side performs the activation, deactivation • Deactivation. Is the inverse of activation ac- and adaptation of the software. The update and in- tivity. It performs the shut down of the run- stallation is a conjunct operation, performed by both ning application. It is also required before sides. other deployment activities can take place, for example, during update operations. 2.1.3 Issues and Requirements • Update. It is a special case of installation. Represents the partial or total transfer of new Carzaniga et al. also presents a list of issues con- component versions, in order to replace com- cerned to the software deployment process. The ponents of an existing installation. Before in- most important ones for this work are described as stallation, most applications require the deac- follows. tivation of the software. Some of them, how- ever, allow this process to be performed at Change Management. Activities such as soft- runtime. ware and hardware updates are natural and should be supported by the deployment process. The update • Adaptation. Like the update activity, the ad- and adaptation procedures must be able to deal with aptation involves the modification of a soft- issues like new hardware and OS upgrades. ware system that has been previously in- stalled. Adaptation differs from update in that Component Dependencies. A non-trivial system the update activity is initiated by remote is composed by many components exhibiting vari- events, such as software producer releasing a ous interdependencies. A dependency is any kind of new component version, whereas adaptations "use" relation among components. The deployment are initiated by local events, such as a change process must be able to deal with these dependen- in the environment of the consumer site. For cies, especially during installation and de- example, the installation of a new graphic installation procedures. Installation may also depend card may require the system do adapt to its on the existence of other applications and compo- new characteristics. nents. For example, a package may need a zip tool 3 in order to be unpacked. This tool needs to be previ- Integration with the Internet.
Recommended publications
  • Towards an Application Lifecycle Management Framework
    VTT CREATES BUSINESS FROM TECHNOLOGY Technology and market foresight • Strategic research • Product and service development • IPR and licensing Dissertation VTT PUBLICATIONS 759 • Assessments, testing, inspection, certification • Technology and innovation management • Technology partnership • • • VTT PUBLICATIONS 759 TOWARDS AN APPLICATION LIFECYCLE MANAGEMENT FRAMEWORK AN APPLICATION 759 TOWARDS • VTT PUBLICATIONS VTT PUBLICATIONS 742 Elina Mattila. Design and evaluation of a mobile phone diary for personal health management. 2010. 83 p. + app. 48 p. 743 Jaakko Paasi & Pasi Valkokari (eds.). Elucidating the fuzzy front end – Experiences from the INNORISK project. 2010. 161 p. 744 Marja Vilkman. Structural investigations and processing of electronically and protonically conducting polymers. 2010. 62 p. + app. 27 p. 745 Juuso Olkkonen. Finite difference time domain studies on sub-wavelength aperture structures. 2010. 76 p. + app. 52 p. 746 Jarkko Kuusijärvi. Interactive visualization of quality Variability at run-time. 2010. 111 p. 747 Eija Rintala. Effects of oxygen provision on the physiology of baker’s yeast Saccharomyces cerevisiae. 2010. 82 p. + app. 93 p. 748 Virve Vidgren. Maltose and maltotriose transport into ale and lager brewer’s yeast strains. 2010. 93 p. + app. 65 p. 749 Toni Ahonen, Markku Reunanen & Ville Ojanen (eds.). Customer value driven service business development. Outcomes from the Fleet Asset Management Project. 2010. 43 p. + app. 92 p. 750 Tiina Apilo. A model for corporate renewal. Requirements for innovation management. 2010. 167 p. + app. 16 p. 751 Sakari Stenudd. Using machine learning in the adaptive control of a smart environment. 2010. 75 p. 752 Evanthia Monogioudi. Enzymatic Cross-linking of ββ-casein and its impact on digestibility and allergenicity.
    [Show full text]
  • Devsecops in Reguated Industries Capgemini Template.Indd
    DEVSECOPS IN REGULATED INDUSTRIES ACCELERATING SOFTWARE RELIABILITY & COMPLIANCE TABLE OF CONTENTS 03... Executive Summary 04... Introduction 07... Impediments to DevSecOps Adoption 10... Playbook for DevSecOps Adoption 19... Conclusion EXECUTIVE SUMMARY DevOps practices enable rapid product engineering delivery and operations, particularly by agile teams using lean practices. There is an evolution from DevOps to DevSecOps, which is at the intersection of development, operations, and security. Security cannot be added after product development is complete and security testing cannot be done as a once-per-release cycle activity. Shifting security Left implies integration of security at all stages of the Software Development Life Cycle (SDLC). Adoption of DevSecOps practices enables faster, more reliable and more secure software. While DevSecOps emerged from Internet and software companies, it can benefit other industries, including regulated and high security environments. This whitepaper covers how incorporating DevSecOps in regulated Industries can accelerate software delivery, reducing the time from code change to production deployment or release while reducing security risks. This whitepaper defines a playbook for DevSecOps goals, addresses challenges, and discusses evolving workflows in DevSecOps, including cloud, agile, application modernization and digital transformation. Bi-directional requirement traceability, document generation and security tests should be part of the CI/CD pipeline. Regulated industries can securely move away
    [Show full text]
  • CADET: Debugging and Fixing Misconfigurations Using Counterfactual Reasoning
    CADET: Debugging and Fixing Misconfigurations using Counterfactual Reasoning Md Shahriar Iqbal∗ Rahul Krishna∗ Mohammad Ali Javidian University of South Carolina Columbia University Purdue University [email protected] [email protected] [email protected] Baishakhi Ray Pooyan Jamshidi Columbia University University of South Carolina [email protected] [email protected] Abstract Swap Mem. Swap Memory Modern computing platforms are highly-configurable with thou- sands of interacting configuration options. However, configuring GPU Resource these systems is challenging and misconfigurations can cause un- 512 Mb Latency 1Gb Memory Pressure expected non-functional faults. This paper proposes CADET (short 2Gb 3Gb for Causal Debugging Toolkit) that enables users to identify, ex- 4Gb Latency plain, and fix the root cause of non-functional faults early and in a GPU Growth GPU Growth principled fashion. CADET builds a causal model by observing the (a) (b) (c) performance of the system under different configurations. Then, it uses casual path extraction followed by counterfactual reason- Figure 1: Observational data (in Fig.1a) (incorrectly) shows ing over the causal model to (a) identify the root causes of non- that high GPU memory growth leads to high latency. The trend functional faults, (b) estimate the effects of various configuration is reversed when the data is segregated by swap memory. options on the performance objective(s), and (c) prescribe candi- date repairs to the relevant configuration options to fix the non- functional fault. We evaluated CADET on 5 highly-configurable systems by comparing with state-of-the-art configuration optimiza- heat dissipation [15, 71, 74, 84]. The sheer number of modalities tion and ML-based debugging approaches.
    [Show full text]
  • Enterprise Application Lifecycle Management Solutions Enterprise Application Lifecycle Management Solutions
    Enterprise Application Lifecycle Management Solutions Enterprise Application Lifecycle Management Solutions This extensive onsite knowledge gained from years of expe- Products and Solutions for rience combined with our trusted relationships with end- users, puts us in a unique position to self-instrument the Comprehensive Enterprise products crucially needed by our customers to successfully accomplish their Enterprise Application Lifecycle Manage- Application Lifecycle ment projects. Management With this in mind, we have developed Our Enterprise Application Lifecycle Ma- RaySuite. nagement Solutions include delivering RaySuite is a comprehensive set of products that automates various tasks within an Enterprise Application Lifecycle. consulting and software packaging ser- vices to enterprises undergoing an OS This automation ranges from the analysis of the existing application portfolio and license inventories via complex migration or implementing a software license management and software packaging, all the way deployment tool. We have successfully to comprehensive quality control and fi nally software deployment in production. These automated processes served over 600 enterprise customers are sustainable and can be replicated for every change and with excellent results. every patch. A central database and a common user interface found throughout all RaySuite products form a consistent solution and off er a strong contrast to existing patchwork solutions that are often found in enterprises, as a result of limited vision and the implementation of various suppliers. Al- though Raynet guarantees a consistent approach with the use of its entire product range, it is still possible to buy and implement the individual products of RaySuite autono- mously as well as integrate them with existing third-party or home-grown products.
    [Show full text]
  • Automatic Deployment of Distributed Software Systems: Definitions and State of the Art
    Open Archive TOULOUSE Archive Ouverte (OATAO) OATAO is an open access repository that collects the work of Toulouse researchers and makes it freely available over the web where possible. This is an author-deposited version published in : http://oatao.univ-toulouse.fr/ Eprints ID : 14816 To link to this article : DOI :10.1016/j.jss.2015.01.040 URL : http://dx.doi.org/10.1016/j.jss.2015.01.040 To cite this version : Arcangeli, Jean-Paul and Boujbel, Raja and Leriche, Sébastien Automatic Deployment of Distributed Software Systems: Definitions and State of the Art. (2015) Journal of Systems and Software, vol. 103. pp. 198-218. ISSN 0164-1212 Any correspondance concerning this service should be sent to the repository administrator: [email protected] Automatic deployment of distributed software systems: Definitions and state of the art a, a b Jean-Paul Arcangeli ∗, Raja Boujbel , Sébastien Leriche a Université de Toulouse, UPS, IRIT, 118 Route de Narbonne, F-31062 Toulouse, France b Université de Toulouse, ENAC, 7 Avenue Édouard Belin, F-31055 Toulouse, France a b s t r a c t Deployment of software systems is a complex post-production process that consists in making software available for use and then keeping it operational. It must deal with constraints concerning both the system and the target machine(s), in particular their distribution, heterogeneity and dynamics, and satisfy requirements from different stakeholders. In the context of mobility and openness, deployment must react to the instability of the network of machines (failures, connections, disconnections, variations in the quality of the resources, etc.).
    [Show full text]
  • Devops Point of View an Enterprise Architecture Perspective
    DevOps Point of View An Enterprise Architecture perspective Amsterdam, 2020 Management summary “It is not the strongest of the species that survive, nor the most intelligent, but the one most responsive to change.”1 Setting the scene Goal of this Point of View In the current world of IT and the development of This point of view aims to create awareness around the IT-related products or services, companies from transformation towards the DevOps way of working, to enterprise level to smaller sizes are starting to help gain understanding what DevOps is, why you need it use the DevOps processes and methods as a part and what is needed to implement DevOps. of their day-to-day organization process. The goal is to reduce the time involved in all the An Enterprise Architecture perspective software development phases, to achieve greater Even though it is DevOps from an Enterprise Architecture application stability and faster development service line perspective, this material has been gathered cycles. from our experiences with customers, combined with However not only on the technical side of the knowledge from subject matter experts and theory from organization is DevOps changing the playing within and outside Deloitte. field, also an organizational change that involves merging development and operations teams is Targeted audience required with an hint of cultural changes. And last but not least the skillset of all people It is specifically for the people within Deloitte that want to involved is changing. use this as an accelerator for conversations and proposals & to get in contact with the people who have performed these type of projects.
    [Show full text]
  • Code Debugging Tool to Help Teach Mainframe Programming Languages Claudio Gonçalves Bernardo Paulo Roberto Chineara Batuta Msc
    Code Debugging Tool to Help Teach Mainframe Programming Languages Claudio Gonçalves Bernardo Paulo Roberto Chineara Batuta MSc. Computer Engineer MBA Software Quality Universidade Paulista Centro Universitário Araraquara Brazilia – Brazil São Paulo - Brazil [email protected] [email protected] Abstract – The purpose of testing activity is to discover errors in important to check the quality of software at various stages of software and for this objective to be achieved many activities development, not only restricting the testing phase of the software. must be performed. There are several types of test and while An appropriate test is one that discovers the greatest possible some are generated and focused on functional verification of a number of faults in the software and when this software is designed component and incorporating components in the structure of the to run in an large environment, also known as Mainframe, becomes program, others are applied to point traceability requirements. an even greater difficulty, since this environment is complex and the There are systems tests designed to validate part of a software characteristics of each facility are different. Universities see this component, which is a part of software solution greater. Its difficulty as a major obstacle to the teaching of languages such as function is only to be a small part of a more complex reality. The Cobol, PL/I, Easytrieve, Assembler and others, who did not die and different types of tests are complementary and in most cases are will not die, as a single system mainframe can deliver thousands of applicable to all software developed. All aim to develop programs virtual Linux platforms with a small fraction the dollar cost, power with the fewest mistakes as possible, allowing the product to and space [20].
    [Show full text]
  • Radiant Info School Project Management Project Management
    Radiant info school Project Management Project Management Life Cycle Managing your digital media project is one of the most important and often overlooked aspects of the development process. You will find that effort you put into planning, scheduling, and organizing your project will pay off enormously. Here we'll outline some proven techniques for planning, scheduling, and completing your project. A project has five phases. Here's a brief summary of each: . Initiation Articulate your vision for the project, establish goals, assemble your team, and define expectations and the scope of your project. Develop a Business Case Undertake a Feasibility Study Establish the Project Charter It will help you to define the scope of your project. Writing the Project Charter is typically one of the most challenging steps in the Project Life Cycle, as it defines the parameters within which the project must be delivered. It sets out the project vision, objectives, scope and implementation, thereby giving the team clear boundaries within which the project must be delivered. Appoint the Project Team Set up the Project Office Perform Phase Review Radiant info school Project Management . Planning Refine the scope, identify specific tasks and activities to be completed, and develop a schedule and budget. Create a Project Plan Create a Resource Plan Create a Financial Plan Create a Quality Plan Create a Risk Plan Create an Acceptance Plan Create a Communications Plan Create a Procurement Plan Contract the Suppliers Define the Tender Process Issue a Statement of Work Issue a Request for Information Issue a Request for Proposal Create Supplier Contract Perform Phase Review execution Build Deliverables Monitor and Control Perform Time Management Perform Cost Management Perform Quality Management Perform Change Management This process helps you to manage all requests for change within your project.
    [Show full text]
  • Planning in Software Project Management
    PLANNING IN SOFTWARE PROJECT MANAGEMENT AN EMPIRICAL RESEARCH OF SOFTWARE COMPANIES IN VIETNAM Thesis presented to the Faculty of Economics and Social Sciences at the University of Fribourg (Switzerland) in fulfillment of the requirements for the degree of Doctor of Economics and Social Sciences by Quynh Mai NGUYEN from Vietnam Accepted by the Faculty of Economics and Social Sciences on May 30th, 2006 at the proposal of Professor Dr. Andreas Meier (first advisor) Professor Dr. Jacques Pasquier (second advisor) Professor Dr. Laurent Donzé (third advisor) Fribourg, Switzerland 2006 The Faculty of Economics and Soci al Sciences at the University of Fribourg neither approves nor disapproves the opinions expressed in a doctoral dissertati on. They are to be considered those of the author (decision of the Faculty Council of January 23rd, 1990). To my parents, and To Phuong and Trung, my children ACKNOWLEDGEMENT I would like to express my extreme gratitude to Prof. Dr. Andreas Meier for his guidance, encouragement and helpful supervision during the process of this thesis. I would like to thank Prof. Jacques Pasquier and Prof. Laurent Donzé for their review and comments. My special thanks also go to Dr. Fredric William Swierczek for his invaluable help, advices and suggestions for improvement. Without their help and advice this dissertation could not be completed. I would like to thank my friends, Dr. Bui Nguyen Hung, and Dr. Nguyen Dac Hoa, Mrs. Nguyen Thuy Quynh Loan for their assistance and helpful suggestions and contributions. I would like to thank the government of Switzerland and the Swiss – AIT – Vietnam Management Development Program (SAV) for giving me the scholarship for this PhD program.
    [Show full text]
  • Creating Integrated IBM Websphere Solutions Using Application Lifecycle Management
    Front cover Creating Integrated IBM WebSphere Solutions using Application Lifecycle Management Creating an end to end solution using the WebSphere portfolio Delivering effective application lifecycle management using CLM Increasing control and agility using BPM and ODM Emrah Barkana Antonella Bertoletti Stefano Bussaglia Ernest Calalang Sebastian Kapciak Leonardo Olivera Sergio Polastri Fabio Silva ibm.com/redbooks International Technical Support Organization Creating Integrated IBM WebSphere Solutions using Application Lifecycle Management December 2014 SG24-8243-00 Note: Before using this information and the product it supports, read the information in “Notices” on page vii. First Edition (December 2014) This edition applies to IBM Rational Collaborative Lifecycle Management V4.0.6, WebSphere Application Server V8.5.5, WebSphere Liberty Core 8.5.5, IBM Worklight V6.2, and DB2 V10.5.3. © Copyright International Business Machines Corporation 2014. All rights reserved. Note to U.S. Government Users Restricted Rights -- Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. Contents Notices . vii Trademarks . viii IBM Redbooks promotions . ix Preface . xi Authors. xi Now you can become a published author, too! . xiv Comments welcome. xiv Stay connected to IBM Redbooks . .xv Chapter 1. Introduction. 13 1.1 Business integration problems . 14 1.2 The business scenario . 14 1.3 Application Lifecycle Management . 15 1.4 Using this book . 16 1.4.1 Goals and objectives. 17 1.4.2 How this book is organized . 17 Chapter 2. Solution overview. 19 2.1 The solution architecture. 20 2.2 Middleware products used for the solution . 20 2.2.1 Additional solution artifacts . 21 2.2.2 Integration of the components .
    [Show full text]
  • Software Deployment and Update Overview
    SSooffttwwaarree DDeeppllooyymmeenntt aanndd UUppddaattee User Guide Version R95 English February 4, 2021 Copyright Agreement The purchase and use of all Software and Services is subject to the Agreement as defined in Kaseya’s “Click-Accept” EULATOS as updated from time to time by Kaseya at http://www.kaseya.com/legal.aspx. If Customer does not agree with the Agreement, please do not install, use or purchase any Software and Services from Kaseya as continued use of the Software or Services indicates Customer’s acceptance of the Agreement.” ©2019 Kaseya. All rights reserved. | www.kaseya.com Contents i Software Deployment and Update Overview Contents Software Deployment and Update Overview ............................................................................................. i Software Deployment and Update Module Minimum Requirements ............................................. ii Getting Started .................................................................................................................................... iii Master Catalog and Local Software Catalog.................................................................................... iii Profiles, Assignment and Deployment .............................................................................................. v Scanning ............................................................................................................................................... v Deployment Options ..........................................................................................................................
    [Show full text]
  • Introduction to Devops on AWS
    Introduction to DevOps on AWS October 2020 Notices Customers are responsible for making their own independent assessment of the information in this document. This document: (a) is for informational purposes only, (b) represents current AWS product offerings and practices, which are subject to change without notice, and (c) does not create any commitments or assurances from AWS and its affiliates, suppliers or licensors. AWS products or services are provided “as is” without warranties, representations, or conditions of any kind, whether express or implied. The responsibilities and liabilities of AWS to its customers are controlled by AWS agreements, and this document is not part of, nor does it modify, any agreement between AWS and its customers. © 2020 Amazon Web Services, Inc. or its affiliates. All rights reserved. Contents Introduction .......................................................................................................................... 1 Continuous Integration ........................................................................................................ 2 AWS CodeCommit ........................................................................................................... 2 AWS CodeBuild ................................................................................................................ 3 AWS CodeArtifact ............................................................................................................ 3 Continuous Delivery ...........................................................................................................
    [Show full text]