| 3.6 Retrofitting XML Into
Legacy Applications We see as much value
in the use of XML in legacy applications on mainframes as in the use of XML in new
applications and in distributed computing. We discussed above how implementing XML
documents as the data exchange in CICS programs allows direct interface with XML aware
browsers as well as the transformation of the programs into re-usable components. In
addition to that, CALL interfaces and data exchange files can be encoded into XML, and
report files can be rendered in XML for viewing in a variety of presentations with
appropriate XSL stylesheets. Depending on the complexity of the files, customized batch
utilities can provide the encoding and decoding, or the programs creating the files can
have XML encoding and decoding logic added to them.
Again, the analogy to SQL is useful. The earliest database
management systems used a CALL interface to retrieve and update their data, just as the
earliest versions of CICS used macro commands. However, it proved to be more convenient to
extend the COBOL language with a utility program that would generate the CALL commands and
arguments for SQL or for CICS applications. To encode and decode XML documents, legacy
programs could have fully expressed STRING and UNSTRING logic, use a CALL interface to a
global or customized routine, or generate the necessary logic as needed by a utility
program.
Regardless of which technique is used to perform encoding and
decoding, we need to define data tags in a global repository where XML data typing and
validation rules were stored as well. This global repository needs to tie together the XML
schema specifications with the syntactical requirements of the legacy language data
specifications. Ideally, this would be an extension to a data management tool such as an
entity-relationship maintenance utility that could also provide version control. |