Applications

As an Application Developer, you create Applications as a first step to design a new CDA Deployment Model. Applications are the core entity of CDA.

An Application is the main container of the deployment model and typically consists of multiple Components. As an example, your Application may consist of two Components, a web application and a database component. Each Application Component uses a specific technology such as Apache Tomcat or a Microsoft SQL database. The Application entity also includes component-related Workflows to install, upgrade, or remove Application Components.

Note: The following graphic illustrates the role of Applications in the Deployment Model. Select the image to expand it.

Graphic depicting role of applications in deployment model

An Application bundles individual Components with their related Component Workflows (to install, upgrade or remove Application Components) and dynamic property definitions. Application Workflows, which are used to connect individual Component Workflows into overall deployment sequences, are also contained in an Application. So are application-level dynamic property definitions, which are shared between Components.

The granularity and scope of an Application is specific to an organization. Typically, an Application is a piece of software (and possibly related configurations), which must be released and deployed as a whole.

In CDA, you can give arbitrary names to Applications and deployment Packages. However, we strongly suggest introducing a consistent versioning schema across all your Applications that allows to identify successor/predecessor relationships quickly. See: Application Best Practices.

Deployment Packages reference the Application that they change or create, and optionally Components within the Applications. If a Deployment Package points to an Application but to none of its Components, it means that the modified Components are not known (yet). If a Deployment Package points to concrete Components of an Application, it means that only the referenced Components are created/modified by the Package.

See also: