Unified Data Model for Two-Tiered Mobile Application Development
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current software development tools for mobile devices face challenges in creating platform-independent applications that are resource-efficient, as native applications are large and memory-intensive, while web-based applications struggle with data persistence and runtime rendering, necessitating complex and time-consuming development processes.
Innovation Solution
A component-based application development environment using a unifying data model that transparently programs tiers of a two-tiered application, allowing for the creation of platform-independent applications with a graphical user interface, enabling drag-and-drop design and automatic code generation for client and server components.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If web-based applications are used, then platform independence is achieved, but data persistence and runtime rendering performance deteriorate
Solution Approach 1:
The application is segmented into distinct components: a presentation layer for UI rendering, a data layer for persistent storage, and a business logic layer. This segmentation allows the presentation layer to be platform-independent while the data layer ensures reliable persistence, resolving the contradiction between web-based portability and data reliability.
Solution Approach 2:
An intermediary component is introduced that bridges the web-based presentation layer and the data persistence layer. This intermediary handles data caching, synchronization, and offline storage, enabling web applications to maintain data persistence without compromising platform independence.
2Speed
If native applications are used, then application performance is improved, but memory resource consumption increases
Solution Approach 1:
The application employs dynamic resource allocation where memory resources are allocated on-demand based on user interaction and data requirements. Frequently used data is cached in memory, while less frequently accessed data is stored externally, providing native-like performance while optimizing memory consumption.
Solution Approach 2:
The system dynamically adjusts memory allocation parameters based on device capabilities, user preferences, and current operational state. This allows the application to optimize performance by allocating more memory when available while maintaining functionality with reduced memory usage on constrained devices.
3Adaptability or versatility
If separate development tools are used for client and server behavior, then specialized functionality is achieved, but development complexity increases
Solution Approach 1:
The invention merges client and server development tools into a single integrated environment that provides unified visualization of the two-tiered application. This unified toolset allows developers to work with both client and server components simultaneously while maintaining specialized functionality through modular architecture, thereby reducing development complexity.
Solution Approach 2:
A universal development environment is created that can handle both client-side and server-side development tasks. This multi-functional toolset provides consistent APIs, shared data models, and coordinated debugging capabilities for both tiers, eliminating the need for separate specialized tools while preserving their individual capabilities.
Data Source
AI summary
An application generation environment coordinates development of component-based two-tiered applications using a unifying data model comprising an interconnected model of objects. The data model unifies the two-tiered application to present a single logical application for visualization and for programming using a graphical user interface. The data model transparently programs tiers of the application in response to user input to program the single logical application. Application components are generated for execution within a two-tiered execution environment such as a client device (e.g. a wireless mobile device) and a gateway server providing a stateful proxy with which to access services or a remote data source via a network. The application components may by generated with marks to denote portions thereof for execution within the respective tiers of the two-tiered execution environment.


