Customized Schema for Software Application Extensions

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Users face difficulties in extending and customizing software applications without coding, as existing methods like code generation and model engines are limited, making it hard to determine which parts of the generated code relate to specific functionalities and requiring full regeneration upon changes, leading to processing delays and portability issues.

Innovation Solution

A method that instantiates a data-centric software application, receives customization input to modify business logic, formulates a representative model, and applies it to a schema to generate a customized schema, extending the application's functionality without requiring users to write code.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If users write application extensions themselves, then customization capability is improved, but time requirement and technical knowledge requirement increase

Engineering Contradiction:
Improvecustomization capabilityVSAvoidtime requirement
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent introduces a code generator as an intermediary tool between the user and the application extension. The user provides customization requirements in natural language or through configuration files, and the code generator automatically produces the corresponding extension code, eliminating the need for users to manually write code while maintaining full customization capability

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system enables self-service by allowing users to independently create and customize application extensions through the code generator without requiring external assistance from system integrators or IT departments. The automated code generation process empowers users to perform customization tasks that previously required professional expertise

Inventive Principle:
Principle #25Self-service

2Ease of operation

If a code generator is implemented, then ease of operation is improved, but ability to determine code-functionality relationship deteriorates

Engineering Contradiction:
Improveease of customizationVSAvoidcode-functionality mapping
Core Design Contradiction:
Ease of operationVSDifficulty of detecting and measuring

Solution Approach 1:

The patent implements feedback mechanisms that provide users with clear mappings between their customization inputs and the generated code. The system displays how user specifications are translated into extension code, allowing users to verify and understand the relationship between their requirements and the resulting functionality

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The code generator processes customization requirements in modular segments, generating code in discrete, understandable units that correspond to specific user requirements. This segmentation makes it easier for users to trace which parts of the generated code implement which specific functionalities

Inventive Principle:
Principle #1Segmentation

3Ease of operation

If model engine approach is used, then ease of operation is improved, but processing delay increases when changes are made

Engineering Contradiction:
Improveease of customizationVSAvoidprocessing delay
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent implements a dynamic code generation system that can respond to user changes in real-time. When users modify their customization requirements, the system incrementally updates only the affected portions of the extension code rather than regenerating the entire extension, significantly reducing processing delays while maintaining ease of operation

Inventive Principle:
Principle #15Dynamics

4Adaptability or versatility

If users create extensions without coding knowledge, then adaptability is improved, but portability deteriorates

Engineering Contradiction:
Improvecustomization capabilityVSAvoidportability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent creates a universal extension framework where extensions generated for one user can be easily ported to other users and systems. The code generator produces standardized, platform-independent extension code that maintains consistent functionality across different environments, ensuring portability while preserving customization capability

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS8726234B2User-customized extensions for software applications
Publication Date: 2014.05.13 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8726234B2 patent drawing
  • US8726234B2 patent drawing
  • US8726234B2 patent drawing

AI summary

The present invention extends to methods, systems, and computer program products for allowing a computer system user to extend the functionality of a data-centric software application. The method includes instantiating the data-centric software application, where the data-centric application has portions of business logic categorized and associated with items of data-centric application functionality defined in a schema. The method includes receiving customization input to customize at least one of the portions of business logic. The method includes formulating a representative model corresponding to at least one of the portions of customized business logic. The method includes applying the representative model to the schema to generate a customized schema that extends the business logic of the data-centric software application. The method includes instantiating the data-centric software application in accordance with the customized schema to customize the functionality of the business logic in the data-centric software application.