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 Linker 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 |
|
Technology limitations |
|
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.