XML Data Binding via Element and Attribute Classes

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing XML data binding approaches either require complex code modifications for late addition of data binding in procedural methods or struggle with reusability in declarative methods, making it difficult to add support for data binding in existing projects and inefficient for new projects.

Innovation Solution

The development of element classes and attribute classes that include constructors, decomposers, and composers for non-atomic and atomic classes, respectively, allowing for the generation of XML documents without the need for extensive code writing and enabling reusability across projects.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If procedural approaches are used for XML data binding, then flexibility and late addition capability are improved, but code complexity and development cost increase

Engineering Contradiction:
Improvelate addition capabilityVSAvoidcode complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces element classes and attribute classes as intermediary components between existing Java classes and XML data binding. These intermediary classes handle the complexity of serialization and deserialization logic, allowing late addition of data binding without modifying existing business logic classes. The element classes serve as mediators that bridge the gap between existing objects and XML structures, encapsulating the complex transformation rules within reusable templates.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the data binding functionality into distinct reusable components: element classes for non-atomic types and attribute classes for atomic types. Each segment contains specific templates for constructors, serializers, and deserializers. This segmentation allows developers to add data binding support by incorporating only the necessary segments rather than implementing complete procedural binding logic, thereby reducing code complexity while maintaining flexibility.

Inventive Principle:
Principle #1Segmentation

2Ease of manufacture

If declarative approaches are used for XML data binding, then code writing effort is reduced and reusability is improved, but adaptability for existing projects deteriorates

Engineering Contradiction:
Improvecode writing effortVSAvoidlate addition capability
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

Solution Approach 1:

The patent creates a dynamic system where element classes and attribute classes can be selectively applied to existing Java classes through configuration rather than rigid compilation. The approach allows the data binding framework to adapt to existing project structures by dynamically determining which elements and attributes need binding support, enabling late addition without requiring complete re-engineering of existing classes. This dynamic configuration capability bridges the gap between declarative simplicity and adaptability to existing codebases.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent develops universal element class and attribute class templates that can be applied across different projects and existing Java classes. These templates serve multiple functions: they provide reusable serialization/deserialization logic, support various data types through inheritance, and can be configured for different XML schemas. This universality allows the same template structure to be used for late addition in existing projects while maintaining the simplicity of declarative approaches.

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

3Manufacturing precision

If XML Schema knowledge is required for data binding, then mapping precision is improved, but ease of operation deteriorates

Engineering Contradiction:
Improvemapping precisionVSAvoidease of use
Core Design Contradiction:
Manufacturing precisionVSEase of operation

Solution Approach 1:

The patent implements self-service mechanisms within the element and attribute class templates that automatically generate appropriate XML mappings based on Java class structures. The templates contain built-in logic that self-configures serialization and deserialization rules without requiring manual XML Schema definitions. This self-service capability maintains mapping precision by using type-safe Java reflections while eliminating the need for developers to manually write complex XML Schema mappings, thereby improving ease of operation.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces the mechanical process of manual XML Schema writing and configuration with an automated system based on Java class introspection and template instantiation. Instead of requiring developers to manually define XML schemas and mappings, the system automatically generates the binding configuration by analyzing Java class structures and applying predefined templates. This substitution maintains mapping precision through type-safe automation while dramatically improving ease of operation by eliminating manual Schema authoring.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS9430253B2Reusable and late addition enabled XML data binding
Publication Date: 2016.08.30 SAP SE
  • US9430253B2 patent drawing
  • US9430253B2 patent drawing
  • US9430253B2 patent drawing

AI summary

Various embodiments of systems and methods for reusable and late addition enabled XML data binding are described herein. A computer receives an element class that is created for a non-atomic class. The element class comprises a first constructor, a decomposer that returns data extracted from an object for an entity to aid in serialization, and a composer that extracts value of the entity and creates a new instance of the non-atomic class using the extracted value to aid in de-serialization. The object is of type non-atomic class. The computer also receives an attribute class that is created for an atomic class to which the non-atomic class refers to. The attribute class comprises a second constructor, a serializer, and a de-serializer. The computer then generates an XML document using the element class and the attribute class.