User Guide - GUI - Welcome Page - Are you new to the application

Introduction

This section provides a description of the following tiles available in the User Guide - GUI - Welcome Page in the Are you new to the application section:

  • APIs Inventory
  • Database Structure

APIs Inventory

Available in ≥ 2.16.

Application Programming Interface (APIs), is a set of defined rules that enable different applications to communicate with each other. The APIs Inventory tile helps you view all the APIs associated with the current application. A

Click to enlarge

Interface

≥ 2.17

After clicking the APIs Inventory tile, the APIs Inventory view is displayed, providing a list of APIs associated with the current application:

  • The left hand panel lists the APIs
  • The right hand panel displays the selected API in relation to other objects in your application

Click to enlarge

Left hand panel

ItemDescription
Search

Allows you to enter a search string to locate a specific API, for example:

Add Filter

Allows you to filter the list of APIs by:

  • How they are accessed (Get, Put, Post, Delete)
  • Their type:
    • Private API: An API that is exposed to the general public to allow access to data but with specific access rules
    • Public API: An API that is generally used internally within an organisation to access the data

The filters are shown in the header and can be disabled if required:

Objects are designated as Private APIs in the following situations:

  • if the name of the object contains "private"
  • or if the object has an object property "url" and the value of that property contains "private"

All other objects that do not meet the criteria listed above are categorised as Public APIs.

List of APIs (Name and Type)The APIs are listed in ascending alphabetical order by Name. Type is also displayed. Both row headers are clickable to change the sort order. 

Right hand panel

The right hand panel display highlights the an API selected in the left hand panel and shows its interactions with other objects in the application:

ItemDescription

These options control the zoom:

  • Zoom in
  • Reset to default
  • Zoom out

You can also use the mouse to zoom in and zoom out.

Click this button to open the display within a custom CAST Imaging view so that you can investigate the API in more detail.

Properties panel

Selecting (single click) any object in the display will automatically display the Properties panel which provides detailed information:

2.16

After clicking the APIs Inventory tile, a standard search interface is displayed providing a list of APIs associated with the current application:

Add to view

To view the APIs in a standard view, select them (either individually or all) and then click the Add button:

The selected APIs will be displayed within a custom CAST Imaging view so that you can investigate the APIs in more detail:

Filtering options

To filter the list of APIs there are two options (see User Guide - Search for items for more information about how these options function):

The Filter By option provides additional filtering specific to APIs:

  • How they are accessed (Get, Put, Post, Delete)
  • Their type:
    • Private API: An API that is exposed to the general public to allow access to data but with specific access rules
    • Public API: An API that is generally used internally within an organisation to access the data

Objects are designated as Private APIs in the following situations:

  • if the name of the object contains "private"
  • or if the object has an object property "url" and the value of that property contains "private"

All other objects that do not meet the criteria listed above are categorised as Public APIs.

Database Structure

  • Available in ≥ 2.17.
  • Available only if the application contains SQL code delivered for analysis as .SQL files - applications will need to be re-imported before the tile will display.

Lack of knowledge about the database structure can pose challenges in:

  • Managing data access and retrieval
  • Maintaining data integrity
  • Optimizing performance
  • Integrating applications and
  • Maintaining or upgrading the database structure.

Having a dedicated view that outlines the data structure, including primary keys, foreign keys, and table relationships, empowers software developers to work more effectively with data. This view proves valuable when modernizing or migrating databases, enabling architects to assess the existing schema and identify areas requiring modification or optimization.

The Database Structure tile provides access to a view dedicated to Table objects (regardless of RDBMS type), shows their interactions and provides access to their constituent column names:

Click to enlarge

Clicking the tile loads a dedicated view containing only the Table objects present in the application with one level of detail:

Click to enlarge

The view can also be accessed from the User Guide - Application scope via a dedicated Aggregated By Perspective called Database Structure:

Column information

Column information is available in the Object Properties panel:

Foreign Key information

Rolling the mouse pointer over a link between two tables will display a popup providing information about the foreign key(s) that exist between each table. In the following example, a foreign key exists in the PartsManufacturerDiffusionTemplates table, PartsManufacturerContactId column, which points to the primary key in the PartsManufacturerContacts table, Id column:

Class Inheritance

Available in CAST Imaging ≥ 2.17.

Insufficient knowledge about class inheritance poses the risk of compromising code structure, introducing complexity, and limiting flexibility within the codebase.

Understanding the inheritance relationships between classes enhances code comprehension and enables efficient code reuse by leveraging existing functionality from parent classes. Access to this view empowers software developers by providing a clear understanding of parent-child relationships and inheritance behaviors promoting efficient development and more maintainable code. This functionality could also be beneficial for architects who can evaluate the smooth integration of legacy code with modern tools, frameworks, and architecture.

A dedicated view showing the inheritance that exists between different classes in the application. The view exists for all technologies where a "class" object type exists, for example JEE (Java class) and .NET (VB.NET or C# class). Also available as a drop-down option in User Guide - GUI - Investigate panel#perspectivePerspectiveoptions.

Clicking on the Class inheritance tile loads a dedicated view containing the Class inheritance present in the application.