Capability Lists for Selective Backend Exposure in Multi-Tier Apps

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-tier computer architectures, changes to lower tiers can cause code in higher tiers to fail or require additional development, leading to delays in releasing a product, as multiple development teams across different countries and time zones struggle to coordinate effectively.

Innovation Solution

Implementing a 'development capabilities' approach that allows each tier to access and expose new features early in the development process, with a clear distinction between in-development and ready-for-release capabilities, enabling teams to start development sooner and avoid premature feature releases by using APIs to manage capability availability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If capabilities are exposed early for development, then development speed increases, but code stability deteriorates

Engineering Contradiction:
Improvedevelopment speedVSAvoidcode stability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies preliminary action by exposing backend capabilities to higher tiers before they are fully ready for production. Development teams can start coding against these capabilities in advance, performing development actions ahead of time. The system maintains separate capability lists (in-development vs ready-for-release) that allow early exposure while controlling actual production access, thus speeding up development without compromising final stability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments capabilities into distinct categories: in-development capabilities and ready-for-release capabilities. This segmentation is implemented through separate capability lists that are maintained and managed independently. The segmentation allows the system to expose different subsets of capabilities to different tiers, enabling development speed improvement for in-development capabilities while maintaining code stability through controlled exposure of only stable capabilities in production.

Inventive Principle:
Principle #1Segmentation

2Productivity

If multiple teams develop different tiers independently, then development parallelism increases, but coordination complexity increases

Engineering Contradiction:
Improvedevelopment parallelismVSAvoidcoordination complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements a universal capability listing mechanism that serves multiple functions simultaneously: it exposes capabilities from lower tiers to higher tiers, tracks development status, manages version compatibility, and enables coordinated development across teams. This single multi-functional system reduces coordination complexity by providing a common language and interface that all teams use, eliminating the need for separate coordination mechanisms for each interaction scenario.

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

Solution Approach 2:

The system provides feedback through the capability listing mechanism, where each tier can query and discover available capabilities from lower tiers. The capability lists act as feedback channels that inform higher tiers about the current state and availability of lower tier functionalities, enabling teams to adjust their development plans accordingly without direct communication overhead.

Inventive Principle:
Principle #23Feedback

3Measurement precision

If capability lists are maintained separately, then capability tracking precision increases, but system complexity increases

Engineering Contradiction:
Improvecapability tracking precisionVSAvoidsystem complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent introduces capability lists as intermediary data structures that mediate between the actual capabilities and the tiers that consume them. These lists serve as intermediaries that translate and expose capabilities in a controlled manner. The intermediary layer provides precise tracking and management of capabilities while shielding the complexity of capability management from both the capability owners and the consumers, thus maintaining precision without exposing full system complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS20190377555A1Selectively enabling requests to backend executable application programs from a user interface in a multi-tier computer architecture
Publication Date: 2019.12.12 SAP SE
  • US20190377555A1 patent drawing
  • US20190377555A1 patent drawing
  • US20190377555A1 patent drawing

AI summary

A method for selectively enabling requests includes There is a first list of in-development backend capabilities and a second list of ready-for-release backend capabilities. There is a third list of in-development middleware capabilities and a fourth list of ready-for-release middleware capabilities. There is a fifth list including backend capabilities which are exposed to a user interface by middleware capabilities, the fifth list being an intersection of the second list and the fourth list. There is a sixth list of development capabilities by taking an intersection of the first list and the third list combined with an intersection of the second list and the third list. Input is accepted from the user interface moving selected development capabilities from the sixth list to the fifth list. Requests from the user interface directed to the backend are selectively enabled to allow only requests directed to backend capabilities of the fifth list of capabilities.