API Platform Architecture using Spring Boot

Platform Architecture

 The choice of API platform is the corner stone of your digital transition roadmap. Organisations for longtime invested heavily in exposing their processes in the hope of making reusable digital assets to support their growth. In this document we explain some of the key components of API Platform architecture that we have implemented for our clients. We lay down the architecture to key components of API Gateway, Security Gateway and Service Gateway. This terminology varies across different vendors, for example MuleSoft advocates the layered architecture of Experience API, Process API and System APIs. Ultimately the goal is to follow the separation of concerns pattern by placing an grouping APIs based on their purpose.  

 

API Gateway

API Gateway is a well known Micro Service pattern used in industry. The main purpose of API gateway is to hide the complexity of interacting with various different back-end services for the front-end clients. Although, some vendors including MuleSoft go for clear cut and defined version of Experience API and Process APIs, in this pattern the orchestration and front-end serving is combined into a single layer. In my opinion, the usage depends on the development structure suitable for the organisation and more importantly the type of services and provisioning process defined within the organisation. 

 

The main driving force for API gateway is different characteristics of the clients connectivity to the back-end systems. A mobile app connected through a mobile network is usually slower with higher latency compared to a LAN or WAN networks and hence, the role of API gateway is to optimise the connectivity for this purpose. In some cases, the requests would be proxied through the back-end services while others would be fanned out to multiple services. It is common that through API Gateway handles the security aspects and ensures the right level of access provisioned for the underlying services.

 

 

Service Gateway

 

Business Services

 

Application & Domain Services

 

Security Architecture

 

Multi-Factor Architecture

 

Event Driven Architecture

 

Caching Architecture

 

Audit Architecture

 

Configuration Architecture