Metadata Engine Customization via Segmented XML Layers
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing metadata-driven software applications face challenges in customization, including the need for frequent reimplementation of customizations with metadata upgrades, 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, restriction mechanism, and memory/caching optimizations to support arbitrary customizations and efficient storage/lookup.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If direct modifications to base metadata are made for customization, then customization flexibility is improved, but maintenance complexity and reimplementation effort increase with upgrades
Solution Approach 1:
The patent segments customization from base metadata by introducing a separate customization layer. Customizations are stored as independent XML files that reference base metadata documents, allowing modifications without affecting the core metadata structure. This segmentation enables independent maintenance of base metadata and customizations, resolving the contradiction between flexibility and maintenance complexity.
Solution Approach 2:
The patent extracts customization logic from the base metadata document and stores it separately in external XML files. The customization engine reads base metadata and applies customizations dynamically, separating the immutable base metadata from the modifiable customization layer. This extraction allows upgrades to base metadata without requiring reimplementation of customizations.
2Adaptability or versatility
If multiple customizations are applied to a base metadata document, then customization capability is improved, but processing time and memory usage increase
Solution Approach 1:
The patent implements a caching mechanism that pre-processes and stores customized metadata documents after applying multiple customizations. When the same customization combination is requested again, the pre-processed result is retrieved from cache rather than re-applying all customizations, significantly reducing processing time for repeated requests.
Solution Approach 2:
The patent merges multiple customization documents into a single customized metadata document through the customization engine. The engine processes multiple XML customization files and integrates their modifications into one unified output, streamlining the application process and reducing the overhead of handling multiple separate customization files during runtime.
3Ease of repair
If customizations are stored separately from base metadata, then upgrade maintenance is improved, but storage structure complexity increases
Solution Approach 1:
The patent introduces a customization engine as an intermediary component that manages the relationship between base metadata and customization files. This engine handles the complexity of storing and retrieving customizations separately by providing a standardized interface for applying customizations to base metadata, thereby simplifying the overall system architecture despite the separated storage structure.
4Adaptability or versatility
If a metadata engine processes customizations at runtime, then customization flexibility is improved, but memory consumption increases
Solution Approach 1:
The patent implements a layered cache structure where frequently accessed customized metadata documents are stored in memory for quick retrieval, while less frequently accessed documents remain on disk. The cache adapts its memory allocation based on access patterns, storing only the necessary portion of customization data in memory rather than loading entire metadata documents, thereby reducing overall memory consumption while maintaining runtime flexibility.
Data Source
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.


