InfoSet API Reusing Report Business Logic

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing software development methods require significant programming effort to reuse portions of monolithic programs, especially when generating new user interfaces, as the business logic often remains unchanged, necessitating efficient mechanisms for reusing historical underlying business logic.

Innovation Solution

A method involving an API that calls a query to define selections for data retrieval, passing these selections to a report, persisting data in global memory for multiple session access, and using InfoSet API to separately call data retrieval components, allowing for the reuse of business logic without presenting selection screens or result lists.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If monolithic programs are generated, then software can be created with complete functionality, but reuse of portions of such programs requires significant programming effort

Engineering Contradiction:
Improvesoftware reuse efficiencyVSAvoidprogramming effort
Core Design Contradiction:
Ease of manufactureVSLoss of time

Solution Approach 1:

The patent segments the monolithic program into distinct reusable components: business logic layer, data access layer, and presentation layer. Each layer can be independently developed, tested, and reused across different applications, eliminating the need to rewrite entire monolithic programs and significantly reducing programming effort.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts the business logic from the presentation layer and encapsulates it in separate reusable components. This extraction allows the business logic to be reused across multiple applications without being tied to a specific user interface, thereby reducing the programming effort required when creating new applications.

Inventive Principle:
Principle #2Taking out (Extraction)

2Adaptability or versatility

If software is generated based on pre-existing building blocks, then reuse is facilitated, but the business logic often remains the same thereby necessitating reuse of pre-existing software

Engineering Contradiction:
Improveuser interface compatibilityVSAvoidsoftware architecture
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent applies local quality by allowing different presentations (user interfaces) to be tailored for specific platforms or devices while the underlying business logic remains standardized. This enables each presentation layer to have local adaptations for compatibility while reusing the core business logic, balancing adaptability with architectural simplicity.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent creates universal business logic components that can serve multiple presentations and applications. These reusable business logic units are designed to be platform-independent and can be invoked by different user interfaces, thereby achieving versatility without increasing overall software complexity.

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

3Reliability

If the business logic remains the same when generating a new user interface, then consistency is maintained, but significant programming effort is required to reuse pre-existing software

Engineering Contradiction:
Improvebusiness logic consistencyVSAvoidsoftware reuse efficiency
Core Design Contradiction:
ReliabilityVSEase of manufacture

Solution Approach 1:

The patent performs preliminary action by pre-defining and documenting the business logic in standardized, reusable components before creating new applications. This preliminary structuring of business logic into accessible building blocks enables developers to efficiently reuse proven logic while maintaining consistency, thereby improving both reliability and reuse efficiency.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7899841B2Reuse of business logic of reports as data sources
Publication Date: 2011.03.01 SAP SE
  • US7899841B2 patent drawing
  • US7899841B2 patent drawing
  • US7899841B2 patent drawing

AI summary

An InfoSet API calls a query, the call defining selections for data retrieval. These selections are passed by the query to a report, which obtains data responsive to the selections via a data source. The obtained data is persisted in a global memory which allows such data to be accessed in multiple sessions. The persisted data is retrieved from the global memory by the query which in turns provides such data in response to the InfoSet API call. Techniques for automatically creating aspects of Infosets are also described as well as other related techniques, apparatus, systems, and articles.