Auto-Generated Consumer Class for Event Streaming Schema

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In event streaming systems, developers face inefficiencies and errors due to the manual process of obtaining and implementing schemas to consume data, which is time-consuming and prone to mistakes during the development of client applications.

Innovation Solution

Automatically generating a class that conforms to the event streaming schema prior to compilation, using processing logic embedded in an IDE or standalone tooling, which determines the application's role as a consumer and generates a container class and helper class to deserialize records during runtime.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If developers manually obtain and implement schemas to consume data from event streaming platforms, then the consumption process can be achieved, but the development process becomes time-consuming and error-prone

Engineering Contradiction:
Improveschema implementation accuracyVSAvoiddevelopment time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by automatically generating the consumer class and deserialization logic before the developer needs to use them. The processing logic embedded in the IDE detects schema references and generates the necessary code structures in advance, eliminating the manual schema implementation step and reducing both time and errors.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system enables self-service by allowing the processing logic to automatically detect schema requirements, retrieve schemas from the event streaming platform, and generate consumer classes without developer intervention. The IDE plugin autonomously performs tasks that would otherwise require manual developer effort, improving both speed and accuracy.

Inventive Principle:
Principle #25Self-service

2Ease of operation

If developers manually code the class and deserialization logic, then customization and control are achieved, but the process becomes complex and time-consuming

Engineering Contradiction:
Improvedevelopment simplicityVSAvoidcode generation complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The processing logic embedded in the IDE acts as an intermediary between the developer and the event streaming platform schema. It automatically handles the complex tasks of schema retrieval, interpretation, and class generation, presenting a simplified interface to the developer while managing the underlying complexity automatically.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system replaces the manual mechanical process of coding classes and deserialization logic with an automated processing logic that embedded in the IDE. This substitution eliminates repetitive manual coding tasks while maintaining the ability to generate customized consumer classes based on schema requirements.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS12197401B2Object creation from schema for event streaming platform
Publication Date: 2025.01.14 RED HAT LLC
  • US12197401B2 patent drawing
  • US12197401B2 patent drawing
  • US12197401B2 patent drawing

AI summary

A method includes determining that an application is a consumer of one or more records of an event streaming platform. In response to the application being a consumer of the one or more records, a schema that is associated with the one or more records of the event streaming platform can be determined. The schema can define the data structure of each of the one or more records. The method further includes generating a class that structurally conforms to the schema. During runtime, the object that is instantiated from the class may be used by the application to consume the one or more records.