Leveraging the App to App Dependencies feature


Overview

The App to App Dependencies view displays the relationships between analyzed applications, focusing on remote calls and shared resource access. This visualization can help users understand how applications communicate and identifies potential gaps in these connections.

The view also highlights orphan objects - elements that should participate in interactions but currently don’t, including pending object references and unreferenced exposed objects at application boundaries:

Use cases

This view supports several different scenarios:

Modernization Planning

  • Prioritize work based on application dependencies
  • Assess the impact of changes across the system

Testing and Quality Assurance

  • Define comprehensive test cases spanning multiple applications
  • Validate cross-application functionality

Issue investigation

  • Identify the scope of elements impacted by problems
  • Trace issues across application boundaries

Architecture Analysis

  • Understand data and process flows between applications
  • Map application dependencies

How do I access the feature?

The App to App Dependencies view is accessed using the hamburger menu in the top left, when working in the Application landing page:

Out-of-the-box, the view will be empty, even if applications have been fully analyzed or imported into CAST Imaging already. interactions between the applications must therefore be “generated” before any application will be listed - this is a manual action which must be performed by a user with the Administrator role - you can find out more about this in Configuring App to App Dependencies. The generation process is fully configurable and applications can be excluded or included (via the UI or by leveraging automatic object name based rules).

Features and controls

The App to App Dependencies view functions in the same way as any other CAST Imaging “view”:

  • a right click contextual menu is available for each “node” or application:

  • Applications can be displayed or hidden using the toggle in the right panel:

  • any tags (both custom and auto-added) are also visible in the Tags section of the right panel:

  • the properties of an application or an interaction between applications are available in the Characteristics section of the right-panel:

  • the left-hand panel provides options to save the view and/or export to an external file (.jpg for example):

What about items in the view?

Applications

Applications are displayed as “nodes” - i.e. circles - the size of the circle denotes the size of the application:

Interactions between applications

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). In addition an arrow head indicates the direction of the interaction(s) - for example:

Clicking an interaction (like in any other view in CAST Imaging) will display a popup providing the number of interactions and the ability to drill down and visualize the interactions themselves:

Multiple interactions

Where interactions exist in both directions and of more than one type, multiple green dotted lines will be used to denote each type and direction:

Hiding interactions

If you temporarily need to hide an interaction between two applications, right click the interaction and choose Hide Link. When a interaction is hidden, it will be listed in the Admin Center - see Configuring App to App Depden (accessible only for users with the Administrator role):

To unhide a hidden interaction, click the interaction itself (indicated with a red arrow (3) in the image above) - the interaction will be restored and removed from the hidden interactions list.

Where do the inter-application interactions come from?

Interactions are derived using two methods:

  • the Universal Linkerexternal link extension - automatic linking
  • the queries.json file - cypher query based interactions defined by CAST that complements the automatic linking provided by the Universal Linker extensions

This dual approach ensures comprehensive coverage of both standard and application-specific interaction patterns. You can find more details about this in Where do the interactions come from?.

Understanding orphan objects

After interaction generation completes, CAST Imaging identifies both existing interactions and missing potential connections through what is known as orphan objects. There are two types of orphan objects: orphan callers and orphan callees:

  • An orphan caller is a pending reference that has not been resolved during the computation.
  • An orphan callee is an object that is exposed but that is not called from another application.

You can see an application’s orphan objects using the right click contextual menu View orphans. Alternatively, use the automatic Orphan tag to highlight individual applications which have orphans:

Common causes of orphan objects

Cause Details
Missing references
  • Referenced objects don’t exist in any analyzed application
  • Calling objects are missing from the application set
Technology limitations
  • Objects use unsupported or partially supported technologies
  • Implementation details aren’t recognized by the analysis tools
Tool limitations

Resolving orphan objects

Reviewing orphan objects helps identify:

  • Applications that are missing from the CAST Imaging platform
  • Technologies requiring better support
  • Opportunities for custom query development

You can address some of these issues by adding appropriate Cypher queries to the queries.json file and re-running the analysis.