APIClient Middleware for Microservice-Monolith Request Routing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing frameworks struggle to manage request routing, request context, and resilience in workflows involving both microservices and monolithic applications, as existing frameworks are difficult to apply when a monolithic application remains part of the workflow.

Innovation Solution

A middleware client (APIClient) is deployed at both monolithic applications and microservices, incorporating a URL register, request context holder, and HTTP client for remote calls, along with resilience configurations to manage these aspects.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Stability of the object's composition

If a monolithic application architecture is used, then system stability and simplicity are maintained, but adaptability and ease of continuous enhancement are reduced

Engineering Contradiction:
Improvesystem stabilityVSAvoidadaptability
Core Design Contradiction:
Stability of the object's compositionVSAdaptability or versatility

Solution Approach 1:

The patent segments the monolithic application into microservices that can be independently developed and deployed, while maintaining a unified communication framework. The APIClient library divides the system into independent service units that communicate through standardized APIs, enabling continuous enhancement of specific functionalities without re-implementation of the entire system.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If microservice-based architecture is implemented, then adaptability and continuous enhancement are improved, but complexity of managing request routing and context is increased

Engineering Contradiction:
ImproveadaptabilityVSAvoidcomplexity of managing request routing
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The APIClient library serves as a universal component deployed at both monolithic applications and microservices, providing standardized functionality for URL registration, request context management, and HTTP client operations. This multi-functional approach simplifies the complexity by providing a unified interface across different architectural components.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent introduces an intermediary layer (APIClient with URL register and request context holder) that mediates between microservices and monolithic applications. This intermediary manages the complexity of request routing and context propagation, shielding developers from the underlying complexity while enabling seamless communication.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Extent of automation

If existing frameworks are applied to manage microservice workflows, then some level of automation is achieved, but ease of operation is reduced due to difficulty in application

Engineering Contradiction:
Improveautomation of request routingVSAvoidease of operation
Core Design Contradiction:
Extent of automationVSEase of operation

Solution Approach 1:

The APIClient library enables self-service automation where the system automatically manages URL registration, request context propagation, and HTTP client configuration. The framework performs required actions in advance by pre-registering URLs and maintaining request context, reducing the operational burden on developers while maintaining high automation levels.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS12445536B2Middleware for communication between microservices and monolithic application
Publication Date: 2025.10.14 SAP SE
  • US12445536B2 patent drawing
  • US12445536B2 patent drawing
  • US12445536B2 patent drawing

AI summary

Methods, systems, and computer-readable storage media for receiving, from a first entity, a first call, the call being received by a middleware client of a second entity, storing a set of headers associated with a workflow in a request context holder of the middleware client, and determining that a second call is to be executed from the middleware client of the second entity for the workflow, and in response: reading, by a client of the middleware client, the set of headers associated with the workflow, including the headers in a request of the second call, determining an endpoint for the second call, and transmitting the second call for receipt at the endpoint.