by Thomas Gagné
After having figured out how Cincom's XML library works it's valuable to avoid as much work as possible. After all, that's what programming is all about: avoiding work.
There always seems to be need to share data between programs. Sometimes those programs are part of the same system and written by the same staff of programmers, and other times the applications exist on remote systems written by others. The data is sometimes shared via files but more often is being shared across networks as the payload of a network protocol like HTTP, FTP, or middleware like IBM's MQ Series or the open-source isectd. There are others but I have little or no experience with them.
Regardless, the format of the data must be specified for both the creators of the data and the data's consumers. XML is used to specify the data's format.
Without analyzing all the different ways data formats can be described, every format requires utilities (program functions) for manipulation. When these formats are proprietary programmers are responsible for creating and maintaining their own functions. XML, however, is an open and flexible mechanism for not just describing the data, but for creating specification-compliant output and processing the files as input.
For more informatin on XML, DTD, and XSL one of my favorite sites has always been www.w3schools.com and www.w3.org.
eFinNet's systems have to communicate internally to each other and externally to other systems. These systems exchange supply chain purhcase orders, shipments, and receipts within and between systems. Externally there are many XML standards for describing these transaction including www.xcbl.org, www.rosettanet.org, www.cxml.org, and www.ebxml.org are a few that come to mind.
As annoying as the proliferation of standards (for doing basically the same thing) may appear at first it actually builds the case for using XML.
Mr. Gagné has been programming in various languages and operating systems since 1983, is currently employed by eFinNet, Corp., and the maintaner of the open-source middleware project isect.