Page tree
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Current »


On this page:

Section summary

As a pre-condition of a CAST AIP analysis and to understand the application from a technical and value perspective, CAST recommends gathering high level technical and non-technical information to help understand the target application for the analysis. The technical qualification will be used to establish what level of "out of the box" support CAST has for the application, identify any show-stoppers such as the use of unsupported technologies or frameworks and any potential customization that may be required to accommodate exceptions.

This "qualification" is primarily focused on identifying:

  • The main technologies in use, including versions
  • Estimated size of the application
  • Architectural questions about cross technology architecture, functional domains, etc
  • Technology specific questions giving insight into specific technical aspects and use of particular frameworks
  • Main contacts within the application team

The non-technical qualification will help to establish what level of potential value could be derived by analyzing the application. Questions are primarily focused on identifying:

  • Business related information e.g. criticality, number of users, major releases, etc.
  • Application information e.g. maturity level, package solutions in use, such as PeopleSoft, etc
  • Team organization e.g. maturity level of dev team, in house/out sourced dev, staff turnover, etc
  • Quality e.g. production downtime hours, number and type of support calls, known issues, etc. 

 Show me more about the Technical and Architectural review process...


This documentation is no longer maintained and may contain obsolete information. You should instead refer to Application onboarding.

Gather information about the application's technological composition and structure. For example, for a typical JEE application (for example) you should determine:

  • The JDK version used to compile the source code
  • The frameworks used and the version numbers
  • The different application layers
  • The archives (third-party)
  • The application server used to run the application

This information will support the "out of the box" analysis check and will help ensure that during the source code delivery validation you have access to all relevant application components. In the case of a J2EE application, this means ensuring the App Team has delivered, for example:

  • All the Java/JSP application source code, the relevant XML and .properties files and all the client files (HTML, JavaScript ...).
  • The deployment descriptor files required for EJB and Web Services analyses
  • The archives of libraries required to run the application, including those of the application server

As an example, in the case of a JEE application, many of the standard configurations such as Java version, use of standard framework etc. are automatically discovered by the CAST Delivery Manager Tool by parsing the project file and are included in the delivery package. These and other options can be overridden or manually configured by the CAST AI Administrator based on the information gathered in these forms or discovered by inspecting the delivered source code.

As such, the more thorough and complete the qualification step is, the less effort is required from the CAST AI Administrator to discover the correct analysis settings on his/her own by examining the delivered source code.

Recommended approach...

The recommended approach for executing this, would be to forward the forms Technical Surveys to application team stakeholders for completion and follow-up with a potential meeting with all key application team stakeholders. The objectives of this meeting would include:

  • Review any information provided (accuracy, clarity, completeness, etc.) by the application team before the meeting
  • Document in the form any relevant missing information

The technical review may include the discovery of the analysis purpose. Understanding the Application team's intended use of the analysis results can help guide and direct the CAST AI Administrator in deciding whether "a good configuration is good enough". This may be the case for example when fine tuning transaction identification: depending on the specific analysis use case, it may be sufficient to identify perhaps less than 70% of the expected transactions where in other cases a more precise tune up of the configuration would be needed. Thus, an understanding of the analysis purpose could help optimize the analysis value vs. effort ratio.

Why is it important?

The information collected is used to:

  • Evaluate completeness of the delivered source code
  • Assess if an analysis with "out-of-the-box" support is possible and/or determine any potential solutions to address any limitations/constraints

Technology specific information

Please see the following pages for more information specific to each technology:

We have provided this as background information to ensure that the terminology used to describe elements in the source code is known by all.

Application architecture review

The Application architecture review aims to develop a high level understanding of the application architecture to help with the configuration of the analysis and the discovery of transactions. This meeting could include the Application Architect, Senior developer, etc. as appropriate.

Why is it important?

The information collected here is used to:

  • Evaluate completeness of the delivered source code
  • Ensure a complete and accurate analysis configuration
  • Support the configuration of transactions
  • Support Automated FP calculations

Onboard your Application in the CAST AIC Portal

Once the Application and the associated delivery process have been validated with the SME and the Application team, the AI technical coordinator registers the Application in the CAST AIC Portal and configures the CAST Delivery Manager to collect and deliver the source code to the CAST AIP platform.


 Show me how to register the Application in the CAST AIC Portal...


This documentation is no longer maintained and may contain obsolete information. AIC Portal is not supported since 31 December 2020. You should instead refer to Application onboarding.

Basic concepts

CAST AIC Portal

The CAST AIC Portal is a web application that is deployed on a supported Application Server (for example Apache Tomcat) in the local environment. It is designed to be accessed via a browser by the Delivery Manager(s) - when accessed, the CAST AIC Portal will "push" the CAST Delivery Manager Tool as a "local" installation on to the workstation of the Delivery Manager.

As such, multiple Delivery Managers can run the CAST Delivery Manager Tool on their own local machines and package only the source code they need to. Source code packaged by Delivery Managers is delivered to one central location (the Source Code Delivery Folder) managed by the CAST AIC Portal, which can then be retrieved by the AI Administrator using the CAST Management Studio (which is configured to retrieve the delivered source code from the central storage location managed by the CAST AIC Portal).

Note that the CAST AIC Portal contains a basic built in documentation that explains the main aspects of the Delivery process and how it works:

CAST Delivery Manager Tool

The CAST Delivery Manager Tool is a standalone application that entirely manages the discovery, selection, extraction and delivery of source code ready for analysis in the CAST Management Studio. It can be used in different scenarios and is designed to be flexible to accommodate most options. It is "pushed" by the CAST AIC Portal and is installed on the local workstation. It can be relaunched whenever required.

The Delivery Manager(s) is the person within the application team who is responsible for providing source code for analysis. The source code can be of different types including:

  • Raw source code files
  • Compressed archives containing source code
  • Access details of Source Code Management (SCM) systems
  • Access details for RDBMS

Regardless of the type of source code, the Delivery Manager(s) can use the CAST Delivery Manager Tool to package and deliver it to the CAST AIC Portal and then into the AI Center for analysis. There may be more than one Delivery Manager, for example when multiple technologies or distributed development teams are involved. The CAST AIC Portal supports and facilitates this distributed delivery model.

How many of each do I need?

CAST AIP schemas and Applications

CAST recommends that each Application you need to onboard and analyze with CAST is configured to have sole use of a "triplet" of CAST AIP schemas as follows:

Application 1 uses:

  • Management Service A
  • Analysis Service A
  • Dashboard Service A

If you need to analyze any additional Applications, CAST recommends that for each additional Application you install a new additional "triplet" of CAST AIP schemas:

Application 2 uses:

  • Management Service B
  • Analysis Service B
  • Dashboard Service B

Onboarding multiple Applications in the same triplet of CAST AIP schemas (while possible) can cause inter-Applications links to be created and other potentially undesirable side-effects.

With regard to Measurement Services that are required for the Health Dashboard, you can choose to:

  • Consolidate all Applications (regardless of whether their snapshot data is stored in multiple CAST Dashboard Services) in one Measurement Service - in this way, snapshot data from all Applications will be visible in one Health Dashboard
  • Consolidate each Application in a separate Measurement Service and Health Dashboard - this ensures that Application snapshot data is segregated.

Example setup

One example setup would be to:

  • Install all four CAST AIP schemas in one go and onboard the first Application
  • Install a "triplet" of CAST schemas in one go for each additional Application you want to onboard. Snapshot data from these Applications can be consolidated:
    • in the Measurement Service installed initially for the first Application (snapshot data for all Applications is consulted through one single Health Dashboard)
    • or can be consolidated in additional standalone Measurement Services (snapshot data is segregated and is consulted for each Application through a dedicated Health Dashboard for that Application)

CAST AIC Portal

CAST recommends using one CAST AIC Portal to manage source code for all Applications that you need to analyze with CAST. However, the CAST AIC Portal is CAST AIP version aware and can only manage Applications that are being administered with the same release of CAST AIP (in other words you cannot mix Applications that are being managed on CAST AIP 8.2.x with Applications that are being managed on CAST AIP 8.3.x - for example).

Please see Installing and configuring the CAST AIC Portal for more information.

Configuring domains and applications

As explained in CAST AIC Portal - Configuring user authentication, the configuration of Domains, Applications and the Delivery Manager role is achieved using the CAST AIC Portal GUI. Only a user that is a member of a group that has been assigned the Platform Administrator role (see also CAST AIC Portal - Configuring user authentication) can configure Domains, Applications and the Delivery Manager role, therefore you must first connect to the CAST AIC Portal with a user that has this role (for example the default "cast" user).

Configuring Domains


Note that:

  • domains are used to group Applications together and associate them to a group of users that will manage their delivery (Delivery Manager role).
  • Note that only a user with the Platform Administrator role can configure Domains.
  • Connect to the CAST AIC Portal using the defined URL, for example: http://server:8080/CAST-AICP
  • Login with a user that is a member of a group that has been assigned the Platform Administrator role, for example the "cast" user if you are using "Default Authentication", or another user that is a member of an LDAP group that has been configured with the Platform Administrator role
  • When successfully connected, a list of Domains will be displayed. If this is the first time you have connected to the CAST AIC Portal, the "Default domain" will be the only available domain and will show 0 Apps (Applications) associated to it:

  • You can either add your Applications to this default domain, or you can create a custom domain and add Applications to this new custom domain.

Creating a new domain

  • To create a new domain, click the Register button (if you do not see the Register button, you do not have the Platform Administrator role) and select Register new domain from the drop down list:

  • Enter a name for your new domain (in this example we are creating a domain called "Back Office" to group all our back office Applications together) and click the Register button:

Note that you can configure your Delivery Managers when creating the domain, however, this process is explained separately in Configure the Delivery Manager role.
  • Your new domain will be displayed alongside the Default domain and can now be used to register Applications:

Rename or delete an existing domain

  • To rename or delete an existing domain, click the three dots next to a domain name:

  • This will give you the choice of either editing the domain to rename it or deleting the domain entirely:

Note that if you attempt to delete a domain that contains Applications, the following confirmation message will be displayed:

Clicking OK will remove the domain and all its attached Applications. Any instances of the CAST Delivery Manager Tool that refer to an Application that has been deleted will no longer function.

Registering a new domain using the command line

If you want to employ an automated solution to create the domain and assign users and groups to this domain as Delivery Managers, you can do so using a command line tool provided with CAST AIP. Please see Automating CAST AIC Portal Configuration tasks for more information.

Configuring Applications

Note that only a user with the Platform Administrator role can configure Applications.
  • Connect to the CAST AIC Portal using the defined URL, for example: http://server:8080/CAST-AIC
  • Login with a user that is a member of a group that has been assigned the Platform Administrator role, for example the "cast" user if you are using "Default Authentication", or another user that is a member of an LDAP group that has been configured with the Platform Administrator role
  • When successfully connected, a list of Domains will be displayed. If this is the first time you have connected to the CAST AIC Portal, the "Default domain" will be the only available domain and will show 0 Apps (Applications) associated to it.
  • You can either add your Applications to this default domain, or you can create a custom domain and add Applications to this new custom domain (see section above about creating new domains).

Adding Applications to a domain

  • Click the Register button and select Register new Application from the drop down list:

  • A new interface will be displayed allowing you to choose the Domain you want the new Application to be associated to and the name of the new Application:

  • Choose the Domain you want to associate the Application to (in this example we are associating the new Application with the Back Office domain we created earlier):

  • Now enter a name for the new Application and click the Register button when ready:

Note that the Application Name field cannot contain any of the following characters: \ / : * ? " < > |

  • Your new Application will be displayed as follows:

Rename or delete an existing Application

  • To rename or delete an existing Application, click the three dots next to the Application's name (you may need to click the Domain name to "expand" the section in order to view the Applications):

  • This will give you the choice of either editing the Application to rename it or deleting the Application entirely:

Please note:

  • Deleting the Application will remove all trace of it, i.e. any Versions or Packages that have already been created/delivered will also be removed - this also applies to the CAST Management Studio - i.e. the Application will no longer be available to work on. Any existing instances of the CAST Delivery Manager Tool that refer to an Application that has been deleted will no longer function.
  • After renaming an Application, the Application name will also be updated in all associated tools - the CAST Management Studio and the CAST Delivery Manager Tool. However, to ensure the update is propagated correctly, you must do the following in the CAST Management Studio:
    • Use the File > Save All option (or save your modifications when exiting the CAST Management Studio) to ensure that the new Application name is saved in the Management Service schema
    • Run the Synchronize action manually in the CAST Management Studio (right click the CAST Dashboard Service and select Synchronize) or automatically as part of a another action (such as a snapshot generation) to ensure that the new Application name is saved in the Dashboard Service schema and is therefore displayed correctly in the CAST Application Engineering Dashboard (or the legacy CAST Engineering Dashboard):

    • Click the Upload Snapshots to Measurement Service option in the Application editor > Execute tab) to ensure that the new Application name is saved in the Measurement Service schema and is therefore displayed correctly in the Health Dashboard:

Moving the Application to a different domain

When moving the Application to another domain, all users belonging to groups assigned to the other domain will gain Delivery Manager rights on the Application you move.
  • To move an existing Application to another domain, click the three dots next to the Application's name:

  • Select the Edit option:

  • Choose the new Domain in the drop down list and clicking Update to make the changes:

Note about invalid Applications

Note that if an Application is deemed "invalid", it is displayed in the CAST AIC Portal in red:

The only option available is to delete the Application.

An Application is generally considered to be invalid if it has been registered in the CAST AIC Portal but does not exist in the Delivery folder.

Registering a new Application using the command line

If you want to employ an automated solution to create the Application, you can do so using a command line tool provided with CAST AIP. Please see Automating CAST AIC Portal Configuration tasks for more information.

 Show me how to configure the Delivery Manager role...


This documentation is no longer maintained and may contain obsolete information. AIC Portal is not supported since 31 December 2020. You should instead refer to Application onboarding.

On this page:

Delivery Managers and the Delivery Manager role

The single most important participant in the Delivery process is the Delivery Manager. This person or persons, will be responsible for delivering the source code of the Applications and participating databases for analysis.

Before your designated Delivery Managers can actually deliver the source code for Application(s), you need to grant them the Delivery Manager role. This is achieved in the CAST AIC Portal as follows:

  • by assigning a group or groups to a specific domain or domains - all users that are members of the group will then be automatically given the Delivery Manager role for ALL the Applications assigned to the domain(s) in question.
  • or by assigning an individual user to a specific domain or domains - the user will then be automatically given the Delivery Manager role for ALL the Applications assigned to the domain(s) in question.

When a user logs into the CAST AIC Portal, he/she will ONLY be able to see the Domains/Applications for which he/she has been granted the Delivery Manager role.

Note that CAST highly recommends that you read Register the Application in the CAST AIC Portal which explains in more detail about Domains and Applications and how to create them.

Assigning groups to domains

The notion of groups functions slightly differently according to the authentication method you are using for the CAST AIC Portal (see CAST AIC Portal - Configuring user authentication):

Authentication ModeBehaviour
Default Authentication

In order to gain the Delivery Manager role for a given Application, the user must be a member of a group that has been assigned to the Domain containing the Application in question. Users are assigned to groups using the application-security-default.xml configuration file (as explained in CAST AIC Portal - Configuring user authentication) - in the example below showing the addition of a user called "jhu", the user is assigned to a group named "DELIVERY_GROUP1":

<user-service>
   <user name="jhu" password="cast" authorities="DELIVERY_GROUP1"/>
</user-service>
Active Directory with LDAP and Standard LDAP

In order to gain the Delivery Manager role for a given Application, the user must be a member of an Active Directory or LDAP group whose CN (Common Name) matches the name of the group that has been assigned to the domain containing the Application in question.

So, for example, you may wish to create a new Active Directory / LDAP group called "corp.company.delivery" and assign your internal user to that group on your Active Directory / LDAP server. In the CAST AIC Portal GUI, you then need to assign a group called "corp.company.delivery" to the to the domain containing the Application that the user needs to deliver.

Note that only a user with the Platform Administrator role can assign groups to domains.
  • Connect to the CAST AIC Portal using the defined URL, for example: http://server:8080/CAST-AICP
  • Login with a user that is a member of a group that has been assigned the Platform Administrator role, for example the "cast" user if you are using "Default Authentication", or another user that is a member of an LDAP group that has been configured with the Platform Administrator role
  • When successfully connected, a list of Domains will be displayed containing the Applications that need to be delivered.
  • Click the "..." button next to the Domain you want to grant the Delivery Manager role to:

  • Now click the Edit button:

  • In the Domain edit screen, click the Add button to add a group to the current domain and to all Applications assigned to the domain:

  • Now select the Group option in the drop down list box:

  • Enter the group name in the field as shown below and click the tick icon to save the entry - enter either the name of the group as specified in the application-security-default.xml file when working in Default Authentication mode, or enter the name of the Active Directory / LDAP group that your user(s) belong to:

  • The group will then be active for the current domain and all associated Applications. A user that belongs to the specified group will now automatically have the Delivery Manager role on all Applications in the selected domain - i.e. he/she can deliver Versions and Packages for these Applications.

  • Ensure you click the Update button to save the changes. 
Note that you can add multiple groups to one single domain (click the Add button again and enter a new group name) and you can add the same group to multiple domains.

Assigning an individual user to a domain

  • Connect to the CAST AIC Portal using the defined URL, for example: http://server:8080/CAST-AICP
  • Login with a user that is a member of a group that has been assigned the Platform Administrator role, for example the "cast" user if you are using "Default Authentication", or another user that is a member of an LDAP group that has been configured with the Platform Administrator role
  • When successfully connected, a list of Domains will be displayed containing the Applications that need to be delivered.
  • Click the "..." button next to the Domain you want to grant the Delivery Manager role to:

  • Now click the Edit button:

  • In the Domain edit screen, click the Add button to add a user to the current domain and to all Applications assigned to the domain:

  • Now select the User option in the drop down list box:

  • Enter the name of the user in the field as shown below and click the tick icon to save the entry - enter either the name of the user as specified in the application-security-default.xml file when working in Default Authentication mode, or enter the name of the Active Directory / LDAP user:

  • The user will then be active for the current domain and all associated Applications. The user will now automatically have the Delivery Manager role on all Applications in the selected domain - i.e. he/she can deliver Versions and Packages for these Applications:

Rename or delete an existing Group/User that has been assigned to a domain

  • To rename or delete an existing Group/User that has been assigned to a domain, move to the Global Rights screen for the domain in question.
  • To delete the Group/User from the domain, click the trash icon next to the domain name - the Group/User will be removed from the domain and the users/groups in question will no longer have the Delivery Manager role:

  • To edit an existing Group/User name, click the Group/User name field and enter the new or modified name. Click the tick icon next to the Group/User name to save the change:


When a group/user is deleted from the domain, any users assigned to the group or individual users you have removed will no longer have the Delivery Manager role for the domain's Applications. If they have already used the CAST Delivery Manager Tool to deliver source code for the Application(s) in question prior to the group/user being deleted from the domain, when the users attempt to use the Deliver or Refresh actions in the CAST Delivery Manager Tool they will be prevented from doing so and the following message will be displayed:

Expected outputs

At the conclusion of this section, it would be expected that the Application source code will be:

  • Qualified and ready to deliver for analysis

The next step is described in Prepare and deliver the source code.

  • No labels