Connecting COBOL through XML
May 3, 2006
Canam Software has released a new version of its XML Thunder software, one which works with HP 3000 COBOL applications.
"We have ported our XML enabling software to serve the HP 3000 community," said Canam director Peter Prager. "This product allows the creation and consumption of XML documents without platform moves or re-writes."
XML is getting popular as a standard format for data exchange, Canam says. The company's visual XML designer and code generator steps into the data transformation arena for the 3000 at a time when the platform's users need to improve interoperability with other systems. HP 3000s which are due for migration sometimes meet that fate because they don't share as easily as other platforms. XML Thunder is a new way to solve an old 3000 problem — making mission-critical data available to other environments.
Prager said getting XML Thunder ready for the 3000 didn't take a lot of effort. "Because of the language standards it uses it took us a relatively small effort to start supporting HP 3000," he said. "We believe that this solution can add a lot of value to users of the HP 3000 platform with the additional benefit of being able to use the very same solution when moving to another platform in the future." New to the 3000 community, Canam reports that it has an HP 3000 customer satisfied with the tool's performance.
Developers use the new Windows-based tool to create XML processing program code, called XML handlers, in a visual environment. XML Thunder lets a developer design and generate two distinct types of XML handling program code, XML Writers and XML Readers.
An XML Writer subprogram uses data passed to it to create an XML document and writes it to a data buffer. Conversely, an XML Reader subprogram parses XML data passed to it in a buffer and populates the corresponding program data structures.
Mark Wonsil of 4M Enterprises, one of the 3000 community's expert consultants on XML, said Canam's product makes 3000 data ready for XML in a different way than parsers. "This is different from most XML processing in that the programs are created to handle only one document — whereas XML parsers are designed to be extended for processing many document types," he said.
Wonsil explains that XML Thunder moves data to and from COBOL by creating standard COBOL source code in its Reader, while its Writer moves data from COBOL's definitions.
The program creates XML schemas (opposed to older Document Type Definitions or DTDs) from COBOL copybooks or a COBOL program. The COBOL levels become nested elements and the data definitions (numeric, char, etc) and repeating directives are preserved. One can also start with an XML document or an XSchema to create a COBOL reader program.
Once there is a data-definition (XSchema) one can alter the mapping of the COBOL elements to the appropriate XML elements. The program can create COBOL source code for an XML Reader, XML Writer and a test program.
The XML Reader will read XML data into a Cobol Data Definition. The writer moves data from a COBOL definition to an XML document. The test program is a simple program that confirms the data movement to and from COBOL.
Since it is always creating standard COBOL source code, one should be able to compile and run on the HP3000. I don’t think one would be able to retrieve XML documents from a network source since that would be different for each platform.