XML DTDs for B2B, ASAP
Sun Microsystems Inc.'s memorable slogan, "The network is the computer," turned out to be truer than any Sun marketeer could have expected. The Internet is the most important facet of computing today, but the protocol for exchanging information is still forming. Extensible Markup Language (XML) is certain to be the format of choice for business-to-business (B2B) communication, but XML documents alone don't solve the problem. Like-minded businesses must agree on formats for transactions or face isolation. The best way for a group of companies to agree on a data format is by choosing a publicly available Document Type Definition (DTD).
DTDs are used to define the grammar allowed within an XML file. While XML documents do not require a DTD to be considered well-formed, a DTD adds value to an XML document. It’s like adding a degree of type-safety to a flat file. Once an XML file and its DTD are parsed -- with a validating parser -- the data consumer is assured of the incoming data format. Even though today’s DTDs are a little weak on data types, a DTD-validated XML file is the best organizer of data that is both human and machine-readable.
The Open Applications Group Inc. (OAGI) is a non-profit group with members from enterprise software companies. One of OAGI’s goals is to provide standard DTDs that enable B2B communication, as well as data interchange between competing systems. To this end, OAGI recently published a set of public DTDs on their Web site (www.openapplications.org). Their DTDs and example XML files define an open interoperability programming interface for financials, human resources, manufacturing, logistics, and supply chain components. OAGI allows free download and use of the DTDs, providing that you sign a licensing agreement to preserve its property rights.
OAGI’s achievement is the first step to a world of connected businesses. For the past decade, the computing world steered toward synchronous distributed protocols such as CORBA and DCOM to link the world. While these technologies will have their place, the future lies with asynchronous messaging, such as MQSeries and MSMQ. The reason for the change is that the Internet raised our definition of a high-volume distributed system from thousands of users to millions of users. Message queuing can provide this super-scalability, which is something that no synchronous solution can do. XML messages, using a public DTD, provide the perfect package to send through the message queue’s pipeline.
DTDs can improve the business-to-consumer relationship, as well. How many of you enjoy filling out forms? I know I recently decided on a loan broker because she promised to handle all the paperwork for me. I simply can’t stand repeating the same task I’ve done since I opened my first savings account as a tike. Enter DTDs. Once a majority of commercial Web sites agree on a DTD for customer information, you’ll be able to fill out an entire loan application -- on any loan site -- with a single cut-and-paste operation.
I’ve always been partial to the idea of an electronic wallet containing all of my personal information. The thought has also made me queasy, wondering how I could be sure that nobody was secretly extracting private information out of my e-wallet. Now imagine an e-wallet on your machine that lets you create a validated XML message containing just the information you select. The wallet could place the message on the clipboard for later use, ensuring that no one has direct access to your wallet. Because XML is human-readable, you could then paste the message onto a Web page and check it to make sure you’re not accidentally sending your credit card number or medical history. I’m pretty paranoid, but I think I’d be comfortable with this solution. Even more interesting, those of us who carry Palm or WinCE devices could enjoy portable automatic form completion.
We’re only seeing the tip of the iceberg. XML DTDs should do for electronic communication what high-level languages did for assembly language programmers: open up whole new worlds. --Eric Binary Anderson is a development manager at PeopleSoft's PeopleTools division (Pleasanton, Calif.) and has his own consulting business, Binary Solutions. Contact him at firstname.lastname@example.org.