Software Component Environment for Managed API Authentication

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern software applications face challenges in development and maintenance due to the complexity of interacting with multiple third-party APIs, requiring multiple calls to achieve desired results, which can involve data pagination, authentication, and combining data from different sources.

Innovation Solution

A software component environment that abstracts API calls through an interface abstraction layer, allowing developers to compose operations using data connectors, authentication tokens, and unified actions, enabling seamless interaction with multiple APIs and data sources while managing technicalities like authentication and pagination.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If multiple API calls are made to obtain desired data results from third-party data sources, then data completeness is improved, but development and maintenance complexity increases

Engineering Contradiction:
Improvedata completenessVSAvoiddevelopment and maintenance complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary layer (abstraction layer) between the software application and multiple third-party APIs. This intermediary manages the complexity of multiple API calls, authentication tokens, and data aggregation, allowing the application to obtain complete data results without directly handling the complexity of individual API interactions.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If multiple API calls are made to interact with third-party services, then desired data results can be obtained, but ease of operation deteriorates

Engineering Contradiction:
Improvedata retrieval capabilityVSAvoidease of operation
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent merges multiple separate API call operations into a single unified operation through the abstraction layer. Developers can retrieve complete data results from multiple third-party APIs through one simplified call, combining the functionality of multiple individual API interactions into a single ease-of-use interface.

Inventive Principle:
Principle #5Merging (Combining)

3Adaptability or versatility

If authentication information is managed for multiple data connections to external software services, then access to external services is enabled, but system complexity increases

Engineering Contradiction:
Improveaccess capability to external servicesVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent extracts authentication management from the core application logic and places it in a separate abstraction layer. This extraction handles authentication tokens and credentials for multiple external software services independently, allowing the application to access various external services without the authentication complexity affecting the main system.

Inventive Principle:
Principle #2Taking out (Extraction)

4Reliability

If data from multiple external software services is aggregated, then data aggregation capability is improved, but processing time increases

Engineering Contradiction:
Improvedata aggregation capabilityVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements preliminary action by pre-fetching and caching data from external software services when possible. The abstraction layer prepares and stores authentication tokens and data results in advance, reducing the time required during actual data aggregation operations by having preliminary data and credentials ready before they are needed.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11341214B2Managed authentication for software component environment
Publication Date: 2022.05.24 HARNESS INC
  • US11341214B2 patent drawing
  • US11341214B2 patent drawing
  • US11341214B2 patent drawing

AI summary

Various embodiments support or provide for a software environment in which one or more software components (e.g., APIs) can be relationally composed together by logic (e.g., as defined using a computer language) to form an operation that abstracts details of the composition, such as details relating to the multiple API calls being made in the composition, to implement the logic of the operation. Depending on the embodiment, a particular software component environment can comprise one or more of the following: a data connector to an external software service; stored authentication information to establish access to the external software service; an operation having defined logic for using at least one data connector or another operation (e.g., from operation repository); or an endpoint for deploying the operation for access.