Up ] New COBOL ]

COBOL
Home News Listen Read Resources Feedback Contents Search RSS, Contacts

 

 

 

Sponsor Links

Fast, reliable data access for ODBC, JDBC, ADO.NET and XML
Need an expert for Java, XML and Web Services projects?
WSSC 2008: The only event dedicated to Web Services Security technology and business
IBM MQSeries for Compaq NSK - ( v. 5.1 ) - media
88x31 CTIX Logo - Clear Background
Microsoft SQL Server 2005 Standard Edition X64 - complete package
Corel DESIGNER Technical Suite - ( v. 12 ) - complete package
Find XML examples at XML Pitstop

 

468x60_new_prd_bl

XML and the New COBOL

Articles
XML publishing
Sarbanes-Oxley

Podcast
Java and XML
SQL/XML
Portals

Webcast
Java and XML
SQL/XML
Portals

Sites
COBOL
INCITS
W3C XML

Perhaps a measure of XML's importance is how it's changed industry standards. The SQL:2003 standard integrated an XML type and related functions. COBOL has been evolving with support for objects and .NET and the forthcoming standard will add XML support. Why is this significant?

- Today 75% of the world's business software is COBOL code.
- COBOL programs process 30 billion transactions per day.

Barry Tauber of Victor Consulting is a long-time member of the committee responsible for the COBOL standard (INCITS J4). He explains the integration of XML support into the COBOL standard.

COBOL has quietly been processing XML for quite a while. Ken North was nice enough to request some input from the COBOL community. The purpose here is to elaborate some on what is going on in the COBOL world with regard to XML. What I mean by "quite a while" is since business applications began to deliver data in XML format. My first personal exposure to XML with COBOL was a 1999 effort for the insurance industry (just as the Y2K hit). The following is an overview and background information, followed by the mechanics of processing XML.

The simple explanation of this issue is that COBOL views XML as data -- simply tagged character data. Because COBOL has been particularly adept at processing character data since its inception, there seems to be a natural fit. Additionally, the hierarchical structure of XML fits quite nicely with the record layouts in COBOL. The most significant issue when blending the two had been getting the XML data ‘in’ and putting the resultant XML, if any, ‘out’. With a few extensions to the COBOL language, the ability to process XML is very easy for persons with COBOL knowledge to learn. They are already familiar with the commands and the hierarchical structure; it is just more identifiable data. The extensions are valid whether program or class (yes, COBOL has classes, interfaces, implements object orientation, etc. – different subject).

The more detailed explanation needs some background. COBOL is one of those language that is owned by no one, standardized by a committee (following a myriad set of rules), and actually implemented by vendors free to include their own ideas and extensions. One practical side effect is that partial implementations are available before a standard has been formally published. The current COBOL standard is COBOL2002; it supercedes COBOL85, the successor to COBOL74. The time lag between standards was large in relation to the rate of technology change and so there was a change of process. Beginning with COBOL85, there have been various addendums (1989) and technical reports published. These documents added features to the language, can be implemented by vendors, and were written as if they were to be included in the following standard.

Draft COBOL Standard

The XML changes to the COBOL standard will be released as a Technical Report (TR). The TR will be published by the end of 2005 or middle 2006 and it will be based on features in the 2002 standard. When it is rolled into the 2008 standard, the TR will go away. Anyone with an interest in XML and COBOL can view and comment (to me or the committee) on the current (23 Aug 2005) working draft .

As hardware and software technology advances, the COBOL language either already has the ability to handle the advances, or it does not. How it handles changes varies case-by-case. For instance, COBOL traditionally had a character user interface. When computing power could support graphics, COBOL could have defined a graphical user interface (GUI). There was considerable effort, lead by people from Digital Equipment Corporation (merged into Compaq, then Hewlett Packard), to develop a GUI for the standard. But GUIs themselves were unstable, too varied, and simply changing too fast. It seemed the more appropriate tack for COBOL to take was to enhance the ability to CALL an application that was non-COBOL, and let the marketplace develop those GUI interface applications. That is just what happened. In another technology advance, there was considerable discussion on how to incorporate relational structures. Ultimately it was decided that the database people were the best place to deal with database issues, and COBOL should simply allow an escape mechanism for whatever the database folks decided. Hence the EXEC SQL … END EXEC constructs you see in COBOL for relational data.

On the other hand, the need for additional decimal digits in processing was handled within the language simply by supporting more digits (from 18 to 31) in the decimal arithmetic. And the need for floating point handled simply by adding floating point data types. And boolean, and so on.

XML is a different animal. It is external data, but it so closely fits the COBOL model of how to deal with data that implementing XML in COBOL is natural.

Part 2 >>

 


AntiSpyware_120x90
Cyberguys!
Black Eyed Peas
Office DEPOT_120x90 120x90_2

TII Computer Deals at Dell Home Systems  728x90

 

Home ] Up ] New COBOL ]

Copyright © 2008,  Ken North Computing, LLC
Last modified: March 31, 2008