Generic Object Access Layer Decoupling Business Logic from GUI

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing large-scale software packages face challenges in decoupling business logic from proprietary graphical user interfaces (GUIs), leading to inconsistent results and poor performance when using new UI technologies or web services, as current APIs lack stateful access and fail to reuse existing user-exits and business logic.

Innovation Solution

A generic object access layer is introduced, allowing stateful access to business logic through object-specific access classes that replace PBO and PAI processes, enabling decoupling of business logic from GUIs and reusing existing logic, while providing input-state information and meta-data for UI development.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If business logic is directly coupled to proprietary GUI, then ease of operation is improved, but adaptability deteriorates

Engineering Contradiction:
Improveease of operationVSAvoidadaptability
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The system segments the software architecture into distinct layers: a presentation layer (GUI) and a business logic layer. The access class acts as an intermediary that separates GUI-specific code from business logic, allowing the business logic to be reused across different GUI technologies without direct coupling.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The access class serves as an intermediary component between the GUI and business logic. It provides a standardized interface that decouples the presentation layer from the business logic layer, enabling the business logic to remain independent while still being accessible by various GUI technologies.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Device complexity

If existing APIs are used without stateful access, then device complexity is reduced, but reliability deteriorates

Engineering Contradiction:
Improvedevice complexityVSAvoidreliability
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The access class performs preliminary actions by maintaining state information about the business object and the current interaction context. This stateful access allows the API to make informed decisions about data retrieval and manipulation, improving reliability without significantly increasing complexity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback mechanisms where the access class maintains state information about previous interactions and uses this information to improve subsequent operations. This feedback loop ensures consistent behavior and reliable data access across multiple API calls.

Inventive Principle:
Principle #23Feedback

3Adaptability or versatility

If business logic is decoupled from GUI, then adaptability is improved, but device complexity increases

Engineering Contradiction:
ImproveadaptabilityVSAvoiddevice complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The access class is designed as a universal component that can work with multiple different GUI technologies. It provides a standardized interface for accessing business logic that is independent of any specific presentation layer, allowing the same business logic to serve multiple UI frameworks.

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

Solution Approach 2:

The system creates an abstract representation of the business object through the access class, which copies the essential interface and behavior needed for GUI interaction without duplicating the entire business logic. This allows different GUIs to interact with business logic through a standardized copy of the interface.

Inventive Principle:
Principle #26Copying

4Productivity

If data traffic is reduced for performance improvement, then productivity is improved, but loss of information increases

Engineering Contradiction:
ImproveproductivityVSAvoidloss of information
Core Design Contradiction:
ProductivityVSLoss of information

Solution Approach 1:

The access class implements local quality by maintaining state information locally within the access class itself rather than requiring constant data retrieval from the business object. This local caching of relevant state information reduces data traffic while ensuring that necessary information is available for accurate operations.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS9298473B2System and method for a generic object access layer
Publication Date: 2016.03.29 SAP SE
  • US9298473B2 patent drawing
  • US9298473B2 patent drawing
  • US9298473B2 patent drawing

AI summary

An object access interface is described that effectively decouples a functional layer from a user interface (UI) layer. In the context of pre-existing functional objects that are specifically tailored to a pre-existing UI, a single entry point access-interface may define generic and object-specific functions. The function may be used to collect input routed to the associated function object, compile an input set in a form similar to how the pre-existing UI provided input sets, and process the compiled input and any resulting outputs from the function object.