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:
- Download, install and enable the following extension: https://extend.castsoftware.com/#/extension?id=com.castsoftware.architecture&version=latest for your Application
- Run a new analysis of your Application
- Export/import the Application into your CAST Imaging instance
- Ensure you grant the appropriate permissions to access the application (if necessary)
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).
Action | Location | Result/Behavior |
---|---|---|
Double click on node | Level 4 | In 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: | |
Objects | View source code of the object. See User Guide - Viewing source code. | |
Right click on node | Level 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 |
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 edge | Levels 4 and 5 | N/A |
Objects and Vignette mode | Displays all the methods that are linked between classes and provides additional actions such as:
See User Guide - Using the Method view for more information. | |
Double click on edge | Levels 4 and 5, Objects and Vignette | N/A |