XML Binding Framework Synchronizing DOM and JAXB Views

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In software development, there is a conflict between ease of use and function robustness, with intuitive development tools lacking features and complex tools being difficult to learn, and existing XML implementations using DOM are not intuitive, making it hard for developers to work with XML data effectively.

Innovation Solution

A binding framework that synchronizes DOM and JAXB views, allowing developers to bind and update XML data in a non-destructive manner, providing intuitive interfaces and maintaining runtime consistency between the two representations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If developers use DOM-based XML manipulation, then XML data can be accessed and modified programmatically, but the interface becomes complex and not intuitive for developers

Engineering Contradiction:
Improveintuitiveness of XML data accessVSAvoidcomplexity of DOM interface
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary layer (custom generated interfaces) between the raw XML data and the developer's code. This intermediary automatically generates intuitive method names and parameters based on the XML schema, translating complex DOM operations into simple, self-documenting interface calls while maintaining full access to the underlying XML structure.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates a copied view of the XML data structure in the form of custom generated interfaces that mirror the schema definition. This copy provides an intuitive representation with meaningful method names and parameters, allowing developers to work with a simplified model while the system maintains the connection to the original XML data for lossless updates.

Inventive Principle:
Principle #26Copying

2Ease of operation

If developers use raw XML manipulation, then data structure is preserved, but code becomes cryptic and harder to maintain

Engineering Contradiction:
Improveself-documentation of codeVSAvoidloss of XML data meaning
Core Design Contradiction:
Ease of operationVSLoss of information

Solution Approach 1:

The custom generated interfaces act as an intermediary that adds semantic meaning to XML data access. Method names and parameters are derived from the XML schema, providing self-documenting code that clearly expresses the intended operation while the underlying implementation maintains the connection to raw XML structure, preserving all original data information.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of operation

If developers use custom generated interfaces from XML schemas, then code becomes more intuitive, but maintaining consistency with underlying XML data becomes complex

Engineering Contradiction:
Improveintuitiveness of interfaceVSAvoidcomplexity of synchronization mechanism
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The system implements automatic feedback mechanisms that track modifications made through the custom generated interfaces and automatically propagate these changes back to the underlying XML data. This feedback loop maintains consistency between the intuitive interface view and the raw XML representation without requiring manual synchronization, as the system automatically detects and applies updates.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The binding framework provides self-service functionality by automatically managing the synchronization between custom generated interfaces and XML data. The system monitors modifications, identifies corresponding XML elements, and performs lossless updates without developer intervention, making the complex synchronization process transparent and eliminating the need for manual consistency management.

Inventive Principle:
Principle #25Self-service

4Reliability

If developers manually synchronize changes between DOM and custom interfaces, then consistency can be maintained, but development time and effort increase

Engineering Contradiction:
Improveconsistency between viewsVSAvoidtime for synchronization
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system implements self-service synchronization where the binding framework automatically detects modifications made through custom generated interfaces and propagates these changes to the underlying XML data structure. This automatic mechanism maintains reliability and consistency between views without requiring developer time or effort for manual synchronization, as the system handles the entire process autonomously.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS7793255B1System and method for maintaining alternate object views
Publication Date: 2010.09.07 ORACLE AMERICAN INC
  • US7793255B1 patent drawing
  • US7793255B1 patent drawing
  • US7793255B1 patent drawing

AI summary

A binding framework including a binder operable to associate and synchronize particular document objects with corresponding content objects performs unmarshalling to create the content objects from the XML documents. The content objects, which may in particular configurations be JAXB content objects, provide an alternate view to the XML data contained in the underlying XML documents. Java (i.e. user) applications then modify, or update the content objects via the alternate view, and rewrite, or update, the corresponding XML document during a marshalling process (i.e. writing the data from Java back into XML). The binding framework maintains the associations such that bound content objects are modifiable and may update the corresponding XML data in a non-destructive manner which avoids overwriting or “clobbering” other preexisting data contained in the XML document object during marshalling. The synchronizer employs the associations to maintain runtime consistency between the XML, or DOM view and the Java, or JAXB view.