Component-Based Application Bundle Assembly for Mobile Devices
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Developing and maintaining software applications for various mobile devices is challenging due to restricted resources and the complexity of delivering large data sets, with current solutions like native applications being platform-specific and requiring extensive programming expertise, and browsers being resource-intensive and non-platform-independent.
Innovation Solution
A component-based application development and deployment environment that assembles an application bundle using structured definition language components, enabling message communication between devices and data sources, with a build service interface and engine to facilitate deployment across different runtime environments.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If native applications are developed for each platform, then application performance and device optimization are improved, but platform independence deteriorates and development complexity increases
Solution Approach 1:
The application is divided into separate components: a platform-independent application layer written in Java that handles business logic, and platform-specific presentation layers that handle device-specific interactions. This segmentation allows the core application to remain portable while adapting to different platforms through separate presentation components.
Solution Approach 2:
An intermediary component architecture is introduced where the Java-based application layer communicates with platform-specific presentation layers through defined interfaces. This mediator approach enables platform independence while maintaining optimized performance for each device type through the presentation layer adaptation.
2Reliability
If multiple compiled versions of applications are created for different platforms, then platform-specific optimization is improved, but development time and maintenance complexity increase
Solution Approach 1:
The application code is segmented into a single compiled Java binary that contains the platform-independent business logic, and separate configuration/presentation files for each platform. This eliminates the need to compile multiple versions of the core application while still providing platform-specific optimization through the presentation layer.
Solution Approach 2:
Platform-specific parameters and configurations are changed through configuration files and runtime parameters rather than recompiling the application. The same Java binary can adapt to different platforms by loading appropriate configuration data and presenting information through platform-specific presentation layers.
3Adaptability or versatility
If browsers are used for application delivery, then platform independence is improved, but resource consumption and data delivery complexity increase
Solution Approach 1:
Instead of delivering full HTML pages through browsers that require rendering at runtime, the system pre-compiles the application logic into a compact Java binary format that can be efficiently downloaded and executed. This copying approach transforms the application into a resource-efficient format that maintains platform independence while reducing bandwidth and device resource requirements.
4Quantity of substance
If application data is delivered in large amounts to devices, then data completeness is improved, but network complexity and delivery difficulty increase
Solution Approach 1:
Application data and logic are pre-processed and packaged into a compact binary format before delivery. The build service pre-assembles the application bundle with all necessary resources, configurations, and business logic in an optimized format, eliminating the need for complex runtime data assembly and reducing network delivery complexity.
Data Source
AI summary
A system and method for assembling an application bundle representing an application including a first component having definitions expressed in a structured definition language and optionally a second component having a series of instructions, such that the application bundle is for provisioning on a device for assisting in message communication over a network between the device and a datasource. The system and method comprises a build service interface for receiving a series of elements of the application, the elements including mapping and interface information of the datasource and a description of the first component. The system and method also have a build engine coupled to the build service interface for assembling the received elements as the application bundle, wherein the application bundle is subsequently deployable to an application bundle storage.


