Configurable Software Framework for Enterprise Customization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software developers face challenges in creating applications that cater to diverse user needs, particularly in enterprise settings, where unique organizational structures and requirements necessitate customization, often requiring significant time and cost for redesign and redevelopment.

Innovation Solution

A configurable software framework with user-friendly utilities that expose the application framework, allowing end users to customize data elements, controls, event handlers, and metadata structures without custom programming, enabling flexible reconfiguration to meet specific business needs through a Service-Oriented Architecture (SOA) that decouples presentation, business services, and data control layers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a software application is designed to be universally tailored for all users, then it can meet the needs of a broad variety of end-users, but it becomes difficult or impracticable to accommodate unique organizational structures and requirements

Engineering Contradiction:
Improveadaptability to user needsVSAvoidapplication complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The application is segmented into distinct configurable layers including presentation layer, business services layer, and data control layer. Each layer can be independently configured through metadata, allowing the system to adapt to different user needs without increasing overall system complexity. The metadata structure itself is segmented into hierarchical components that can be selectively activated.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A single framework application provides universal functionality that can be configured to serve multiple different purposes and user types. Through configurable metadata and reusable components, the same application framework can be tailored for diverse organizational structures and requirements, eliminating the need for multiple specialized applications.

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

2Adaptability or versatility

If customization requires a software developer to redesign the application, then the application can be fully customized for unique needs, but significant delays and costs are introduced

Engineering Contradiction:
Improvecustomization capabilityVSAvoiddevelopment time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

End users are empowered to perform their own customization through configuration utilities that expose the application framework. Users can directly modify metadata, configure presentation layers, and adapt business services without requiring developer intervention. This self-service capability eliminates the time loss associated with developer redesign while maintaining full customization capability.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The application framework is pre-configured with configurable metadata structures, reusable components, and flexible architecture that anticipate future customization needs. This preliminary preparation allows users to quickly adapt the application to new requirements without time-consuming redesign, as the foundational structure is already in place to support various configurations.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If customization requires a software developer to redesign the application, then the application can be fully customized for unique needs, but significant costs are introduced in compensation and opportunity costs

Engineering Contradiction:
Improvecustomization capabilityVSAvoiddevelopment cost
Core Design Contradiction:
Adaptability or versatilityVSLoss of energy

Solution Approach 1:

By enabling end users to perform their own customization through exposed configuration utilities, the system eliminates the need to compensate developers, installers, and troubleshooters for customization work. Users independently configure metadata and adapt the application to their needs, removing the labor cost component entirely while preserving full customization capability.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

A single universal framework application replaces the need for multiple customized applications developed by different developers. The configurable metadata and reusable components allow one application to serve multiple organizational needs, reducing overall development costs while maintaining adaptability to unique requirements.

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

4Productivity

If a configurable metadata structure is implemented to control informational content, then users can quickly reconfigure the application for new business requirements, but the device complexity increases

Engineering Contradiction:
Improvereconfiguration speedVSAvoidmetadata structure complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The metadata structure is segmented into hierarchical components that can be independently configured and managed. This segmentation allows users to quickly reconfigure specific portions of the application without affecting the entire system, improving reconfiguration speed while managing complexity through modular organization of metadata elements.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS7926030B1Configurable software application
Publication Date: 2011.04.12 HARMONY INFORMATION SYST
  • US7926030B1 patent drawing
  • US7926030B1 patent drawing
  • US7926030B1 patent drawing

AI summary

A configurable software application is provided, where the software application may be designed on a platform including at least one configuration utility for enabling end users to customize various aspects of the application. For example, end users may use the configuration utility to customize one or more user interface elements, event handlers, data handlers, and/or data elements of the application. The software application may be automatically updated to incorporate the user customizations. In one implementation, custom user interface elements may be used to control a navigation of the application or an interaction with data elements of the application. In another implementation, custom data elements, based on a hierarchical metadata structure, may dictate an organization of the application. In another implementation, custom event handlers may control business logic and rules for the application, while custom data handlers may control interfacing with the data elements.