OData API Performance Testing Module

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for performance testing of OData APIs are limited, as they only measure the overall time for data retrieval and return, without providing detailed insights into the performance of each section of the API execution process.

Innovation Solution

The implementation of an API performance testing module that measures the time taken for each section of the OData API execution process, from the source system to the target application and back, and calculates additional performance metrics such as Key Performance Indicators (KPIs) to identify performance issues.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If only overall time for data retrieval is measured, then the measurement system is simple, but the measurement precision is insufficient to identify specific performance issues

Engineering Contradiction:
Improveperformance measurement precisionVSAvoidtesting module complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent segments the OData API execution process into multiple distinct sections: URL parsing, entity set identification, query parameter processing, data retrieval, and response generation. Each section is measured separately with dedicated timing mechanisms, allowing precise identification of performance bottlenecks without requiring an overly complex testing framework.

Inventive Principle:
Principle #1Segmentation

2Measurement precision

If detailed performance metrics are collected for each execution section, then the measurement precision improves, but the loss of information increases due to the volume of data to process

Engineering Contradiction:
Improveperformance metric accuracyVSAvoiddata processing overhead
Core Design Contradiction:
Measurement precisionVSLoss of information

Solution Approach 1:

The patent extracts only the most critical performance metrics from each execution section, such as timing data for URL parsing, entity set identification, and data retrieval operations. These extracted metrics are then aggregated into meaningful performance indicators like total execution time and bottleneck identification, reducing data processing overhead while maintaining measurement precision.

Inventive Principle:
Principle #2Taking out (Extraction)

3Productivity

If real-time monitoring of performance metrics is implemented, then the productivity of performance testing improves, but the use of energy increases due to continuous monitoring activities

Engineering Contradiction:
Improveperformance testing efficiencyVSAvoidcomputational resource consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent implements periodic sampling of performance metrics at key execution points rather than continuous monitoring. Timing measurements are taken at specific intervals corresponding to major execution phases (URL parsing completion, data retrieval start/end, response generation), which maintains testing efficiency while significantly reducing computational resource consumption compared to continuous monitoring.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS20250123944A1Systems and methods for odata API performance testing
Publication Date: 2025.04.17 SAP SE
  • US20250123944A1 patent drawing
  • US20250123944A1 patent drawing
  • US20250123944A1 patent drawing

AI summary

According to some embodiments, systems and methods are provided including an Application Programming Interface (API) source; a memory storing processor-executable program code; and a processing unit to execute the processor-executable program code to cause the system to: receive an API from the API source; insert one or more parameters into an endpoint of the API; execute, for a plurality of iterations, the API on a target system; receive performance data based on each of the plurality of executions of the API and the inserted one or more parameters; receive API information based on the inserted one or more parameters and an execution of the API; and display the performance information on a graphical user interface. Numerous other aspects are provided.