Introduction
Architecture Checker models are used to check the organization, architecture and structure of an Application's source code. Within a model, layers and dependencies between these layers are configured to reflect how an Application SHOULD/SHOULD NOT be structured. Each layer captures objects matching a selection criterion and each dependency specifies which link types are authorized or forbidden between these layers.
When a model is assigned to an Application, the model is checked during the application analysis and in its most simplistic form, a "violation" of this model will be reported when the analysis identifies a link between two objects belonging to different layers that does not respect the dependencies (authorized or forbidden) that have been defined in the model itself.
One Architecture Model will be materialized as a rule named as follows:
Architecture Check: <architecture_model_name>
The rule will contribute to the Architecture Models Automated Checks Technical Criterion, which in turn contributes to the Security Health Factor/Business Criterion. Violations can be viewed both in Console and in the CAST Engineering Dashboard.
- View a list of all Architecture Models that have been assigned to the current application. These models will then be checked during the analysis and results produced. Architecture Models can be created, viewed and managed at a global level in the Architecture Studio.
- In Console ≥ 2.10, Architecture Models are published as specific extensions and this screen allows you to assign any number of existing Architecture Models to the current application using the Add button.
- In Console 2.4 - 2.9, Architecture Models are published as specific extensions and then the specific extension should be included in the next analysis (it is not possible to add a model directly as in previous releases)). See AIP Console - Architecture Studio - Publishing models for more information. Note that publication does NOT publish the "extension" on CAST Extend or CAST Extend local server - instead the extension is instead made available internally within Console (in the Application - Extensions panel).
- In Console ≤ 2.3, this screen allows you to assign any number of existing Architecture Models to the current application using the Add button.
Available options
Console ≥ 2.10 | |
---|---|
Console 2.4 - 2.9 | |
Console ≤ 2.3 |
Options are described below:
Add button (only in Console ≤ 2.3 and ≥ 2.10) | Use this button to attach a new Architecture Model to the Application. By default Console will offer the Architecture Models that have already been created/uploaded and published in the AIP Console - Architecture Studio. The Add button is disabled if there are no Architecture Models available (you will need to either create one or import one and then publish it), or there are Architecture Models available but they have not been published. ≥ 2.10 A banner will then inform you that the Install Models action must be run in order for the Architecture Model to be taken into account. This action can be done manually or automatically as part of the next analysis (when it is run): The Status column indicates that the chosen model has been associated (included) with the current application. When the model has been installed, the Status will change to installed): If you have published a newer release of your Architecture Studio model (i.e you made a change and then republished it which will have incremented the version number), Console will offer you the newer release: Existing associated release: ≤ 2.3 Note that the Add button is not available in Console 2.4 - 2.9 - instead, Architecture Models are published as specific extensions and then the specific extension should be included in the next analysis (it is not possible to add a model directly as in previous releases). See AIP Console - Architecture Studio - Publishing models for more information. Note that publication does NOT publish the "extension" on CAST Extend or CAST Extend local server - instead the extension is instead made available internally within Console (in the Application - Extensions panel). |
---|---|
Rule ID | A unique identifier for your model. This ID is used to identify the Architecture Model throughout the CAST dashboards. |
Name | Name of the Architecture Model |
File Name (only in Console ≤ 2.3) | Equivalent file name:
|
Weight | The weight of the rule. This value defines how "important" the rule is in the parent Technical Criterion "Architecture Models Automated Checks". This is defined when creating the model. |
Critical | Displays whether the rule defined by the Architecture Model is critical or not. This is defined when creating the model. |
Version | Displays the version number of the extension as defined in AIP Console - Architecture Studio (see AIP Console - Architecture Studio - Publishing models for more information). |
Last Modified | Displays the date the model was last modified. For imported Architecture Models that have not been subsequently modified in Console, the date the model was imported will be displayed. |
Status (only in Console ≥ 2.10) | Can display either:
|
Options button (only in Console ≤ 2.3) | Note that these options are not available in Console ≥ 2.4 - instead, Architecture Models are published as extensions (see AIP Console - Architecture Studio - Publishing models for more information):
Check Console can run a check of your Architecture Model against the current Application so that you can see any violations of the current Architecture Model. A snapshot is required. Results of the check will be shown as below - each violation of the rule is shown in one row of information (the example below is for a model that forbids a dependency from Java client code to SQL database code): Click to enlarge You can also download the results as a CSV file: |
Download Use this option to download the selected Architecture Model to a .castarchitect file (this file can then be loaded in CAST Architecture Checker). | |
Remove Use this option to unassign the Architecture Model from the current application. Removing an Architecture Model does not remove the Architecture Model file from the Architecture Studio and you can re-add it if required. |