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: Folder 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 to search for entities and narrow down the results, see: Global Search
To open the list, click Applications on the navigation pane.
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, Profile and Package.
Note: For executions in queue runs the name of the queue is shown (instead of the start time).
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 (listed by importance):
-
Green square with white triangle
At least one installation on a Target in this Deployment Profile is running.
-
Red square with white x
At least one current installation on a Target in this Deployment Profile has failed.
-
Red square with white exclamation mark
At least one snapshot validation failed for a Target included in this Deployment Profile.
-
Target icon with red exclamation mark
At least one target included in this Profile has an Agent offline.
-
Gray square with white tick
All current installations on this Profile were successfully installed.
Notes:
- For execution status, see Viewing Application Deployments
- You can also access the Application deployed by a Workflow from the Workflow Editor. See: Creating Workflows
Viewing Application Installations
Viewing Application Executions
See Executing Application Deployments
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, ., -, _, @, $, #.
- Select the Application type. All custom types on which you have create permissions can be selected.
Important! The selected Application type cannot be changed after creation. See: Working with Custom Types.
- 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. You can select the current user or one of the user groups the user belongs to as owner (or one of all active user groups for administrators). To assign a different user, edit the entity after creating it.
- 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 backend 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.
Creating/Updating Application Packs
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!
- 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 Assembly Explorer before creating the Pack.
- The override properties of the entities are ignored.
To Create Application Packs (GUI)
- 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 an 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.
-
Enter a new version number or leave the default value.
Notes:
- If the default value remains unchanged, saving your changes creates a new minor version of the Pack.
- For manually defined versions, only semantic versioning is supported. Example: 1.0.0+HF.1
- Click Add/Save.
- 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 that are 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 are 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 that are 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 that is 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.
- An imported Application Pack is only compatible with the exact same version of the Action Packs used in the origin system.
- The sort order of Components and prompts is persisted. For more information, see Creating Dynamic Properties.
- 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.
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.
-
Recent Installations
This panel displays the latest five Components deployed and the related Application Package and Artifact assigned (if any). Click on Show all Installations to open the Installations view.
-
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):
-
- Create: see Creating Applications
- Run the Application Wizard: see Creating Applications Using the Wizard.
- Executions: Opens the Executions view. See Monitoring Application Deployments
- Execute: Triggers the Deployment Workflow. See Executing Application Deployments
- 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 Archiving Entities)
Note: You can also archive Applications from the search results view. For more information, see: Global Search
-
- Executions: Opens the Executions view. See Monitoring Application Deployments
- Installations: See Application Installations
- Add to Application Pack: See Creating Application Packs
- Execute: Triggers the Deployment Workflow. See Executing Application Deployments
- Duplicate: see Duplicating Applications
- Delete: see Deleting Applications.
- Archive: archives the selected entity. If an entity is archived, Restore is available (see Archiving Entities)
Note: You can also archive Applications from the search results view. For more information, see: Global Search
-
-
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 Working with Dynamic Properties.
The following system-defined dynamic properties are available in addition to the custom dynamic properties and the custom properties (in the /custom namespace):
-
/system/name
Application name
-
/system/type
Application type
-
/system/owner
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
Notes:
- The sort order of Components and prompts is copied to the new Application. For more information, see: Creating Dynamic Properties
- After creation, you are redirected to the properties page of the new Application.
- You can also duplicate Applications from the search results view. For more information, see: Global Search
Note: You may only delete the entity when you have the appropriate permission on the containing folder (see Security Concept) 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.
Note: You can also delete Applications from the search results view. For more information, see: Global Search
To Delete an Application
-
Right-click the entity and select Delete.
To Delete an Application Deployment
Follow the steps below to delete the executions of an Application, its installations and related entities.
- Run the DBCleanup tool to delete all executions: Working with the Clean-up Utility. Deleting the executions also deletes the Application installations. See:Application Installations.
- Delete the Package, Profile, Component, and Workflow related to the Application.
Important! Workflows in status active cannot be deleted. You can deactivate them from the Process Monitoring perspective.
-
Delete the Application.
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: