Offline Business App Data and Logic Packaging

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Business users often face productivity losses due to limited or no internet connectivity, which prevents them from accessing important data and interacting with business logic stored on backend servers, especially for sales representatives who need to operate in offline modes during their visits.

Innovation Solution

A computer-implemented method that allows a client device to operate in offline mode by retrieving business objects and event handlers from a repository, modifying event triggers to point to native language-compatible handlers, and packaging these for local execution, enabling data access and interaction without backend server communication.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If application data and logic are stored on backend servers, then data security and centralization are improved, but accessibility during offline periods deteriorates

Engineering Contradiction:
Improvedata securityVSAvoidoffline accessibility
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The system performs preliminary actions by caching application data, metadata, and event handlers from the backend server to the client device before offline periods begin. This advance preparation ensures that all necessary resources are available locally when connectivity is lost, resolving the contradiction between centralized secure storage and offline accessibility.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system introduces a local cache layer as an intermediary between the backend server and the application. This cache stores copies of business objects, metadata, and event handlers, allowing the application to function offline while maintaining the ability to sync with the secure backend server when connectivity is restored.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If event handlers are written in server-side programming language, then backend integration is improved, but client device compatibility deteriorates

Engineering Contradiction:
Improvebackend integrationVSAvoidclient device compatibility
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The system changes the programming language parameter of event handlers based on the execution environment. Server-side event handlers are written in backend programming languages for optimal backend integration, while client-side event handlers are written in client device programming languages for optimal compatibility. The system automatically selects and executes the appropriate version based on whether the request originates from the server or client.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If all application resources are cached locally for offline mode, then offline functionality is improved, but device storage requirements increase

Engineering Contradiction:
Improveoffline functionalityVSAvoiddevice storage
Core Design Contradiction:
ProductivityVSVolume of stationary object

Solution Approach 1:

The system applies local quality by selectively caching different types of data with different retention strategies. Frequently accessed business objects and critical metadata are cached locally for offline access, while less critical data is kept in a sync queue for later synchronization. This differentiated approach ensures offline functionality for essential operations while minimizing unnecessary storage consumption.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system performs partial caching by storing only the subset of application data that is necessary for offline functionality, rather than caching everything. The cache includes business objects, metadata, and event handlers needed for offline operation, while excluding data that can be readily re-synchronized or is not essential for offline productivity.

Inventive Principle:
Principle #16Partial or excessive action

4Productivity

If event triggers are modified to point to client-side handlers, then offline execution is improved, but system complexity increases

Engineering Contradiction:
Improveoffline executionVSAvoidsystem architecture
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system implements dynamic event trigger resolution where the target of an event trigger is determined at runtime based on the execution context. When executing offline on a client device, event triggers are resolved to point to client-side event handlers. When executing online on the server, event triggers are resolved to point to server-side event handlers. This dynamic adaptation enables offline execution without requiring permanent duplication of all event handlers.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS20160085600A1Packaging Application Data and Logic for Offline Support
Publication Date: 2016.03.24 SAP SE
  • US20160085600A1 patent drawing
  • US20160085600A1 patent drawing
  • US20160085600A1 patent drawing

AI summary

A technique is described providing offline support to business applications. Offline support allows a business application running on a portable electronic device without connectivity to a backend server to operate as though the business application has access to a backend server. The technique receives a client request to operate the application in an offline mode. The technique then retrieves a business object to be utilized in the offline mode and an event trigger for interacting with the business object. The native programming language is then determined and then an event handler written in a native language of the client device and that is associated with the event trigger is retrieved. The event trigger is then modified to point to the event handler. The business object, event trigger, and event handler are then packaged together.