A user with the ADMIN or SUPER ADMIN role is required.
Introduction
The Applications panel enables you to manage the Applications that are available in CAST Imaging and can be added in to the User Guide - Application to Application dependencies scope:
When first displayed, no options are visible in the screen, even if Applications have been imported into CAST Imaging already. Links must be generated before any options will be listed in this screen:
In addition, the Application to Application dependencies scope entry item will be disabled until:
- links have been generated
- the applications have been selected for inclusion in Application to Application Dependencies:
Generating Application to Application Dependencies Links
Links must be generated before the Application to Application Dependencies scope can be accessed. To do so, click the Link Generation icon:
The Link Generation process will then begin. Technically, CAST Imaging will scan all imported applications for objects that potentially have links to objects in other Applications:
When the process is complete, the status updates and the page will be populated with all the Applications that were present in CAST Imaging when the link generation process was started:
- The popup in the bottom right corner shows total links generated: in other words, if an initial generation process has created 5 links, the popup will show "5 links generated". If a subsequent link generation process is run and no new links are found, the popup will display 5 links generated.
- The App to App Dependencies Links Available column indicates the following:
- Yes - CAST Imaging has detected objects in the Application which link to other Applications present in CAST Imaging.
- No - CAST Imaging has not detected any objects in the Application which link to other Applications present in CAST Imaging.
Where do the links come from?
When the links between applications in the Application to Application Dependencies scope are generated, the information is taken from the following locations:
Web Services Linker extension | From information generated by the Web Services Linker extension (this extension is automatically downloaded and installed as a dependent extension for all applications) during the application analysis: this information is stored with the application and imported into CAST Imaging. |
---|---|
queries.json | From a file called queries.json that is delivered with CAST Imaging: links defined in this file are "static" and have been defined based on experience gained by working with CAST customers. The file contains specific "rule" sections that determine which type of links will be considered as Application to Application Dependencies. In addition, "orphan" objects (i.e. those objects that are potential Application to Application items but which are not linked to any other Application to Application items) are also designated in this queries.json file. Links defined in queries.json are less accurate than those generated from data created by the Web Services Linker extension and that this file and the link definitions in it can evolve between successive release of CAST Imaging. The file is located here: Traditional Microsoft Windows installer: %PROGRAMFILES%\CAST\ImagingSystem\web-service-linker\venv\bin\queries.json Docker installer /etl/web-service-linker/queries.json Currently this file creates links of the following type:
|
When should I regenerate links?
The link generation process will take into account all Applications that are present in CAST Imaging at the point when the process is started. If additional Applications are subsequently imported into CAST Imaging, and they must be included in the Application to Application Dependencies scope, then the link generation process must be run again.
Viewing the status of any ongoing jobs
If you need to run a link generation action, the job is placed in a queue if any other jobs are currently ongoing (such as application import or delete). You can view the status and/or cancel any ongoing jobs using the following option:
Include Applications in Application to Application Dependencies scope
When the links have been successfully generated, the final step that is required before Applications are visible in Application to Application Dependencies scope, is to select them for inclusion. Use the check box on the left hand side to choose which applications you want to include:
Remember to use the pagination options underneath the table if you have more than 10 applications.
Review hidden links
When a link between two applications is hidden in the view (see User Guide - Application to Application dependencies scope) the hidden link will be listed in a dedicated section:
- To unhide a hidden link, select the check box next to the link and return to the Application to Application Dependencies scope - the link will be restored and removed from the hidden links list.
- You can download a list of all hidden links to CSV file using the export option:
Rules Definition
This panel is used to build rules that define when a link between applications should be excluded from the App to App Dependencies panel. In other words you can define a rule or rules that will exclude a link between applications based on any one, a combination or all of the following:
- Caller object's name
- Caller object's type
- Caller object's parent application
- Callee object's name
- Callee object's type
- Callee object's parent application
When the panel is opened for the first time, some predefined rules will be present - these rules can be deleted/edit, but will be recreated each time the app to app dependencies link generation is actioned:
Click to enlarge
Note that any link types defined via the queries.json - see Where do the links come from? above - will be ignored by any rule pattern you create. Therefore if you need to exclude any of them, they must be manually removed from queries.json. CAST highly recommends creating a backup of this file before you edit it.
Create a new rule
To create a new rule, click the + icon and a new line (i.e. a rule definition) will appear in the list. Then click the edit button to define the rule:
Click to enlarge
Now configure the rule, for example, to exclude links between applications involving specific object names, define the Caller Name and Callee Name (you can also define just the Caller Name or just the Callee Name):
Click to enlarge
To define a rule to exclude links between applications involving a specific caller object type, choose the caller type from the list of available items, for example .NET Class (you can also define just the Callee Type, or both Caller Type and Callee Type):
Click to enlarge
To define a rule to exclude links between specific applications, choose either the Caller or Callee Application (or both) - this is available in CAST Imaging ≥ 2.6.0:
Click to enlarge
- Rules can use any combination of the columns available in the editor.
- New rules are only taken into account the next time you run the link generation action .
- It is not possible to edit/delete default rules.
- The fields Caller Name and Callee Name will accept regular expressions (Java Regular expressions only - see for example https://www.w3schools.com/java/java_regex.asp):
Activate/deactivate rules
Available in CAST Imaging ≥ 2.6.0.
It is possible to deactivate/activate rules according to your requirements. Use the check box next to the rule to toggle the option:
A deactivated rule will no longer be taken into account the next time the link generation action is run.
Delete a rule
Use the trash icon to remove a rule:
The rule will no longer be taken into account the next time the link generation action is run.
Export / import rules
Available in CAST Imaging ≥ 2.6.0.
It is possible to export all rules available in the UI to file (.CSV format). This file can then be used as an import on another CAST Imaging installation to avoid having to recreate the rules manually:
If you have specified specific application/objects that do not exist in the target CAST Imaging instance, inconsistencies may be evident when you run the link generation. Ensure that your rules are all consistent after you import them in bulk.
Technical information
Lowest level of links
When creating a rule, you should always define the rule pattern (i.e. the caller and callee names) for the lowest level of links available in the App to App Dependencies view for the rule to work correctly. "Lowest level" in this situation means when you cannot drill down any further, for example:
or between an object and a method: