Metadata Processing Engine for Microservice Architecture

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In microservice architectures, efficiently handling metadata across multiple services with varying static and dynamic information is challenging due to scalability, service relationships, and version management, leading to complexity in metadata maintenance and processing.

Innovation Solution

A metadata processing engine utilizes a message queue to differentiate between static and dynamic metadata, generating unique keys for storage in a central repository, allowing direct access by consumer services, and employing a 'producer-consumer' pattern for asynchronous metadata management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If a central repository stores all metadata information for multiple services, then metadata retrieval efficiency is improved, but system complexity increases due to managing static and dynamic metadata from multiple providers

Engineering Contradiction:
Improvemetadata retrieval timeVSAvoidmetadata management complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

A dedicated meta service is introduced as an intermediary component between provider services and the central metadata repository. This meta service automatically listens to message queues, receives metadata from provider services, determines whether metadata is static or dynamic based on content analysis (e.g., tenant ID detection), and stores it appropriately in the repository. This intermediary automation resolves the contradiction by improving retrieval efficiency through centralization while reducing management complexity through automated classification and storage.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If metadata is stored centrally for all services, then scalability is improved, but handling tenant-specific dynamic metadata becomes more complex

Engineering Contradiction:
Improvesystem scalabilityVSAvoidtenant-specific metadata handling complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system implements local quality by differentiating storage locations and access patterns based on metadata type. Static metadata is stored in a standard location for all services, while dynamic tenant-specific metadata is handled with specialized logic that detects tenant IDs and applies appropriate storage and retrieval mechanisms. This allows the system to scale centrally while maintaining specialized handling for tenant-specific requirements without increasing overall complexity.

Inventive Principle:
Principle #3Local quality

3Ease of operation

If a dedicated meta service automatically manages the repository by listening to message queues, then ease of operation is improved, but processing delays may increase due to asynchronous operations

Engineering Contradiction:
Improvemetadata management easeVSAvoidmetadata processing delay
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The meta service performs preliminary actions by continuously listening to message queues and proactively capturing metadata from provider services before consumer services need it. By pre-processing and storing metadata in the central repository in advance, the system reduces actual processing delays when consumer services request metadata, while maintaining ease of operation through automated background processing.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11614981B2Handling of metadata for microservices processing
Publication Date: 2023.03.28 SAP SE
  • US11614981B2 patent drawing
  • US11614981B2 patent drawing
  • US11614981B2 patent drawing

AI summary

Embodiments facilitate efficient and flexible handling of metadata for processing in a microservice architecture (MSA) environment. A consumer service and a provider service both utilize a data model having metadata. A central repository stores metadata information that is being called for by a consumer service. A dedicated meta service manages the metadata repository by listening to a message queue to obtain model-relevant metadata information from a provider service. That model-relevant metadata information may be static in nature, or may be dynamic (e.g., varying as between different tenants). The meta service recognizes the static/dynamic nature of the model-relevant metadata information (e.g., based upon content such as a tenant ID or other information) in a message from the provider service, and stores the metadata accordingly. Once stored in the central repository, the model-relevant metadata information may be communicated directly to the consumer service.