1. OutSystems - Official Documentation
"Offline Data Synchronization Patterns": In the section discussing the Parallel Sync pattern
the documentation emphasizes the need for data independence. It states
"To fetch data in parallel
the Aggregates must be independent." This principle applies directly to the design of local entities; dependencies between them would prevent independent
and therefore parallel
synchronization.
2. OutSystems - Official Documentation
"Mobile and Reactive Web Apps Performance Best Practices": The section on "Fetching data" advises against creating data-fetching chains (cascading aggregates). It recommends using multiple independent Aggregates on a screen so they can be executed in parallel by the platform
which supports the validity of option B as good advice.
3. OutSystems - Training Material
"Architecting Sustainable Applications": The module on "Mobile Architecture" discusses designing a resilient and performant local storage. It advocates for creating a local data model that is optimized for the specific use cases of the mobile app
which often involves denormalization to avoid complex joins and dependencies
thereby improving data access and synchronization performance. This supports the reasoning against option A and for option C.