MuleSoft Anypoint Exchange

Out-of-the-box discovery of APIs and their metadata

Introduction

The LeanIX VSM MuleSoft Anypoint Exchange integration offers the automated out-of-the-box creation and updating of LeanIX API Fact Sheets. In this way, we provide API information that can be linked to Software Artifacts to understand which APIs a Software Artifact exposes. The integration also provides an API portfolio view that allows everyone in the organization to find the right APIs and know what services are providing them. VSM is focused on the high-level information of APIs

Integrate with MuleSoft Anypoint Exchange to:

  • build a unified API catalog
  • augment your Software Artifacts with APIs they provide to understand the impacts of architectural changes

In the first version of the MuleSoft Anypoint integration we only support API specs (see below). In a later version, we will also support Data Types as defined in the API Specification Fragments of MuleSoft Anypoint Exchange.

Setup

The MuleSoft Anypoint Exchange integration scans your MuleSoft Anypoint Exchange organization(s) to fetch your APIs and adjacent information, such as responsible owners and lifecycles. The integration can be set up in full self-service via the Admin UI.

The LeanIX integration only connects with MuleSoft Anypoint Exchange - not any other MuleSoft product.

Configuration

In your LeanIX VSM workspace, go to Administration > Integrations and follow the instructions to set up the MuleSoft Anypoint Exchange integration.

974

Admin UI to set up the MuleSoft Anypoint Exchange integration

📘

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

Imported Data

Below you find how objects fetched from Mulesoft are translated into LeanIX Factsheets and attributes on them.

Mulesoft Anypoint Exchange ObjectLeanIX Value Stream Management
API Assets from Anypoint ExchangeAPI Fact Sheet
(API asset ID = external Id reference)
API Asset Type"API Type" Tag on the API Fact Sheet
The following are the API types identified:
- 'rest-api' / 'http-api'
- 'soap-api'
API Asset "Published on" dateLifecycle start date for the state "active"
API Asset "status" change to "deprecated"Lifecycle start date for the state "Phase out"
API Asset "Published by"Subscription for "Responsible" person
API Asset "Contact name"Subscription for "Responsible" person
API URL in Anypoint ExchangeLink available on API Fact Sheet as a resource
Tag on API Fact Sheets: MuleSoft Anypoint

Mapping discovered APIs to Software Artifacts

Our integration will automatically discover all APIs you have in MuleSoft and create API Fact Sheets (as detailed above). Currently, information stored in MuleSoft does not allow LeanIX to connect the API Fact Sheets to Software Artifacts (e.g. Microservices) automatically. To leverage a semi-automatic mapping mechanism follow the steps below:

  1. Retrieve & Copy the 'MuleSoft Asset ID' on a given API Fact Sheet - this is the unique ID for this Fact Sheet

  1. In the to-be-linked Software Artifact Fact Sheet paste the Mulesoft Asset ID from 1) into the field API ID

  1. Run the connector in a one-off run as per Configuration to instantly link the factsheets. As part of your scheduled connector run, the processors will attempt to match API & SW Artifact Fact Sheets automatically.

Removing API Fact Sheets

If APIs are deleted from your organization in MuleSoft Anypoint, they are not automatically removed from your LeanIX workspace. That means the relevant Fact Sheets are therefore retained. This behavior prevents errors.
To remove fact sheets in LeanIX from APIs that no longer exist in MuleSoft Anypoint, these must be deleted manually.

Extending the Integration

Integration also supports Integration API execution groups via Integration Hub to enable users to add custom processors. To process the data correctly, you need to add a custom processor set.

2540

Sample data source configuration with execution group

Unique execution group name for the integration is vsmMulesoftAnypointInbound

The integration API will pick up your processors and merge them with the base processors at execution time. Make sure to set the Integration API run number accordingly.

For more information on the execution groups visit: https://docs.leanix.net/docs/integration-api#section-grouped-execution-of-multiple-integration-api-configurations.

To get to grips on the general steps needed to extend the integration please also find an in-depth guide in the tutorials section.

Tutorials

Automatically linking APIs with their Software Artifacts

The out-of-the-box MuleSoft integration requires MuleSoft API ID to be filled in manually to link an API factsheet to Software Artifact factsheet. Refer to MuleSoft integration guide for more details on this topic. Extending CICD manifest with MuleSoft ID allows to automate this process.

1. Update CICD manifest

id: cicd-connector-v2
name: cicd-connector-v2
description: CI/CD
self: https://github.com/leanix/self-url
owner: [email protected]
links:
  - name: vcs
    url: https://github.com/leanix/project-url
+ additional:
+  mulesoftId: fulfillment-test-api-1.0.0

2. Examine the LDIF from CICD integration

LDIF structure can be fetched from one of the previous sync logs. Following is the LDIF structure of content.type = service


{
  "content": [
    {
      "type": "service",
      "id": "cicd-connector-v2",
      "data": {
        "name": "cicd-connector-v2",
        "description": "CI/CD revamped",
        "owner": "[email protected]",
        "self": "https://github.com/leanix/self-url",
        "links": [
          {
            "name": "vcs",
            "url": "https://github.com/leanix/project-url"
          }
        ],
+        "custom": {
+         "mulesoftId": "fulfillment-test-api-1.0.0"
+        }
      }
    }
]
}

3. Create custom Integration API processors for CICD integration

{
  "processors": [
    {
      "processorType": "inboundFactSheet",
      "processorName": "Add Mulesoft ID from custom data",
      "processorDescription": "Add Mulesoft ID from custom data",
      "type": "Microservice",
      "run": 10,
      "identifier": {
        "external": {
          "id": {
            "expr": "${content.id}"
          },
          "type": {
            "expr": "cicdId"
          }
        }
      },
      "filter": {
        "exactType": "service",
        "advanced": "${data.custom.mulesoftId != null}"
      },
      "updates": [
        {
          "key": {
            "expr": "mulesoftApiId.externalId"
          },
          "values": [
            {
              "expr": "${data.custom.mulesoftId}"
            }
          ]
        }
      ]
    }
  ],
  "variables": {},
  "executionGroups": ["vsmCiCd"]
}

👍

Meta model

Refer to "Self-Configuration" tab for the respective factsheet to investigate the field keys

4. Trigger CICD integration

After the successful execution notice that Mulesoft API ID is now populated with fulfillment-test-api-1.0.0

5. Rerun the MuleSoft Integration

2746

Automatically relation is established after running MuleSoft integration

FAQs

Where do I find my MuleSoft Anypoint Exchange Organization Name?

  1. Go to Mulesoft Anypoint Plattform
  2. Find all your available Organizations listed

🚧

Spaces in the Organization Name

If you copy the name of the organization from the Mulesoft Anypoint user interface, please make sure that no spaces that do not belong to the name are copied.