Introduction

Microservices - also known as "microservice architecture" - is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API. These services are built around business capabilities and independently deployable by fully automated deployment machinery (see https://martinfowler.com/tags/microservices.html). CAST AIP is able to detect these microservices during an analysis (with the assistance of a dedicated extension) and the subsequent results are made available in the CAST Imaging Service scope:

Click to enlarge

Enabling the Service scope

The Service scope requires that the Application in question has been analyzed with a specific extension installed, before it is exported/imported into CAST Imaging. Therefore the process is as follows:

Accessing the Service scope

To access the Service scope, click the Services scope entry in the Investigation panel (if there are no microservices available in the selected application, the entry will be greyed out), then choose a specific microservice from the list of those available in the Select Service dropdown:

Which will drill down to Level 4 of the selected microservice using the CAST Taxonomy aggregation (standard grouping of items):

Click to enlarge

Navigating the view

Aggregated by

In Service mode, only the standard CAST Taxonomy layout is available. See User Guide - GUI - Investigate panel for more information about this.

Levels

Levels 4 and 5 are available for selection when a specific microservice is selected in the Investigate panel - these levels provide ever greater details about the items within the selected microservice:

Actions

In ≥ 2.18, Vignettes are replaced by Multiple Tabs (new tab/s).


ActionLocationResult/Behavior
Double click on nodeLevel 4In version ≥ 2.12, double clicking a node will transition to level 5. 
Level 5

Drill down to Vignette mode i.e.:  Objects level + drill mode Children + Caller/Callee + Group by communities (depending on the object selected). See also User Guide - GUI for more information on Drill and Communities modes.

Click to expand

Vignette mode

Expand and investigate the selected object.

A popup message is displayed when drilling down on the selected object when there are no more sub-objects to display - this is to ensure that users are aware that there are no further sub-objects for the selected object:

ObjectsView source code of the object. See User Guide - Viewing source code.
Right click on nodeLevel 4

If the object properties cannot be retrieved in a timely manner, a retry button will be displayed:

Level 5

If the object properties cannot be retrieved in a timely manner, a retry button will be displayed:

Vignette mode

  • Expand All > Expand and investigate the selected object (same as double click)
  • Hide node > Use this to hide selected nodes. To unhide, either use the "Undo" option or refresh the page. It is not possible to hide a concept node or a group node, in which case the option will not be available.
  • Properties > Displays information about the node in the right hand slide in panel (see User Guide - Properties panel):

If the object properties cannot be retrieved in a timely manner, a retry button will be displayed:

Objects


If the object properties cannot be retrieved in a timely manner, a retry button will be displayed:

Single click on edgeLevels 4 and 5N/A
Objects and Vignette mode
Displays all the methods that are linked between classes and provides additional actions such as:
  • view source code
  • method information
  • add caller/callees

See User Guide - Using the Method view for more information.

Double click on edgeLevels 4 and 5, Objects and Vignette

N/A