Component-Based Application Bundle Assembly for Mobile Devices

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveapplication performanceVSAvoidplatform independence
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improveplatform-specific optimizationVSAvoiddevelopment time
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If browsers are used for application delivery, then platform independence is improved, but resource consumption and data delivery complexity increase

Engineering Contradiction:
Improveplatform independenceVSAvoidresource consumption
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

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.

Inventive Principle:
Principle #26Copying

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

Engineering Contradiction:
Improvedata completenessVSAvoidnetwork delivery complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

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.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7895566B2System and method for building a deployable component based application
Publication Date: 2011.02.22 MALIKIE INNOVATIONS LTD
  • US7895566B2 patent drawing
  • US7895566B2 patent drawing
  • US7895566B2 patent drawing

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.