MuleSoft API Led Connectivity Architectural and Design Patterns

In this blog, we will discuss what varieties of API Led Connectivity architecture can be implemented. API Led Connectivity talks about three layers like Experience API, Process API and System API. Each layer has its own roles, responsibility and functionality. 

API Led Connectivity is an architectural style that connects data to application through reusable and purposeful API. API Led Connectivity comprises three layers mentioned but every time it is not necessary we require all three layers.

System API

System API allows you to fetch the raw data from the system of records like JDBC, SAP, Salesforce, AS400 etc. Data fetch from backend systems can be exposed to upstream API in a secure and reliable way.

Below questions needs to be addressed for designing right System APIs

Below list of things needs to be taken care while designing the System API

Process API

Process API is responsible for orchestrating multiple downstream API (i.e. Collecting the data from multiple downstream API). The core functionality of Process API is to implement business logic, data aggregation, routing etc.

Below questions needs to be addressed for designing right Process APIs

Below list of things needs to be taken care while designing the Process API

Experience API

Experience API is the user facing API and it can be reused by different channels like mobile applications, web applications or any other channels.

Generally, Experience APIs are channel specific (for example, mobile application can consume mobile API, web application can consume web API etc.)

Below questions needs to be addressed for designing right Experience APIs

Below list of things needs to be taken care while designing the Experience API

Now, we will see different use cases where we can implement different API Led Connectivity Patterns.

Use Case 1

We have received the list of requirements from the client to implement the right API Led connectivity pattern.

Solution

As per requirements, we will be using three layers API Led Connectivity architecture. System Layer will unlock the system of records and Process API will collect and aggregate data from multiple systems via System API and send responses back to Experience API.

Experience API will expose the API to Mobile applications and Web Applications. In future, we can add more channel specific APIs at Experience Layer and reuse process and system apis. APIs will be secured at each layer by applying API policies and other security components.

Use Case 2

We have received the list of requirements from the client to implement the right API Led connectivity pattern.

Solution 1

Solution is similar to Use Case 1. Only difference is that the Process API will consume the Non MuleSoft System API (i.e. Unlocking the System of records).

Solution 2

In this solution, we will create a MuleSoft System API wrapper on the top of the Non MuleSoft API. As Non MuleSoft API is legacy and not according best practices and standardized. With MuleSoft System API, we can apply various security policies and enable analytics. 

There can be other ways where we can directly create MuleSoft System API on the top of backend systems but those are very legacy and complex. We may require additional efforts to do that like design, full development, testing etc. Related tutorial: Deploying Mulesoft on Azure DevOps.

Use Case 3

We have received the list of requirements from the client to implement the right API Led connectivity pattern.

Solution

In this solution, we don’t have to implement any business logic or need to perform orchestration of calls and all business logic written in backend systems.. So there is no need for the Process API. So Experience API can directly System API.

Use Case 4

We have received the list of requirements from the client to implement the right API Led connectivity pattern.

Solution

In this solution, we will not create an experience API directly as we will have only one channel that will be consuming the API and process to obey all the requirements of consumers like API Specifications. In this case, consumers can directly consume process API or we can create Proxy API on the top of Process API to hide actual implementation. Many organizations choose between an API proxy or API gateway to handle this.

Now you know there are different flavors of API Led connectivity that can implement. 

 

 

 

 

Top