Offline Business App Data and Logic Packaging
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Adaptability or versatility
If event handlers are written in server-side programming language, then backend integration is improved, but client device compatibility deteriorates
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.
3Productivity
If all application resources are cached locally for offline mode, then offline functionality is improved, but device storage requirements increase
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.
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.
4Productivity
If event triggers are modified to point to client-side handlers, then offline execution is improved, but system complexity increases
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.
Data Source
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.


