Code Generator for Dynamic XML Processing in Legacy COBOL Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional COBOL programming language lacks flexibility in reading and processing XML documents, requiring complex modifications and additional layers that increase costs and complexity, especially when transforming XML messages to COBOL layouts.

Innovation Solution

A code generator creates programs to read dynamic XML documents at runtime by parsing a template document to determine data structures, generating COBOL code that minimizes the need for complex XML Parse statements and middleware layers, thereby reducing development and maintenance costs and improving processing efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional COBOL programming language is used to read and process XML documents, then legacy system compatibility is maintained, but flexibility and processing capability deteriorate

Engineering Contradiction:
Improvelegacy system compatibilityVSAvoidXML processing capability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent introduces an intermediary component that translates between XML documents and COBOL data structures. This mediator enables COBOL programs to process XML documents without requiring direct XML parsing capability in the COBOL language itself, thus maintaining legacy system compatibility while enabling XML processing functionality.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The solution segments the XML processing functionality into separate, modular components that can be independently managed. By dividing the complex XML parsing and transformation tasks into discrete segments, the system maintains COBOL's core functionality while adding XML capabilities through separable interface layers.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If complex modifications and additional layers are added to COBOL to support XML processing, then XML processing capability is improved, but system complexity and development costs increase

Engineering Contradiction:
ImproveXML processing capabilityVSAvoidsystem architecture complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent creates a universal interface layer that handles multiple XML processing functions through a single standardized mechanism. This multi-functional approach allows the same intermediary component to handle various XML document types and processing requirements without requiring separate complex modifications for each scenario.

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

Solution Approach 2:

The solution uses template-based copying where standardized COBOL data structure templates are created that can be replicated and adapted for different XML processing scenarios. Instead of creating custom complex structures for each XML type, the system copies and modifies standardized templates, reducing overall system complexity.

Inventive Principle:
Principle #26Copying

3Adaptability or versatility

If manual transformation logic is implemented on middleware layer, then XML to COBOL transformation capability is achieved, but development cost and maintenance effort increase

Engineering Contradiction:
Improvetransformation capabilityVSAvoiddevelopment and maintenance cost
Core Design Contradiction:
Adaptability or versatilityVSEase of manufacture

Solution Approach 1:

The patent implements self-service automation where the system automatically generates COBOL code and transformation logic based on XML document schemas and templates. Instead of requiring manual programming of transformation rules, the system serves itself by auto-generating the necessary code, significantly reducing development and maintenance costs while maintaining transformation capability.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The solution performs preliminary actions by pre-defining COBOL data structure templates and transformation rules before actual XML processing occurs. These pre-configured templates and rules are prepared in advance, allowing the system to automatically handle transformations without requiring manual intervention during runtime or subsequent maintenance.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9684640B2Methods and apparatus for processing markup language documents
Publication Date: 2017.06.20 AMERICAN EXPRESS TRAVEL RELATED SERVICES CO INC
  • US9684640B2 patent drawing
  • US9684640B2 patent drawing
  • US9684640B2 patent drawing

AI summary

A method for facilitating the processing of markup language documents, e.g., XML documents, uses a code generator that creates programs configured to read dynamic XML documents at run time, avoiding many of the complexities arising from the use of conventional “XML Parse” statements. In one embodiment, this process involves (1) creating a template document using the markup language, wherein the template document includes a set of tags associated with the markup language documents; (2) parsing the template document to determine a data structure corresponding to the tags in the template document; and (3) generating an application program in the programming language (e.g., COBOL), wherein the application program includes a definition of the data structure, and is configured to read, during run-time, the markup language document and generate a corresponding set of data elements corresponding to the data structure.