Profile Adapter for Extensible Enterprise Contact Models

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Enterprise software systems often lack a standard configuration that meets user requirements, making it difficult for users to manage and customize without extensive development efforts, especially in adapting to changing business needs.

Innovation Solution

A mechanism that allows users to extend their contact model by adding attributes and custom objects over time, enabling data capture from various sources like web surveys and web services, without requiring major development efforts, through a profile adapter system that manages metadata and interactions with underlying data structures.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If enterprise software systems use a fixed standard configuration, then system stability and ease of deployment are improved, but the system cannot meet diverse user requirements and lacks adaptability

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

Solution Approach 1:

The system divides the contact model into standardized core attributes and extendable custom attributes. The profile adapter segments the data access layer, providing a standardized interface that handles both standard and custom attributes uniformly. This allows users to add custom attributes without affecting the core system structure, resolving the contradiction between adaptability and complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The profile adapter acts as an intermediary layer between the application layer and the data storage layer. It abstracts the complexity of handling extended attributes and custom objects, providing a uniform access mechanism. This mediator enables users to extend the contact model without increasing the apparent system complexity, as all access goes through the standardized adapter interface.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If users can directly customize software code to meet specific requirements, then system adaptability is improved, but the difficulty of maintenance and updates increases

Engineering Contradiction:
Improvecustomization capabilityVSAvoidease of system maintenance
Core Design Contradiction:
Adaptability or versatilityVSEase of manufacture

Solution Approach 1:

The system extracts the customization logic from the core software code and places it in the extendable contact model layer. Users can add custom attributes and objects through configuration rather than code modification. This separation allows the core system to remain unchanged and easily maintainable, while users gain full customization capability through the extracted, isolated extension mechanism.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system enables users to perform self-service customization by allowing them to define their own attributes and objects through the profile adapter interface. This eliminates the need for developers to modify core code for each customization request, making the system both highly adaptable and easy to maintain, as users can independently configure their needs without affecting the core system.

Inventive Principle:
Principle #25Self-service

3Adaptability or versatility

If the system provides extensive configuration options to meet all user needs, then adaptability is improved, but the ease of operation and setup deteriorates

Engineering Contradiction:
Improveconfiguration flexibilityVSAvoidease of system setup
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The contact model is designed to be dynamic and extensible. Users can add, remove, and modify attributes and objects as needed without reconfiguring the entire system. The profile adapter dynamically adapts to the configured model, providing flexibility without overwhelming users with static configuration options. This dynamic approach simplifies operation by allowing incremental customization rather than requiring comprehensive upfront configuration.

Inventive Principle:
Principle #15Dynamics

4Manufacturing precision

If enterprise software comes with offline customizations to the software code, then specific user requirements are met, but the complexity of deployment and updates increases

Engineering Contradiction:
Improveprecision of requirement fulfillmentVSAvoiddeployment and update time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

Instead of modifying core software code with offline customizations, the system uses the profile adapter to create virtual copies or views of the contact model that incorporate user-specific attributes and objects. This allows precise fulfillment of user requirements through configuration rather than code modification, eliminating the time loss associated with deploying and updating custom code while maintaining exact requirement fulfillment.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS9704168B2Method and system for implementing profiles for an enterprise business application
Publication Date: 2017.07.11 ORACLE INT CORP
  • US9704168B2 patent drawing
  • US9704168B2 patent drawing
  • US9704168B2 patent drawing

AI summary

Methods and systems for implementing extensible profiles for enterprise applications. Users of the system are able to continuously extend their contact model by adding additional attributes or by adding related custom objects over a period of time. This permits the users of the system to adapt to changing circumstances and needs. Web services are able to perform operations on the extended attributes and objects through the use of profile adapters. Some embodiments also provide the ability to capture data from various sources, such as web surveys, data imports, and web services and write it to the extended attributes/objects.