In previous versions of CAST, the delivery of source code for analysis was left to the discretion of the person responsible for CAST on the customer side and the "AI Administrator" (Application Intelligence Administrator) at the AI Center. As such there was potential for the same source code to be delivered in different formats (ZIP, via a SCM etc.) and for it to be packaged differently between successive versions, thus leading to inconsistencies between versions and "pollution" of the source code analysis results and metric data.
CAST has now introduced a new method for managing and automating the delivery of source code for analysis that is tightly integrated into the existing AI Center processes. This method brings together previous options and processes that have been available to CAST users for some time (namely the Discovery process (in the CAST Management Studio) for source code identification) and provides a new standalone tool that is used to manage the delivery of source code.
The concept is known as source code delivery automation and the tools that are used to achieve this are known as the CAST AIC Portal and the CAST Delivery Manager Tool (or DMT). The aim of this document is to help position these tools and explain how they are configured and used.
CAST AIC Portal
The CAST AIC Portal is a web application that is deployed on a(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 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).
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 "delivered" by the CAST AIC Portal and is installed on the local workstation. It can be relaunched whenever required.
The basic concept is that the Delivery Manager(s) (see below for a definition) will use the CAST Delivery Manager Tool to package the source code exactly as required. At the AI Center or "in house" if you are managing your own analyses, AIAs (those responsible for generating the CAST data from the source code) will retrieve the source code packaged by the Delivery Manager(s) and produce the CAST data for consumption by those that require it (consumers).
The above tools ensure that there is clear separation between source code delivery and the generation of data for consumption. It can best be summarized with the following diagram:
In summary, the CAST AI Platform is equal to:
- one CAST Management Studio
- one Management Service
- one CAST AIC Portal
- as many instances of the CAST Delivery Manager Tool as there are Delivery Managers
What is the Delivery Manager?
As mentioned above, the CAST AIC Portal and CAST Delivery Manager Tool are aimed at the person or people responsible for providing source code for analysis, i.e. the Delivery Managers. There may be more than one Delivery Manager, particularly if multiple technologies are involved.
Source code can mean:
- raw source code files
- compressed archives containing source code
- access details of Source Code Management (SCM) systems
- access details for RDBMS
With any of the above forms 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.
Where should the CAST Delivery Manager Tool be deployed and used from?
The CAST AIC Portal, Delivery Manager Tool and associated utilities are provided (but not explicitly "deployed") as part of the standard CAST setup. At the root of the CAST installation location, the WARS folder contains the CAST AIC Portal (which includes the CAST Delivery Manager Tool). The following table shows the necessary actions that are required for deployment:
|Person or people||Action|
|Delivery Manager or multiple Delivery Managers||The CAST AIC Portal needs to be deployed (see below) by the CAST AI Administrator.|
|AI Administrator or AIA team||No action required - CAST AI Administrators will use the CAST Management Studio/CAST Delivery Manager Tool to check and accept the source code packaged by the Delivery Manager(s).|
The CAST Delivery Manager Tool can be used in different ways depending on how CAST is setup in your environment. The most basic usage scenario is as follows:
|Person or people||Usage|
|Delivery Manager or multiple Delivery Managers||The Delivery Manager(s) exclusively use the CAST Delivery Manager Tool via the CAST AIC Portal. This ensures that source code is delivered to one central location that can be accessed by those that require it (AI Administrators).|
|AI Administrator or AIA team|
AI Administrators may need to use the CAST Delivery Manager Tool to check and accept source code that has been packaged and delivered via the CAST AIC Portal by their Delivery Managers. They can do so via the CAST Management Studio.
Deploying the CAST AIC Portal
Source Code Delivery Folder
In order to function correctly, the CAST AIC Portal and CAST Delivery Manager Tool require a Source Code Delivery Folder - a central location for storing successive and compressed versions of an application's source code as packaged by the Delivery Manager(s). Please see Where should the Delivery folder be located for more information about this.
Launching the CAST Delivery Manager Tool
The CAST Delivery Manager Tool can be launched in two ways, depending on the situation:
From the CAST AIC Portal (for Delivery Manager(s))
Once the CAST AIC Portal has been installed (access via the URL http://<server_name>:<port_number>/CAST-AICP) in the local environment (from the pre-supplied WAR archive), the CAST Delivery Manager Tool can be downloaded, installed and run by clicking the appropriate Deliver Source Code icon as highlighted below:
- When launching the CAST Delivery Manager Tool in this manner:
- the CAST Delivery Manager Tool and all the associated utilities will be copied to the local machine and installed in the %LOCALAPPDATA% folder
- the CAST Delivery Tool Manager will be launched
- a shortcut will be placed in the Start menu allowing the CAST Delivery Tool Manager to be re-launched again in the future without having to access the CAST AIC Portal
From the CAST Management Studio (for AI Administrator)
When adding a Version users are requested to first enter a name for the Version and choose a Release Date.Then users are requested to choose whether they want to Start DMT - in other words, launch the CAST Delivery Manager Tool. Activating the Start DMT option will cause the CAST Delivery Manager Tool to be launched on clicking Finish in the below dialog box:
If you prefer to manage the source code later (i.e.you deactivated the Start DMT option described above), or you need to check the packaged and delivered source code before accepting it, then you can do so in the Application editor (General tab) by clicking the Manage the delivery option:
Creation and synchronization of Applications and Versions
Applications are created exclusively in the CAST AIC Portal by the Executive Sponsor or the Application Project Manager - i.e. the Application Team members:
Versions can be created in the CAST Management Studio, or in the CAST Delivery Manager Tool:
- In the majority of cases, Versions should be created by the CAST Delivery Managers using the CAST Delivery Manager Tool accessed via the CAST AIC Portal:
- When there are no CAST Delivery Managers and the CAST Delivery Manager Tool is being launched from the CAST Management Studio, Versions can be created as shown below:
All of the above scenarios are valid provided that the Source Code Delivery Folder defined in the CAST Management Studio Preferences, and in the web.xml file for the CAST AIC Portal is identical so as to allow two way synchronization to take place (Delivery Managers can package their source code and the AI Administrators can retrieve it).