Web App UI Design Tool Automating Server Code Generation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The integration of front-end user interface (UI) and back-end server components in web application development is complex and time-consuming, often requiring repeated communication between developers and resulting in miscommunication of specifications, which can delay product schedules and affect user experience.

Innovation Solution

An integrated design environment (IDE) with a UI design tool that allows front-end developers to drag-and-drop UI elements and classify them with back-end server components, automatically generating server properties, a JSON schema, and a WADL description to create a functional web application with integrated UI and server components.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If front-end and back-end developers work separately with repeated communication, then specification accuracy may improve through iteration, but development time and complexity increase significantly

Engineering Contradiction:
Improvespecification accuracyVSAvoiddevelopment time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The patent introduces an intermediary system that automatically translates front-end UI specifications into back-end service code. This intermediary eliminates the need for repeated manual communication between developers, while maintaining specification accuracy through automated translation and validation mechanisms.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system performs preliminary actions by pre-defining service templates and data models before actual development. Front-end developers can select from pre-configured service patterns, and the system automatically generates corresponding back-end implementations, reducing iterative communication needs.

Inventive Principle:
Principle #10Preliminary action

2Ease of operation

If front-end developers have full control over UI design, then user experience improves, but integration with back-end services becomes more complex

Engineering Contradiction:
Improveuser experienceVSAvoidintegration complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent segments the development process into independent front-end UI design and back-end service generation components. The front-end developer works independently on UI design with full creative control, while the system automatically handles the complex integration with back-end services through template-based generation, eliminating integration complexity from the developer's workflow.

Inventive Principle:
Principle #1Segmentation

3Reliability

If back-end developers implement services according to specifications, then service functionality improves, but the process requires significant back-and-forth communication

Engineering Contradiction:
Improveservice functionalityVSAvoiddevelopment efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system enables self-service by automatically generating back-end service code from front-end UI specifications without requiring manual implementation by back-end developers. The automated service generation ensures functional reliability through consistent translation of specifications, while eliminating the need for back-and-forth communication that reduces productivity.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9916140B2Method of generating end-to-end web application from tooling
Publication Date: 2018.03.13 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US9916140B2 patent drawing
  • US9916140B2 patent drawing
  • US9916140B2 patent drawing

AI summary

Techniques describe generating an end-to-end web application. A user interface (UI) design tool generates a first application that includes a UI having one or more UI elements. One or more classifications of server properties (e.g., REST resource names, JSON names, CRUD actions, etc.) are mapped to each of the UI elements. A data schema is generated from the classifications. A machine-readable description of the data schema and mapped classifications is generated. The UI design tool generates a second application from the machine-readable description. The second application is an implementation of the UI of the first application and the machine-readable description.