LeanIX EAM

Out-of-the box integration with LeanIX Enterprise Architecture Management

Introduction

The LeanIX EAM integration with the EAM workspace will allow you to:

  1. Bring in Business Applications from EAM to VSM to understand your business applications top to bottom including their software/runtime/cloud footprint in detail
  2. Provide further business context around the software artifacts to drive holistic insights within VSM

Setup

The LeanIX discovery integration works with Integration Hub to scan the EAM workspace and process to LDIF and automatically trigger inbound Integration API processor.

The LeanIX integration needs to be set up on your VSM workspace.

📘

Activating the integration

Please reach out to your CSE/M to have the integration activated in your workspace.

Installation

This integration doesn't require any installation of a plugin-in, as the Integration Hub handles the entire integration.

Configuration

  1. In your VSM workspace go to Administration > Integration Hub
  2. Create a new data source by clicking on New Data source
  3. Enter the following details:
    1. Connector Name: vsm-vsmSync-connector
    2. Data source name: any name to identify the data source
  4. Enter the following attributes under the Configuration Parameters:
    1. host: your hostname e.g. demo-eu-1.leanix.net
    2. wsName: the EAM workspace name
  5. Enter the following attributes under the Configuration Secrets:
    1. lxToken: API token of a Technical User in the EAM workspace - the technical user needs Admin rights for this integration to work learn more
  6. Click "Run" to start the integration.

Your setup should look similar to:

Sample setup of the data sourceSample setup of the data source

Sample setup of the data source

📘

Sync Logging

Open "Sync Logging" tab to get understand the progress of your current integration run. Sync Logging also provides information on previous integration runs

Scheduling your integration

To run the integration on a schedule - you can specify the schedule via the schedule parameter in the data source config.

The recommendation is to run this integration once a day.

Scheduling optionsScheduling options

Scheduling options

Imported data

The connector is suggested to be set on a daily schedule but can be adjusted to individual needs. The table below states the information that is synchronized across the workspaces:

EAM

VSM

Application fact sheet
and backlink to VSM

Product fact sheet
and backlink to EAM

📘

Leveraging the full power of the two integrations (EAM & VSM)

Setting this integration up along with the VSM integration (in EAM) will allow the system to automatically link your applications in EAM to their discovered software artifacts (brought in by the VSM integration as IT Components, subtype Microservices ). Hence, this will allow for an automatic link between applications and IT components, subtype Microservices in EAM.

Requirement: you need to link Products in VSM to their respective Software Artifacts in VSM

Extending the Integration

You have the ability to extend (i.e. add more data to the integration) self-sufficiently. This is powered by the Integration API capability called execution groups, which will add your custom logic (custom processors with said execution group) to run as part of this integration.

The below steps show one example of how to go about this.

Extend exported LDIF from source EAM Workspace
Currently the EAM integration exports Application Fact Sheets from an EAM Workspace to the VSM workspace, but if your organization is interested in exporting other types of Fact Sheets (Ex: Provider Fact Sheets) as well, this can be achieved by using execution groups. This extensibility option is explained in the detail with the below example:

🚧

Important Notice

When creating custom processors, it is important to note that the added custom Integration API processors must all have "processingDirection": "inbound" and “processingMode": "full"

Examples

Example 1: Export Provider Fact Sheets from EAM Workspace to Technology/Provider FS in VSM Workspace

Step 1
Create an inbound Integration API processor on the EAM workspace, which reads Provider Fact Sheets and writes them to an LDIF. It is mandatory that the processorType is set to writeToLdif (see example below). No other type of processors is allowed. Find the sample processor below which exports Provider Fact Sheets, name, description, other fields could be included, if required.

{
    "processors": [
        {
            "processorType": "writeToLdif",
            "processorName": "createProvider",
            "processorDescription": "createProvider",
            "filter": {
                "advanced": "${integration.contentIndex==0}"
            },
            "identifier": {
                "search": {
                    "scope": {
                        "ids": [],
                        "facetFilters": [
                            {
                                "keys": [
                                    "Provider"
                                ],
                                "facetKey": "FactSheetTypes",
                                "operator": "AND"
                            }
                        ]
                    },
                    "filter": "${lx.factsheet.type == 'Provider'}",
                    "multipleMatchesAllowed": true
                }
            },
            "updates": [
                {
                    "key": {
                        "expr": "content.id"
                    },
                    "mode": "selectFirst",
                    "values": [
                        {
                            "expr": "${lx.factsheet.displayName}"
                        }
                    ]
                },
                {
                    "key": {
                        "expr": "name"
                    },
                    "mode": "selectFirst",
                    "values": [
                        {
                            "expr": "${lx.factsheet.displayName}"
                        }
                    ]
                },
                {
                    "key": {
                        "expr": "description"
                    },
                    "mode": "selectFirst",
                    "values": [
                        {
                            "expr": "${lx.factsheet.description}"
                        }
                    ]
                },
                {
                    "key": {
                        "expr": "content.type"
                    },
                    "mode": "selectFirst",
                    "values": [
                        {
                            "expr": "${lx.factsheet.type}"
                        }
                    ]
                }
            ],
            "enabled": true,
            "read": {
                "fields": [
                    "displayName",
                    "description"
                ],
                "relations": {
                    "filter": [],
                    "targetFields": []
                }
            }
        }
    ],
    "variables": {},
    "executionGroups": [
        "leanix-ws2ws-eam-export-inbound"
    ],
    "targetLdif": {
        "dataConsumer": {
            "type": "leanixStorage"
        },
        "ldifKeys": [
            {
                "key": "connectorType",
                "value": "leanix-vsm-connector"
            },
            {
                "key": "connectorId",
                "value": "leanix-ws2ws-eam2vsm-connector"
            },
            {
                "key": "processingMode",
                "value": "full"
            },
            {
                "key": "lxWorkspace",
                "value": "${header.customFields.bindingKeyLxWorkspace}"
            }
        ]
    }
}

🚧

Execution Group and Target LDIF

It is important to exactly use the "executionGroups" and "targetLdif" sections as mentioned in the above code snippet. Using other names might result in data corruption in the workspace. Make sure that execution group in custom processors of EAM workspace is always leanix-ws2ws-eam-export-inbound and the corresponding execution group of VSM is always leanix-ws2ws-vsm-import-inbound

Step 2
After making sure the above Integration API processor is saved on the VSM workspace, we now create a new Integration API processor in the VSM workspace to import the above-exported data. It is important to specify the leanix-ws2ws-vsm-import-inbound executionGroup in the executionGroupsarray, when creating this Integration API processor (see below processor config).

Below is a sample Integration API processor configuration, which imports the above-created Provider content objects as “Technology/Provider“ FS in the VSM workspace.

{
    "processors": [
        {
            "processorType": "inboundFactSheet",
            "processorName": "create Technology",
            "processorDescription": "create Technology Fact sheet from Provider fact sheets in EAM",
            "type": "TechnicalComponent",
            "filter": {
                "exactType": "Provider"
            },
            "identifier": {
                "external": {
                    "id": {
                        "expr": "${content.id}"
                    },
                    "type": {
                        "expr": "cicdId"
                    }
                }
            },
            "run": 0,
            "updates": [
                {
                    "key": {
                        "expr": "name"
                    },
                    "values": [
                        {
                            "expr": "${content.id}"
                        }
                    ]
                }
            ],
            "enabled": true
        }
    ],
    "variables": {},
    "executionGroups": [
        "leanix-ws2ws-vsm-import-inbound"
    ]
}

📘

Custom Import Processors IDs

Above processor adds the provider name as cicd Id on the Technology fact sheet created on the VSM workspace, but this can be changed according to the use case.

Step 3
After making sure the custom Integration API processor config for importing the data is present on the VSM workspace, we must now either configure a new data source or change the existing data source in the VSM workspace to include the execution group (leanix-ws2ws-vsm-import-inbound). This ensures that the integration run included your custom logic.

You can specify the execution group in the data source config UI under Administration>Integration Hub.
Your configuration should look similar to below:

📘

Enabling the Exectution Group field in the Data Source UI

To enable the Execution group field in the UI below, you first need to go to Advanced tab and replace the bindingKey key with "executionGroup": "leanix-ws2ws-vsm-import-inbound"

Your configuration should look similar to below:

Full configuration of Data sourceFull configuration of Data source

Full configuration of Data source


Did this page help you?