Runtime Configuration via Design-Time Artifacts

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern enterprise software applications face challenges in configuration management due to hardcoded configurations, leading to non-uniform implementations and limited interoperability across applications, especially for complex functions that span multiple systems.

Innovation Solution

A centralized configuration service that uses configuration artifacts to dynamically configure runtime behavior, allowing users to select and combine pre-defined elements to create configuration models, which can be deployed across multiple applications, enabling unified configuration and functionality management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If configuration is hard coded during development, then the application functionality is fixed and stable, but the configuration cannot be easily modified and is isolated within a single application

Engineering Contradiction:
Improveconfiguration stabilityVSAvoidconfiguration modifiability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent segments configuration from application code by introducing separate configuration files and artifacts. Configuration is divided into hierarchical levels (system, application, module) and separated into design-time artifacts and runtime parameters, allowing independent modification without affecting the core application code.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces configuration artifacts and configuration services as intermediaries between the application code and the actual configuration data. These artifacts serve as a bridge that allows configuration to be externalized, standardized, and shared across multiple applications while maintaining application-specific customization.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Device complexity

If configuration is hard coded during development, then the implementation is simple within a single application, but interoperability between applications is limited

Engineering Contradiction:
Improveconfiguration implementation simplicityVSAvoidcross-application interoperability
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent creates universal configuration artifacts that can be used across multiple applications. Configuration schemas, templates, and packages are designed to be application-agnostic, allowing the same configuration artifacts to serve multiple purposes and enable interoperability between different applications while maintaining individual application requirements.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent enables configuration to be modified through parameter changes in external configuration files rather than code changes. This allows runtime configuration adjustments, easy updates, and standardized parameter interfaces that can be shared across applications, improving interoperability without increasing implementation complexity.

Inventive Principle:
Principle #35Parameter changes

3Stability of the object's composition

If configuration is isolated within a single application, then the application is self-contained, but adding or modifying functionality across applications is difficult

Engineering Contradiction:
Improveapplication self-containmentVSAvoidfunctionality modification efficiency
Core Design Contradiction:
Stability of the object's compositionVSProductivity

Solution Approach 1:

The patent implements a nested configuration structure where configuration artifacts are organized in hierarchical layers (system-level configurations containing application-level configurations containing module-level configurations). This nested structure allows applications to maintain self-containment while inheriting and sharing configurations from parent levels, enabling efficient cross-application functionality modifications.

Inventive Principle:
Principle #7Nested doll (Nesting)

Solution Approach 2:

The patent performs preliminary configuration actions at design time by creating configuration artifacts, schemas, and templates before runtime. This preliminary structuring of configuration data allows applications to be self-contained during execution while enabling rapid functionality additions and modifications through pre-prepared configuration packages and artifacts.

Inventive Principle:
Principle #10Preliminary action

4Adaptability or versatility

If different IDEs and programming languages are used, then developers have flexibility in tool selection, but configuration implementation becomes non-uniform

Engineering Contradiction:
ImproveIDE and language flexibilityVSAvoidconfiguration uniformity
Core Design Contradiction:
Adaptability or versatilityVSManufacturing precision

Solution Approach 1:

The patent enforces homogeneity in configuration implementation by introducing standardized configuration schemas, validation rules, and artifact structures that must be followed regardless of the IDE or programming language used. This standardization layer ensures uniform configuration implementation across diverse development environments while preserving developer flexibility in tool selection.

Inventive Principle:
Principle #33Homogeneity

Data Source

PatentUS11392393B2Application runtime configuration using design time artifacts
Publication Date: 2022.07.19 SAP SE
  • US11392393B2 patent drawing
  • US11392393B2 patent drawing
  • US11392393B2 patent drawing

AI summary

Functionality configuration for applications is provided by a configuration service. An application may register with a configuration service for functionality configuration. A configuration model may be created for the application and deployed to the application for use in configuring the functionality and behavior of the application. The configuration model may be stored by the configuration service and maintained at the configuration service. The configuration model may be provided to multiple additional applications, or customized and provided to additional applications. Use of a single or related configuration models may standardize functionality and maintenance across related applications.