Mobile Agents and Software Deployment
Total Page:16
File Type:pdf, Size:1020Kb
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.