- Software deployment
Software deployment is all of the activities that make a
software systemavailable for use.
The general deployment process consists of several interrelated activities with possible
transitions between them. These activities can occur at the producer site or at the consumer site or both. Because every software systemis unique, the precise processes or procedures within each activity can hardly be defined. Therefore, "deployment" should be interpreted as a "general process" that has to be customized according to specific requirements or characteristics. A brief description of each activity will be presented later.
The release activity follows from the completed development process. It includes all the operations to prepare a system for assembly and transfer to the customer site. Therefore, it must determine the resources required to operate at the customer site and collect information for carrying out subsequent activities of deployment process.
Activation is the activity of starting up the
executablecomponent of software. For simple system, it involves establishing some form of command for execution. For complex systems, it should make all the supporting systems ready to use.
In larger software deployments, the working copy of the
softwaremight be installed on a production server in a production environment. Other versions of the deployed software may be installed in a test environment, development environmentand disaster recovery environment.
Deactivation is the inverse of activation, and refers to shutting down any executing components of a system. Deactivation is often required to perform other deployment activities, e.g., a software system may need to be deactivated before an update can be performed.
adaptationactivity is also a process to modify a software system that has been previously installed. It differs from updating in that adaptations are initiated by local events such as changing the environment of customer site, while updating is mostly started from remote software producer.
The update process replaces an earlier version of all or part of a software system with a newer release.
Mechanisms for installing updates are built into some software systems. Automation of these update processes ranges from fully automatic to user initiated and controlled.
Norton Internet Securityis an example of a system with a semi-automatic method for retrieving and installing updates to both the antivirus definitions and other components of the system. Other software products provide query mechanisms for determining when updates are available.
"Version tracking systems help the user find and install updates to software systems installed on PCs and local networks.""Web based" version tracking systems notify the user when updates are available for software systems installed on a local system. For example: VersionTracker Pro checks software versions on a user's computer and then queries its database to see if any updates areavailable.
"Local" version tracking system notifies the user when updates are available for software systems installed on a local system. For example:
Software Catalogstores version and other information for each software package installed on a local system. One click of a button launches a browser window to the upgrade web page for the application, including auto-filling of the user name and password for sites that require a login.
"Browser based" version tracking systems notify the user when updates are available for software packages installed on a local system. For example:
wfx-Versionsis a Firefox extension which helps the user find the current version number of any program listed on the web.
Uninstallation is the inverse of installation. It is a remove of a system that is no longer required. It also involves some reconfiguration of other software systems in order to remove the uninstalled system’s files and dependencies. This is not to be confused with the term "deinstall" which is not actually a word.
Ultimately, a software system is marked as
obsoleteand supportby the producers is withdrawn. It is the end of the life cycle of a software product.
* Standardization efforts
** [http://www.w3.org/Submission/2004/04/ Solution Installation Schema Submission request to W3C]
** [http://www.oasis-open.org/committees/sdd/charter.php OASIS Solution Deployment Descriptor TC]
** [http://www.omg.org/docs/mars/03-05-08.pdf OMG Specification for Deployment and Configuration of Component-based Distributed Applications] (OMG D&C)
** [http://jcp.org/en/jsr/detail?id=88 JSR 88: Java EE Application Deployment]
** [https://www14.software.ibm.com/webapp/iwm/web/preLogin.do?lang=en_US&source=swg-tfosd&S_TACT=105AGY59&S_CMP=WIKIWP&ca=dtl-2108wp5 The Future of Software Delivery] - free developerWorks whitepaper
** Carzaniga A., Fuggetta A., Hall R. S., Van Der Hoek A., Heimbigner D., Wolf A. L. — A Characterization Framework for Software Deployment Technologies — Technical Report CU-CS-857-98, Dept. of Computer Science, University of Colorado, April 1998. http://serl.cs.colorado.edu/~carzanig/papers/CU-CS-857-98.pdf
OSGi, JNLP, RPM, RubyGems
Wikimedia Foundation. 2010.
Look at other dictionaries:
Software deployment — Softwareverteilung (engl. deployment) nennt man Prozesse zur Installation von Software auf Anwender PCs oder Servern in Betrieben. Viele Anwender verfügen nicht über die notwendigen Kenntnisse oder Berechtigungen, um Software Applikationen selbst … Deutsch Wikipedia
software deployment — noun All the activities employed in making software ready for use … Wiktionary
Software development process — Activities and steps Requirements Specification … Wikipedia
Software Asset Management — (SAM) is a business practice that involves managing and optimizing the purchase, deployment, maintenance, utilization, and disposal of software applications within an organization. According to the Information Technology Infrastructure Library… … Wikipedia
Software as a service — (SaaS, typically pronounced sass ) is a model of software deployment where an application is hosted as a service provided to customers across the Internet. By eliminating the need to install and run the application on the customer s own computer … Wikipedia
Software product management — is the process of managing software that is built and served as a product as opposed to a serviceoftware productsA software product is typically a single application or suite of applications built by a software company to be used by *many*… … Wikipedia
Deployment — may refer to: Deployment flowchart, a process mapping tool used to articulate the steps and stakeholders of a given process System deployment, transforming a mechanical, electrical, or computer system from a packaged form to an operational state… … Wikipedia
Software engineering — (SE) is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software, and the study of these approaches; that is, the application of engineering to software. It is the… … Wikipedia
Software documentation — or source code documentation is written text that accompanies computer software. It either explains how it operates or how to use it, and may mean different things to people in different roles. Contents 1 Role of documentation in software… … Wikipedia
Software development — is the translation of a user need or marketing goal into a software product. [cite book|author=Birrell, N.D.|title=A Practical Handbook for Software Development|publisher=Cambridge University Press|year=1985|id=ISBN 0 521 25462 0] [cite… … Wikipedia