Thunder Wiki for Thunder Suite, JSON Thunder & XML Thunder

Page History: How to Parse XML Documents in COBOL

Page Revision: 2015/08/21 15:51

XML messages embed data in a single string. Extracting this data can be a challenge for programs written in languages such as COBOL that store information in specific fields. To work with XML data, sophisticated parsing and string manipulation routines are required while maintaining context for the data contained in message nodes.

The string processing logic for the above message is already advanced, but it will quickly grow in complexity for larger messages as you account for optional data and repeating structures.

So what are your options?

You can hand write the code to validate, parse, and create XML messages.

This can take weeks or even months of effort in development. Further, this approach requires deep understanding and expertise with XML. Development of support for industry standard messages can be error prone and thus costly.

Even after the processing code is developed, the majority of the cost of the application life cycle is still to come. The code will have to be maintained and, as organizations expect quick support for their business initiatives, efficient and prompt action is expected from developers. Requirements analysis and programming to support changes are typically very costly and have a high risk profile for not meeting all requirements and deadlines.

You can preprocess the XML with a generic parser.

Although faster than option 1, it can still take a significant effort to complete and you still have the risk of a major rewrite if a change occurs.

Preprocessing also introduces additional platforms and/or components, both of which increase application complexity.

XML Thunder is designed specifically to address the challenges of working with XML in legacy applications.
Using a model-driven development approach and XML Thunder’s visual designer, the power is in the coder’s hands to create a mapping of program fields to XML nodes. This mapping – called a Handler Design – is then used to generate all of the COBOL source code needed to read or write XML. The code is generated as a callable program module that can be used in new or existing COBOL applications. There are no runtimes required! And, there is no rewriting, which minimizes the time investment and the risk of error.

XML Thunder’s benefits include:

Faster time to market - modernize applications to read and write XML in hours, not days, weeks or even months.

Respond to changes quickly – implement new schema versions with minimal effort. Impress your internal or external business user by reacting quickly and efficiently to their ever changing requirements.

Keep focus on the business logic in your programs – not the complexities of XML.