Common Understanding Wiki
A Common Knowledge Source of Terms and Definitions
Development and Operation Terminology
Software Bundle #
A software bundle is an individually distributable software binary. Examples for software bundles include the Java Runtime Environment, the Tomcat servlet container, or a servlet implementation.
A software bundle may require to be linked to another software bundle in order to be used properly. For the example, the servlet requires the servlet container, the container requires the Java Runtime Environmet, and the Jave Runtime Environment requires the operating system.
Software Component #
A software component is the transitive closure of all Software Bundles required to run an operating system process. In the example presented with the Service Bundle definition, the set of Java Runtime Environment, Tomcat container, and servlet constitutes a single component.
A software component that provides mechanisms that allow it to be accessed remotely once instantiated is a Remote Service.
Software Component Deployment\\ #
The deployment of a software deployment captures the necessary steps to instantiate the software component on a dedicated host (physical or virtual) and creates a Software Component Instance.
Software Component Instance\\ #
A Software Component Instance is a Process running on an operating system. A Software Component may be instantiated multiple times in the same application (e.g. an application server).
Service Deployment #
All of the activities and organization needed to make a cloud service available.
(Cloud) Service Management #
(Cloud) Service Management includes all the service-related functions that are necessary for the management and operations of those services required by or proposed to customers.
Application Programming Interface (API) #
An application programming interface (API) is a set of routines, protocols, and tools for building software applications. An API expresses a software component in terms of its operations, inputs, outputs, and underlying types. An API defines functionalities that are independent of their respective implementations, which allows definitions and implementations to vary without compromising each other.
Continous Integration #
In software engineering denotes the practise of merging all developer working copies with a shared mainline several times a day. The main motivation behind this process is to obtain the capability to deliver a new release when required and not when ready.