Working with Applications
As an Application Developer, you manage Applications and their dynamic properties. You can also create Application Packs to export/import Applications and work with them in other systems.
Important! The actions that you can perform depend on your folder permissions. See: Assigning Release Automation Permissions.
This page includes the following:
Applications are managed within the Applications main section of the Release Automation perspective.
Tip: For more information about how search for entities and narrow down the results, see Advanced Search.
From this list you can:
- See a list of Applications you have read access to
- Edit the properties of an Application from the sidebar
- Trigger the most common Actions from the toolbar
- Click the left icon or hover over the Application name on the column header to access its full functionality
To open it, click Applications on the navigation pane and double-click an Application. The dashboard is divided into several panes that provide the following information:
- All its Components sorted by name
- All its Deployment Packages sorted by date of creation, the most recent being the first of the list
- All its Deployment Profiles sorted by status, then by name
- The Environment to which each Deployment Profile links the Application
- All its Workflows sorted by name
-
All its current Executions with their (planned) start time
Note: For executions in queue runs the name of the queue is shown (instead of the start time).
-
All its current Installations grouped by components
An installation is represented by its target. Components in the Installations panel are not selectable or interactive in any way, they simply provide a visual grouping of the installations
Note: Right-click an entity to see the list of actions available.
Information Icons
The state of Deployment Profiles and Installations is indicated by icons. If more than one state applies, the icon with the highest rank (the lowest number) is shown.
The following icons are available:
Rank | Information icon | Description |
---|---|---|
1 | Green square with white triangle | At least one installation on a Target in this Deployment Profile is running. |
2 | Red square with white x | At least one current installation on a Target in this Deployment Profile has failed. |
3 | Red square with white exclamation mark | At least one snapshot validation failed for a Target included in this Deployment Profile. |
4 | Target icon with red exclamation mark | At least one target included in this Profile has an Agent offline. |
5 | Gray square with white tick | All current installations on this Profile were successfully installed. |
For execution status, see Viewing Workflow Executions and Queue Runs
Viewing Application Installations
The Installations list helps developers and release managers track the installation status of an Application by providing an overview of the Components that are installed on the Deployment Targets, the Artifacts deployed (if any), and other entities used for the deployment.
Note: As an Operator, you access the Comparisons view to compare the installations of an Application on two Environments, for example, Test compared to Production Environment.
To View Application Installations
- Open the Release Automation perspective.
- Select the Applications tab.
- Right-click an Application and select Go to details > History > Installations.
The view presents the following columns:
- Environments: Environments on which the Application has been deployed
- Component: Components deployed on the Deployment Targets
- Deployed Artifact: name of the set of files that are defined by the Artifact Source. Only the last successfully deployed Artifact is shown.
- Deployment Target: endpoints on which the Components have been deployed
- Package: Application instance
- Profile: entity linking the Component to the Deployment Target
- Deployed On: deployment date
- Status: latest deployment status of the Application
Notes:
You can change the installation status if:
- You have write permission on the Execution
- The Component deployment is in status Canceled, Failed, or Finished
- Refresh the view to show the new status
- After the data in the database has been updated, the installation time is set to the current time and history records are created for the Execution
Applications can be created from the Applications list or with the Application Wizard.
Creating Applications from the List
- Click the Create button in the toolbar. The Create Application dialog is displayed.
- Enter the name of the new Application, which has to be unique and may only contain alphanumeric characters, blanks, ".", "-", "_", "@", "$", "#".
- Enter the Application type. All types on which you have create permissions can be selected.
Important! The selected Application type cannot be changed after creation.
- Enter the name of the folder where you want to store your Application.
Note: Avoid folder names containing a period character. Period characters may cause ambiguity in Application Workflows.
- Enter the owner of the Application. The current user is selected by default.
- Click Create.
Creating Applications Using the Wizard
The Application wizard guides you through the necessary steps and speeds up the creation of an entire application stack from scratch including extra required objects.
Note: Avoid folder names containing a period character. Period characters may cause ambiguity in Application Workflows.
When creating an Application, consider the following:
- Names must be unique
- The recommended naming convention is [APPLICATION]_[Specific Process], [COMPONENT]_[Specific Process] and so on
- Space characters are replaced by underscores in the folder name
- Special characters are not supported
- Name fields can contain up to 255 characters
- Where applicable, you can select an existing folder or you can create a new one
To Create an Application with the Application Wizard
-
Click the Run Wizard button in the toolbar. The Application Wizard is displayed.
Note: Select the Show only mandatory properties checkbox that is displayed for every step if you want to define only the minimum properties required to create the entities. Mandatory properties are defined according to the custom type configuration.
- On the Application page of the wizard, you can define the basics of the Application.
-
Add the Components to be deployed.
Two Components are included by default, one for the back-end and another one for the frontend. You can use them as they are or edit them according to your needs.
You need one Component per application artifact. Components should be defined so that they typically reflect the tiers of a distributed application.
Note: You can add up to ten components.
-
Define a new Application Workflow to deploy/undeploy the Components. You have to fine-tune the workflow later.
As a Workflow is part of an Application, it is not necessary for the Workflow to contain the Application name. Workflow names should only contain its purpose (for example, install, deploy-simple, deploy-complete, uninstall).
Select a type depending on the purpose: install, uninstall
-
Select or create one or more Environments to store the targets where the Components are deployed.
Generic environments are typically used if all application teams work with the same Environments and if the properties on the Environments, if existing, apply to all Applications. In this case, a Development Environment would contain Deployment Targets for multiple Applications. Therefore, if no physical separation is required between Application Environments, Generic environments can be used. Examples of generic environments which could be implemented are: TEST, QA, or PRODUCTION.
If a physical separation is required, Application Environments have to be created. This is the case if different properties are required on the Environments for each Application or if there are different infrastructure teams managing the Environments.
The default type is non-Production.
-
Define the Deployment Targets for each Environment.
You can assign the Agent to be referenced by the target now or you can do it later, after finishing the wizard.
Note: You can define a maximum of 30 Deployment Targets for each Environment.
-
Define the Profile, which is the connecting map between Components and Targets.
In the lower section of the Profile page, map the components to the targets where you want them to be deployed.
-
Define the Package, which is dynamic and contains all Application Components.
A Package represents an instance (a version, a revision, a tag, …) of your deployable application by pointing to the related deployment artifacts.
Pointers can be full URIs to the source location of artifacts or simply the revision or tag uniquely identifying this version in a repository.
- The Summary page displays all entities that are created via the Application Wizard. Review them and click Finish to complete the creation process.
As an Application Developer, you can easily export/import Applications and their related entities via Plug-in Manager/Package Manager. To do this, you must create Application Packs containing the serialized content of an Application first.
To Create an Application Pack
Important!
- The override properties of the entities are ignored.
- AE objects stored outside the Application folder or not related to any Action Pack cannot be included in the Application Pack. Consider adding them to the Application folder in the Process AssemblyExplorer before creating the Pack.
- Go to the Release Automation perspective.
- Do one of the following:
- Right-click an Application and select one of the following options:
Add to Application Pack
Click it to create a new Application Pack.
Application Pack > Save
If a Pack for this Application already exists, this option is shown instead. Click it to update the information that is contained in the Pack.
- Double-click an Application to open it and click the Properties tab.
Click the Application Pack drop-down in the toolbar and select Save.
- Right-click an Application and select one of the following options:
-
Enter a new title (name) for the Application Pack or edit the existing one:
- The recommended naming convention is PCK.APP.[Application Pack Name]
- Name/Title fields can contain up to 255 characters
- The name must be unique and may only contain alphanumeric characters, ".", "-", "_", "@", "$", "#"
- Special characters and space characters are not supported. They are replaced by underscores.
- Click Add/Save.
- Saving your changes creates a new minor version of the Pack. For example: 1.0.0 > 1.1.0
- If the Application uses objects that are stored outside the Application folder or that are not related to any Action Pack, you are prompted to confirm the creation of the Application Pack without the objects. Alternatively, you can cancel the creation process, add the objects to the Application folder, and start again.
- The new Application Pack is created in the PACKAGES folder of the Process Assembly perspective
Notes:
- Dependencies on the custom type versions installed by Action Packs and used by the Application are also included in the Application Pack.
- The Application you want to create an Application Pack from may use custom types and custom type versions which do not belong to any Action Pack. In this case, the corresponding custom types will be included in the Pack and installed on the target system while importing the Application.
- Custom types on the target system with the same name and version number as the custom types included in the Pack are not overwritten and are used by the imported Application.
- The new custom type version that is imported into the target system will be in state "IN USE". See: Quick Actions.
- The custom type version with status "ACTIVE" is not changed on the target system. That is, every new Component that is created after installing an Action Pack will use the active custom type version (and not necessarily the new version imported with the Application Pack).
- Creating an Application Pack may take a while. The process runs in the background. You are notified when the process is complete.
- Non-existing Application Pack folders are created automatically on the target system by the background user.
- If the owner of the entity does not exist on the target system, the admin user is used instead. If an admin user is not available, the sync fails.
- Application Packs can only be replaced with a higher version of the same Application Pack. If you want to install a lower version, you must remove the current Application Pack first.
- If an Application does not have an Application Pack version and you install an Application Pack of this Application (created in another instance), the existing data will be replaced by the data in the Application Pack.
New Application Folder Structure
As of version 12.2, Applications have a new folder structure in the Process Assembly:
[FOLD] ARA.APPLICATIONS [FOLD] {ARA Folder} [FOLD] {Application_01.Name}.{Application_01.Version} [FOLD] {Application_01.GUID} [JOBP|JOBS|...] {Legacy objects}-{Application_01.GUID}.{Application_01.Version} [JOBP] RM.{ARA Folder}.{Application_Workflow_01.Name}.{Application_Workflow_01.GUID} [JOBP] RM.{ARA Folder}.{Application_Workflow_02.Name}.{Application_Workflow_02.GUID} [FOLD] {Application_Workflow_01.GUID} [JOBP] RM.{ARA Folder}.{Component_01.Name}.{Component_01.GUID}.{Application.Version}.{Component_01.Version1} [JOBP] RM.{ARA Folder}.{Component_02.Name}.{Component_02.GUID}.{Application.Version}.{Component_02.Version1} [JOBP] RM.{ARA Folder}.{Component_02.Name}.{Component_02.GUID}.{Application.Version}.{Component_02.Version2}.1 [FOLD] {Application_Workflow_02.GUID} [JOBP] RM.{ARA Folder}.{Component_01.Name}.{Component_01.GUID}.{Application.Version}.{Component_01.Version1} [JOBP] RM.{ARA Folder}.{Component_01.Name}.{Component_01.GUID}.{Application.Version}.{Component_01.Version2} [JOBP] RM.{ARA Folder}.{Component_02.Name}.{Component_02.GUID}.{Application.Version}.{Component_02.Version1}
Important! The Component and Workflow names are also different.
Editing the Properties of Applications
To change the properties of an Application, you can use one of the following:
- The Application Sidebar next to the Application list
- The Properties section of an Application
You can see/change the following Application properties:
-
Basic attributes of the Application. You can edit the Name, Folder, and Owner.
-
Application Pack
Version, name, and folder of the Application Pack created from this Application.
-
The description is limited to 4000 characters.
-
Actions are located in the toolbar. They can be also triggered from the context menu that is displayed after right-clicking the entity. You can trigger the following actions (depending on your permissions):
- Duplicate: see Duplicating Applications
- Export: exports the Application definition in CSV format.
- Delete: see Deleting Applications.
- Archive: archives the selected entity. If an entity is archived, Restore is available (see also: Archiving Entities)
-
This panel shows errors and warnings in the context of the current Application. If there are no errors or warnings, the panel is not displayed.
-
The selected object may have more properties and property groups, that are defined by the administrator. If defined, these properties are shown in the sidebar as separate panels and you can edit them.
Applications allow you to define dynamic properties that can be used in deployments in the Dynamic Properties section. You may also overwrite/add dynamic properties of the Components that belong to the Application. See About Properties.
The following system-defined dynamic properties are available in addition to the custom dynamic properties and the custom properties (in the /custom namespace):
Property |
Description |
---|---|
/system/name |
The Application name |
/system/type |
The Application type |
/system/owner |
The display name of the owner to which the Application belongs. |
Note: You can also search for dynamic properties using the Global Search.
Important! You need read and write permissions on the Application sub-entities to perform this action. See: Required Folder Authorizations
- Click the Duplicate button in the toolbar.
-
Optionally, enter a new name for the Application.
An Application name can only contain alphanumeric characters, blanks, ".", "-", "_", "@", "$", "#"".
- Select a destination folder.
- Select an owner for the new Application.
The owner of the original Application is selected by default.
The following information is NOT copied to the new Application:
- Package Relations
- History Records
- Component Related Packages
- Component History Records
- Value of properties of type Identity
Note: After creation, you are redirected to the properties page of the new Application.
-
Right-click the entity and select Delete.
Note: You may only delete the entity when you have the appropriate permission on the containing folder (see Security Concept in CDA) and all of the listed conditions are met.
Conditions to delete entities of type Application
- Not referenced by any Package
- Not referenced by any environment Snapshot
- All assigned Components can be deleted - that is the case when the conditions to delete the Components are fulfilled for all Components assigned to the application
- All assigned Deployment Profiles can be deleted - that is the case when the conditions to delete the Deployment Profiles are fulfilled for all Deployment Profiles assigned to the Application
Important! When you delete an Application in the Release Automation perspective, the corresponding Application Pack and Package that are displayed in the Process Assembly are deleted too.
Naming Conventions
Tip: Create all entities in capitals. Entity names should not contain any spaces. If necessary, use "_" instead of spaces.
Application names should refer to the overall Application, not to any individual components. The naming conventions that are applied for Applications are as follows:
- [APPLICATION]
If further granularity is needed, the specific functionality is described after a suffix:
- [APPLICATION]_[Specific Process]
Attributes
The following attributes should be considered when defining an Application:
Attribute |
Description |
---|---|
Deployment Frequency |
When breaking down the Application and defining the Components, the deployment frequency has to be planned for each Component. If, for example, Components x,y,z are deployed on a weekly basis but Components a,b,c are deployed on a three-month basis, it could be useful to split the Components into different Applications. |
Component Relationship & Dependencies |
You should define whether two ear files (each assigned to an own Component) can be deployed independently or not. If they can be deployed without the existence of the other one, the Components could be split into two different Applications. This does not mean that each deployment always contains both Components. If a Component exists on the target Environment and it has not been changed, it can be excluded from a deployment and still belong to the same Application. Components should belong to the same Application if:
|
Mini & Generic Applications |
|
See also: