Runtime Metadata Generation for Mobile App Data Synchronization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Developing mobile device applications is tedious and time-consuming due to the need for extensive code writing to support synchronization of data between mobile devices and servers, which affects maintainability, readability, and scalability.
Innovation Solution
A framework for generating runtime metadata that allows developers to write minimal application-specific code by parsing metadata files to instantiate classes representing application databases and data records, creating accessible metadata objects for database and property metadata.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If developers write extensive code to support data synchronization between mobile devices and servers, then data synchronization functionality is achieved, but development time and complexity increase
Solution Approach 1:
The system performs preliminary actions by automatically generating boilerplate code for data synchronization, event handling, and data access operations before the developer needs to write them. The code generator creates pre-configured templates based on database schemas, eliminating the need for developers to manually write repetitive synchronization code from scratch.
Solution Approach 2:
The system uses copying by generating code templates and patterns that can be reused across different parts of the application. Once a synchronization pattern is established for one database table, the same template structure is copied and adapted for other tables, reducing development time while maintaining consistent functionality.
2Reliability
If developers write extensive code to support data synchronization, then data synchronization is achieved, but code maintainability and readability decrease
Solution Approach 1:
The system extracts the repetitive and maintenance-heavy portions of synchronization code and replaces them with automatically generated templates. By taking out the boilerplate code writing task from the developer's responsibilities, the remaining code becomes more focused on business logic and easier to maintain.
Solution Approach 2:
The generated code uses universal templates and patterns that work across multiple database tables and synchronization scenarios. This multi-functionality means that the same code structure handles various synchronization cases, improving readability and maintainability through consistency.
3Reliability
If developers write extensive code for data synchronization, then synchronization functionality is achieved, but application scalability is reduced
Solution Approach 1:
The system enables dynamic adaptation by generating code that can automatically adjust to different database schemas and synchronization requirements. The code generator creates flexible templates that can be configured for various data models, allowing the application to scale to new database structures without requiring extensive manual code rewriting.
Solution Approach 2:
The system segments the synchronization code into modular, independently configurable units. Each database table and synchronization operation is handled by separate generated code modules, making it easier to add, remove, or modify synchronization behavior for specific tables without affecting the entire application.
4Reliability
If developers manually create code for database representation classes, then database functionality is implemented, but development effort and time increase
Solution Approach 1:
The system implements self-service by automatically generating database representation classes, event classes, and data access code from database schemas. The code generator serves itself by reading the schema definitions and producing the necessary code structures without requiring manual intervention for each class creation.
Solution Approach 2:
The system performs preliminary code generation actions by creating database representation classes before the application runtime. This pre-generation of classes based on schema definitions eliminates the need for developers to manually create these foundational structures during application development.
Data Source
AI summary
A system and method for generating runtime metadata for use in the development of mobile device applications. A metadata file, such as an XML file that is used to capture the metadata for a database associated with a mobile device application, is used to generate initialization code. This initialization code, when executed, creates runtime metadata for the application database in terms of a first object (e.g. classID object) through which metadata associated with the application database is accessible and at least one second object (e.g. propertyID object) through which metadata associated with a property of a data record of the application database is accessible.


