Central Event Catalog for Microservice Structure Accuracy

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In event-driven microservices architecture, maintaining accurate and up-to-date event structures across multiple services is challenging for system designers, as event consumers need to know the structure of events published by event producers, which can lead to errors and inefficiencies in updating and processing events.

Innovation Solution

A central event catalog is implemented at design time, where an event description document is created and stored, including an event identifier, source code, and annotations, allowing event consumers to reconstruct the event structure at runtime, thereby ensuring accurate processing and avoiding the need for continuous updates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If event consumers directly access event producers to obtain event structures, then event consumers can obtain event structures, but maintaining accuracy and up-to-date structures becomes challenging across multiple services

Engineering Contradiction:
Improveevent structure accuracyVSAvoidsystem complexity
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The patent introduces a central event catalog as an intermediary component that stores and manages event structure definitions. Event consumers query the catalog to obtain event structures rather than accessing event producers directly, ensuring they receive accurate and up-to-date information without increasing system complexity

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The event catalog creates and maintains centralized copies of event structure definitions that can be efficiently distributed to multiple event consumers. This copying mechanism ensures all consumers access identical, accurate event structures without requiring direct connections to event producers

Inventive Principle:
Principle #26Copying

2Reliability

If event producers manually update all consumers of an event structure, then consumers can receive updates, but this process is error-prone and inefficient

Engineering Contradiction:
Improveevent structure consistencyVSAvoidupdate efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

Event consumers autonomously query the central event catalog to obtain event structure definitions themselves, eliminating the need for manual updates from event producers. This self-service mechanism ensures reliability through centralized control while improving productivity by automating the update process

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The event catalog pre-stores event structure definitions in a centralized location before consumers need them. This preliminary action allows consumers to retrieve accurate event structures on-demand without waiting for manual updates, improving both reliability and efficiency

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11809919B2Central event catalog
Publication Date: 2023.11.07 SAP SE
  • US11809919B2 patent drawing
  • US11809919B2 patent drawing
  • US11809919B2 patent drawing

AI summary

In an event-driven architecture, at design time a central catalog allows event consumer(s) to reconstruct an event structure for later processing during runtime. The central event catalog receives from a publisher (of an event producer), an event description document specifying an event identifier, source code of an event class extracted from an event, and an annotation. This event description document is stored by the catalog as a central instance in a database. Upon receiving a query from an event consumer regarding the event, the event description document is returned as a query result. A code generator (of the event consumer) creates the event structure from the event description document, allowing processing of the event. Embodiments are particularly suited to centrally locate a single, up-to-date instance of an event description document, for reference in allowing multiple consumers of an event to accurately reproduce the latest version the structure of that event.