Technical Solutions for COBOL

English |


Redvers COBOL XML Interface

The Redvers COBOL XML Interface gives COBOL applications fast, efficient access to the world of XML and web services. This off-the-shelf software is written in pure COBOL and simply requires the coding of a COBOL record layout and CALL statement to generate or parse any well-formed XML.

Main features:

The Redvers COBOL XML Interface operates at record level, intelligently building all necessary XML element structures when generating and correctly interpreting XML structures when parsing. This approach replaces complex element level application logic with a single CALL statement that passes the next logical record to/from the application.

Our interface is currently used by customers all over the world, running on iSeries/AS400, UNIX, HP, Linux, Fujitsu BS2000, Micro Focus and IBM mainframe platforms.

It is frequently used in Service Oriented Architecture (SOA) projects and to integrate XML messages on IBM's MQ Series with core COBOL applications. It's also suitable for generating and parsing SWIFTNet messages and Single Euro Payments Area (SEPA) applications.

Download a PDF white paper on COBOL XML interfaces:

How it Works

Before a COBOL application generates or parses XML, a COBOL Record Definition (CRD) is coded, consisting of a working storage field definition for each XML element or attribute (the schema to copybook build tool can be used to create this). The CRD is then placed in the standard copybook library and a COPY/INCLUDE statement is added to the application code.

The CRD source code is also stored in the calling application so it can be passed to the interface routines in the CALL. This can either be done by coding the source into working storage or by reading the source from the copybook library at run time.

To generate XML, the COBOL application populates the CRD and passes it to the generation subroutine (RCXMLGEN) with the CRD source. RCXMLGEN then converts the COBOL data to XML elements & attributes and returns the XML document to the application.

To parse XML, the application passes the XML and CRD source to the parser subroutine (RCXMLPAR) which returns the COBOL data in the CRD fields.

The generation process is illustrated below:

COBOL XML Interface Flowchart

Parsing is achieved in a similar way to the above, except the application passes the XML document to RCXMLPAR which returns the COBOL data in the CRD.

Technical Information

The Redvers COBOL XML Interface 3.1 programs are sold in COBOL source code form and are installed by copying to the site source code library and running the standard COBOL compiler. Compilation at client sites enables installation on multiple platforms and it ensures complete compatibility with all other COBOL applications on the platform.

Using source code also allows our customers to make changes to certain values that would otherwise remain fixed. These values are known as User Maintained Variables (UMV's) and they can be tuned to reduce storage requirements or to generate XML in specific formats. Full details on all UMV's can be found in the product user guides.

In order to protect both clients and authors from unauthorized code changes, the subroutine source code has been "cloaked" using the Redvers Cloaking Device. This process makes no logical difference to the code but renders it unintelligible to humans.

The COBOL Record Definition (CRD) can be coded to generate or parse any XML tag names, attributes, namespaces, SOAP and mixed content elements. Very large documents are generated/parsed using multiple calls to the interface so that machine storage is kept to a minimum.

Generated XML documents conform to the World Wide Web Consortium (W3C) Extensible Mark-up Language (XML) 1.0 definition.

Parsed XML documents are checked for syntax errors. In the event of an error, a message is returned, identifying the erroneous character position within the input document. No schema or DTD validation is performed.

XML generation rate is 9.9 megabytes per second; parsing rate is 7.4 megabytes per second. All benchmark timings are based on an IBM zSeries mainframe running z/OS 1.10. Maximum on-line document size is 99 megabytes; there is no maximum document size for batch applications.

Sample XML Output

A SOAP example of XML produced by the Redvers COBOL XML Interface:

Sample XML produced by the Redvers COBOL XML Interface
Download the COBOL source code that created this XML document:

Download a free 30 day trial here...

PDF of these pages:

"the software works very well and will do the job for us."

JP Morgan (USA)

"You are my favorite vendor!"

FirstBank (USA)

"Your modules have already saved us hours upon hours of tedious XML integration tasks!"

Louisiana State University (USA)

"being able to generate and parse complex XML so quickly impressed our XML teams."

Unum (USA)

"As always your support is excellent."

Suncorp (AUS)

"we are very happy with your company and your product."


"I am impressed with your technology and we may need to call upon your services again someday."