Rapid Application Development Environment for Cloud-Based Web Sites

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing rapid application development (RAD) tools for cloud-based data-driven applications require programming proficiency and complex client-based installations, making them difficult for non-technical users and time-consuming, with no real-time development and testing capabilities.

Innovation Solution

A software architecture and development environment using graphical user interface (GUI) functions that allows individuals with little programming experience to develop dynamic web sites with persistent data storage, enabling drag-and-drop widget placement, real-time database modification, and seamless transition between design, preview, and run modes without compilation or linking.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If RAD tools are designed to be simple and accessible to non-technical users, then ease of operation is improved, but device complexity increases due to the need for integrated development environments and client-based installations

Engineering Contradiction:
Improveease of use for non-technical usersVSAvoidcomplexity of client-based installation and development environment
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent introduces a server-based RAD tool that acts as an intermediary between non-technical users and the complex infrastructure required for cloud-based application development. The server handles compilation, database management, and deployment processes, allowing users to interact with a simplified web-based interface while the complex operations occur in the background on the server side.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent replaces the traditional mechanical approach of installing and running RAD tools locally on client machines with a cloud-based service model. Instead of requiring local development environments, database systems, and compilation tools, the entire RAD infrastructure is migrated to the server, accessible through standard web browsers.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Manufacturing precision

If RAD tools provide comprehensive development capabilities, then manufacturing precision is improved, but loss of time increases due to complex programming requirements and database design

Engineering Contradiction:
Improveprecision of application developmentVSAvoidtime required for programming and database design
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The patent implements automatic database schema generation that creates database structures directly from the application logic and user interface definitions. The system automatically infers data models, relationships, and constraints from the application code, eliminating the need for manual database design and reducing development time while maintaining precision through automated consistency checks.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent provides pre-configured templates, boilerplate code, and standardized development patterns that can be applied to common cloud-based application scenarios. These preliminary structures allow developers to start with ready-made frameworks and customize them rather than building from scratch, significantly reducing the time required for both programming and database design.

Inventive Principle:
Principle #10Preliminary action

3Manufacturing precision

If RAD tools require programming proficiency, then manufacturing precision is improved, but ease of operation deteriorates for non-technical users

Engineering Contradiction:
Improvequality of developed applicationsVSAvoidaccessibility to non-technical users
Core Design Contradiction:
Manufacturing precisionVSEase of operation

Solution Approach 1:

The patent divides the RAD tool functionality into distinct modular components: a user-friendly visual interface layer for drag-and-drop design, a compilation layer that translates visual designs into code, and a deployment layer that handles server-side operations. This segmentation allows non-technical users to work with simple visual elements while the complex code generation and compilation processes are handled automatically by the system.

Inventive Principle:
Principle #1Segmentation

4Adaptability or versatility

If cloud-based applications are developed with complex RAD tools, then adaptability is improved, but device complexity increases due to large client-based installations

Engineering Contradiction:
Improveversatility of cloud-based applicationsVSAvoidsize of client-based application installation
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent extracts the heavy RAD tool infrastructure from the client device and relocates it to the server. The client device only requires a standard web browser to access the RAD tool, eliminating the need for large local installations. The server handles all complex operations including compilation, database management, and application execution, allowing versatile cloud-based application development with minimal client-side requirements.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS8671387B2Compilation and injection of scripts in a rapid application development
Publication Date: 2014.03.11 GOOGLE LLC
  • US8671387B2 patent drawing
  • US8671387B2 patent drawing
  • US8671387B2 patent drawing

AI summary

Systems, computer-readable media, and methods are disclosed for generating compiled scripts from scripts that include at least one scripting-language instruction. The least one scripting-language instruction may include a script extension to specify a computational model of the application and/or a method extension to specify a function of the computational model. The script extension may be identified within the at least one scripting-language instruction and an identifier for the computational model specified by the script extension may be determined. A compiled script may be generated that includes scripting-language code for replacing the script extension by an access of the computational model identified by the identifier. The application may be executed by locating a compiled script for the application based on an identifier assigned to the compiled script, injecting the compiled script into the application, and executing the injected script in the application.