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

Available in ≥ 2.2.0-beta1.

Introduction

The Application to Application Dependencies scope is a specific view made available for a specific use case: the requirement to view interactions between any of the Applications that have been imported into CAST Imaging:

Each Application is represented by a circular node, the larger the node, the larger the Application (based on the number of lines of code):

The Application to Application Dependencies scope uses the information generated by the Web Services Linker extension. This extension is automatically downloaded and installed as a dependent extension in all CAST AIP analyses. 

Configuring the Application to Application Dependencies scope

Before you can use the Inter Application Dependencies scope, it must be configured by a user with the ADMIN role. See Admin Center - Application to Application Dependencies management for more information about this.

Accessing the Application to Application Dependencies scope

When the scope has been configured (see Admin Center - Application to Application Dependencies management), you can access it from the main application entry point:

Interactions

CAST Imaging will scan the imported Applications to check for specific objects that potentially interact with another object in a different application. Where an interaction exists, a green dotted line between the two applications will be displayed in the view, together with information about the type of interaction that exists (i.e. the specific mechanism used in the source code):

Clicking an interaction between two applications will display the following popup:

  • the total number of interactions (in the top right corner)
  • a clickable list of the interaction types - clicking the type will drill down into the view and show the objects that are interacting, for example (clicking anywhere else in the popup will drill down and show all interactions):

Interaction grouping

Where two applications are linked with more then one type of interaction (in the same direction) as shown in the example below, the interactions will not be grouped together by default:

You can use the Group/UnGroup Links option available in the left hand menu to toggle this display:

Legend

A clickable legend is available that lists all the available interactions in the view:

You can click use this to filter the interactions that are displayed in the view:

Drill down into an Application

Drilling down into an Application (double-click the circular node) will display the specific objects from all other Applications together with the objects from the selected Application that they interact with:

Application details

Use the Properties panel to find out more information about a selected application:

Right click options

Node

Right clicking a node will show a contextual menu:

View ApplicationWill take you direct to the selected Application for further investigation.
View orphans

This option displays any potential app-to-app items, which are not linked to any other app-to-app items. All orphans are displayed in a custom view, together with the parent Application:

 

The objects that form the link can be viewed by clicking the link between the application and the orphan:

The objects in the orphan itself can be viewed by double clicking the orphan item:

An option is available in the legend on the right hand side, which, when clicked, will highlight all applications in the App to App Dependencies view which contain potential orphan items:

When viewing the content of a link between an Application and potential orphaned items, clicking the orphan option in the legend will highlight all the orphaned items:

View External Libraries

This option functions in a similar manner to the View orphans option. When clicked, all nodes in the selected application that contain External Library related code (i.e. third party API libraries such as Log4j, jExcelAPI etc.) will be displayed in a custom view, together with the parent Application:

Click to enlarge

The objects that form the link can be viewed by clicking the link between the application and the External Library Node:

An option is available in the legend on the right hand side, which, when clicked, will highlight all applications in the App to App Dependencies view which contain potential External Library node items:

When viewing the content of a link between an Application and potential External Library node items, clicking the External Library option in the legend will highlight all the External Library node items:

Hide objectUse this to hide the selected object. To unhide, either use the "Undo" option or refresh the page.
Remove objectUse this option to remove the node from the view. When you reload the view, the object will be re-displayed.
Properties

Displays information about the Application in the right hand slide in panel:

Node in Custom scope

Right click menu available only when working in the Custom scope within the Application to Application Dependencies scope:

Add callers/callees

Retrieves all caller/called applications. Links are added to the selected application and to any other objects present where a link exists. The number in square brackets in the contextual menu indicates the number of items available.
Add linked apps

See User Guide - Using the Add Linked Objects feature for more information (instead of objects, this option functions on applications)

Add 2 levels of Callers/CalleesSame principal as the Add Callers/Callees options, but instead displays two levels of applications
View ApplicationWill take you direct to the selected Application for further investigation.
Hide objectUse this to hide the selected object. To unhide, either use the "Undo" option or refresh the page.
Remove objectUse this option to remove the node from the view. When you reload the view, the object will be re-displayed.
Properties

Displays information about the Application in the right hand slide in panel:

Right clicking a link between two applications will show a contextual menu:

Hide Link

Enables you to temporarily hide the link between the two applications if required. When a link is hidden, it will be listed in the Admin Center - Application to Application Dependencies management page:

Click to enlarge

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.

Note that if you re-run an Application to Application Dependencies scope scan in Admin Center - Application to Application Dependencies management all hidden links will be lost. This behaviour is expected to changed in the future.

Custom scope

Available in CAST Imaging ≥ 2.7.0.

It is possible to create a Custom scope based on the Applications available in your Application to Application Dependencies scope:

See User Guide - Custom scope for more information.

Application search option

Available in CAST Imaging ≥ 2.7.0.

It is possible to use the Application search option to search for specific applications within the scope:

See User Guide - Search for items for more information.

Tags (those created in CAST Imaging) and External Libraries can also be specifically searched in the App to App Dependencies view:

Note that if you include a search for an External Library, the External Library will be displayed in the resulting view, alongside the matching Application(s). For example:

Export options

The export action functions in this scope, as in other scopes:

  • by default the information about all the applications in the view and their interaction protocol and technology are exported for CSV, XML and JSON formats.
  • from ≥ 2.8.0-funcrel, it is possible to select multiple applications and view only the information pertaining to the selected applications for CSV, XML and JSON formats. In older releases, the number of applications that can be selected is limited to 2.
  • For image exports (JPG/SVG), all applications are always included.

Working with tags

Tags can be associated to Applications from 2.8.0-funcrel, however, these tags are kept separate to tags added at Objects level (see also User Guide - Working with tags). Tags can be exploited in the same way as tags added at Objects level when performing an application search:

Click to enlarge



  • No labels