Client-Side Flow Engine for Offline Cloud Database Synchronization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing mobile applications interacting with cloud-based database systems face challenges in providing customizable user experiences while accommodating offline operation due to variability in network connectivity.
Innovation Solution
A client-side flow engine service downloads flow configuration metadata and record data to a client device, enabling offline execution of customizable process flows by generating GUI displays and maintaining user input data locally, which is synchronized with the database system upon reconnection.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If cloud-based database systems are used to provide centralized data access, then data consistency and service management are improved, but network connectivity requirements increase and offline operation becomes difficult
Solution Approach 1:
The system divides data access functionality into two segments: online mode that connects to the cloud-based database system for centralized data consistency, and offline mode that uses a local database on the client device. The synchronization mechanism bridges these segments, allowing the application to segment network dependency while maintaining data integrity across both modes.
Solution Approach 2:
A synchronization mechanism acts as an intermediary between the local database and the cloud-based database system. This intermediary manages data transfer and conflict resolution when network connectivity is restored, enabling offline operation while ultimately maintaining centralized data consistency through controlled synchronization events.
2Productivity
If customizable user experiences with custom applications and features are added, then user productivity and experience are improved, but system complexity and development effort increase
Solution Approach 1:
The platform provides a universal set of customizable components including custom objects, fields, formulas, and visual force pages that can be configured through metadata. This multi-functional framework allows users to build diverse custom applications without requiring separate development efforts for each use case, reducing system complexity while maintaining high productivity.
Solution Approach 2:
The system uses metadata-driven configuration where customizations are defined through parameters and settings rather than hard-coded logic. Users can modify application behavior by changing metadata parameters such as object schemas, field definitions, and page layouts, enabling flexible customization without increasing underlying system complexity.
3Adaptability or versatility
If offline operation is supported with local data storage, then adaptability to network variability is improved, but data synchronization complexity and storage requirements increase
Solution Approach 1:
The system performs preliminary actions by establishing a local database and caching mechanism before offline operation is needed. Configuration metadata and essential data are pre-loaded into the local database, enabling immediate offline functionality. When connectivity is restored, synchronization is triggered automatically without requiring complex real-time coordination.
Data Source
AI summary
Database systems and methods are provided for supporting offline operation of a process flow associated with a native application at a client device. In an offline mode, the method creates a junction object at a client device maintaining an association between a flow and a record, generates a GUI display associated with the flow using downloaded flow configuration metadata, creates a second record comprising input information for the one or more fields for a form associated with the flow via the GUI element(s) of the GUI display, and updates the junction object to maintain an association with the second record. In response to exiting the offline mode, the method automatically creates a form record associated with the record at the database system using the junction object, where the form record includes the input information for the one or more fields from the second record at the client device.


