EclipseLink Dynamic Attribute Mapping Interface

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software application users lack the necessary Java and database skills to extend the data set stored by applications beyond the default provided by the application provider, requiring them to write additional code or modify the application directly.

Innovation Solution

The EclipseLink environment allows application users to customize the data set by using a management interface to add mappings for custom attributes to flexible data structures without writing additional code, enabling dynamic extension of the persistence unit and supporting static and dynamic extensions through a Java Persistence API (JPA) framework.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If application users write additional code or modify the application directly to extend the data set, then the application can be customized to meet specific needs, but the complexity of operation increases and requires strong Java and database skills

Engineering Contradiction:
Improveapplication customization capabilityVSAvoiduser operation difficulty
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The patent introduces a management interface as an intermediary tool between application users and the core application code. This interface allows users to add custom attributes and mappings without directly modifying Java code or database schemas. The management interface translates user-friendly operations into appropriate data mapping configurations, eliminating the need for users to write code while still achieving customizations.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system enables application users to perform self-service customization by providing a management interface where they can independently add custom attributes, define mappings, and configure data structures. This self-service capability allows users to extend the application functionality without requiring intervention from application providers or needing deep technical expertise in Java and database programming.

Inventive Principle:
Principle #25Self-service

2Adaptability or versatility

If application users modify the application directly to extend functionality, then customizations can be implemented, but the risk of introducing errors and maintaining compatibility increases

Engineering Contradiction:
Improvedata set extension capabilityVSAvoidapplication stability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The management interface serves as a controlled intermediary that separates user customization actions from the core application logic. By configuring custom attributes and mappings through this structured interface rather than directly modifying code, users reduce the risk of introducing syntax errors, logical bugs, or compatibility issues. The interface enforces proper configuration formats and validation rules to maintain application stability.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system provides pre-defined templates, data types, and mapping configurations through the management interface that guide users in setting up custom attributes correctly. These preliminary structures prevent common configuration errors and ensure that new customizations are compatible with the existing application architecture, thereby maintaining reliability while enabling extension.

Inventive Principle:
Principle #10Preliminary action

3Ease of operation

If the application uses flexible data structures with predefined mappings, then the application can be customized without code, but the complexity of the data structure configuration increases

Engineering Contradiction:
Improvecode-free customizationVSAvoidmapping configuration complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The management interface segments the configuration process into discrete, manageable steps: adding custom attributes, selecting data types, defining mappings, and saving configurations. Each segment handles a specific aspect of customization independently, making the overall complex task more approachable and less overwhelming for users while maintaining ease of operation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system changes parameters such as data types, attribute names, and mapping relationships through the management interface rather than requiring code modifications. Users can adjust these parameters through intuitive controls, and the system automatically generates the necessary mapping configurations, reducing the perceived complexity while enabling flexible customization without code.

Inventive Principle:
Principle #35Parameter changes

4Stability of the object's composition

If the application requires redeployment to apply customizations, then the application structure remains stable, but the time required for updates and extensions increases

Engineering Contradiction:
Improveapplication structure stabilityVSAvoidupdate time
Core Design Contradiction:
Stability of the object's compositionVSLoss of time

Solution Approach 1:

The system enables dynamic customization where new custom attributes and mappings can be added and taken effect without requiring application redeployment. The management interface allows users to configure changes that are immediately applied or activated, providing dynamic adaptability while maintaining the stability of the core application structure. This eliminates the time-consuming redeployment cycle for customizations.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8954461B2Systems and methods for object to relational mapping extensions
Publication Date: 2015.02.10 ORACLE INT CORP
  • US8954461B2 patent drawing
  • US8954461B2 patent drawing
  • US8954461B2 patent drawing

AI summary

Generally, an application provider can use their understanding of the general problem domain to design an application that covers the majority of the functionality that is required by application users, e.g., the types and quantities of data that are required by an application and which are typically gathered and stored. By configuring the application with flexible data structures which can be mapped to a variety of different types of data by the application user, the application can be customized by the application user to meet his or her specific needs. When the application user wants to expand the data set that is stored by the application beyond what the application provider has provided, they can make use of a management interface to add mappings for custom attributes to the flexible data structures. The application users are not required to write any additional code or modify the application directly.