XML Customization Syntax for Metadata Engine Upgrades

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing metadata-driven software applications face challenges in customization, including the need for frequent reimplementation and retesting of modifications with each metadata upgrade, inability to implement conditional customizations, and increased complexity and costs due to direct modifications or predefined customizations.

Innovation Solution

A self-contained metadata engine generates customized metadata documents from base metadata and customizations, with a customization syntax, creation/update component, and restriction mechanism, along with memory and caching optimizations to support arbitrary customizations and efficient storage and lookup.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If direct modifications to base metadata are made for customization, then customization capability is improved, but reimplementation and retesting effort increases with each metadata upgrade

Engineering Contradiction:
Improvecustomization capabilityVSAvoidreimplementation and retesting effort
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent segments the metadata system into base metadata and customization layers. Customizations are stored as separate XML files that reference base metadata elements, allowing independent modification without affecting the core metadata structure. This segmentation enables customizations to persist across metadata upgrades while maintaining the ability to upgrade base metadata independently.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If predefined customizations are implemented directly in application metadata/code, then customization options are improved, but application complexity increases

Engineering Contradiction:
Improvecustomization optionsVSAvoidapplication complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent extracts customization logic from the core application metadata and code, placing it in separate customization XML files. This extraction allows the application to remain simple and maintainable while supporting extensive customization options through external configuration files that can be added, removed, or modified without changing the application itself.

Inventive Principle:
Principle #2Taking out (Extraction)

3Adaptability or versatility

If base metadata is upgraded with new features, then application functionality is improved, but existing customizations become incompatible and require reimplementation

Engineering Contradiction:
Improveapplication functionalityVSAvoidcustomization validity period
Core Design Contradiction:
Adaptability or versatilityVSDuration of action of stationary object

Solution Approach 1:

The patent implements preliminary action by designing the customization syntax to include forward-compatibility features from the outset. The XML-based customization structure uses element references and paths that can accommodate future metadata changes. When base metadata is upgraded, the system automatically processes existing customization files through the syntax, applying them to the new metadata structure without requiring manual reimplementation, thus preserving customization validity across multiple upgrades.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8788542B2Customization syntax for multi-layer XML customization
Publication Date: 2014.07.22 ORACLE INT CORP
  • US8788542B2 patent drawing
  • US8788542B2 patent drawing
  • US8788542B2 patent drawing

AI summary

Embodiments of the present invention provide techniques for customizing aspects of a metadata-driven software application. In particular, embodiments of the present invention provide (1) a self-contained metadata engine for generating customized metadata documents from base metadata documents and customizations; (2) a customization syntax for defining customizations; (3) a customization creation/update component for creating and updating customizations; (4) a customization restriction mechanism for restricting the creation of new customizations by specific users or groups of users; and (5) memory and caching optimizations for optimizing the storage and lookup of customized metadata documents.