XML Developer Tip
(Receive this column in your inbox,
click Edit your Profile to subscribe.)
XML and Configuration Files
In a recent and wonderful articles on the PerfectXML site, a bunch of XML heavyweights produced some interesting attempts to describe XML in 500 words or less. Their goal was to make XML intelligible to a Web developer who lacked a formal computer science background. This turned out to be amazingly tough, but also produced some great answers. The one I liked best not only helped me reaffirm my own understanding, it also help me to understand the phenomenon that is the subject of today's tip. This was from Steve Muench at Oracle Corporation: "XML stands for the 'Extensible Markup Language,' which defines a universal standard for electronic data exchange. It provides a rigorous set of rules enabling the structure inherent in data to be easily encoded and unambiguously interpreted using human-readable text documents."
I've been noticing lately an increasing tendency for applications and systems of all kinds to use XML-based configuration files rather than inventing their own arcane syntax. Many answer to the inevitable "Why?" also appear in the PerfectXML article already cited -- namely regular syntax, plenty of parsing tools, powerful representational capabilities, and human readability. In truth, these are also all extremely desirable characteristics are also desirable for configuration files as well, where readability is far from the norm (but valuable whenever troubleshooting or analyzing such files).
I made a quick hop to Google and searched on "XML configuration files" and was pleased to learn that this outlook has spread far beyond Microsoft (where XML configuration files are becoming far more common than other kinds). A random sampling of applications that use XML configuration turned up some interesting entries:
- COM+ Applications Setup: tools for automating COM+ applications setup
- JwebEdixx: an HTML editor, based on a Java applet
- Komsyss: an Open Source multimedia management/delivery system
- NJFSS: a one-way file synchronization program for NetWare servers
- The Load Balancer Project: code that manages load balancing for incoming requests across multiple servers
- WebLogic Tuxedo: a real-time transaction processing system
I could actually go on ad infinitum in this vein, but have hopefully made the point that XML works very well indeed for defining and capturing configuration data of all kinds. That said, this means working to capture configuration file content and structure in some kind of document description (be it an SGML DTD, XML Schema document, NG Relax document, or whatever) then using the heck out of its capabilities. Most experienced configuration hackers say this approach simply can't be beat: it's both human-readable and incredibly easy to parse, using existing and widely available tools.
Not surprisingly, the guys at PerfectXML also have some great coverage on this topic. If you'd like to read their take on this subject, check out: www.perfectxml.com/ConfigFiles.asp. Happy XML adventures!
About the Author
Ed Tittel is a 20-plus year veteran of the computing industry, who's worked as a programmer, manager, systems engineer, instructor, writer, trainer, and consultant. He's also the series editor of Que Certification's Exam Cram 2 and Training Guide series, and writes and teaches regularly on Web markup languages and related topics.
For More Information:
- Looking for free research? Browse our comprehensive White Papers section by topic, author or keyword.
- Are you tired of technospeak? The Web Services Advisor column uses plain talk and avoids the hype.
- For insightful opinion and commentary from today's industry leaders, read our Guest Commentary columns.
- Hey Codeheads! Start benefiting from these time-saving XML Developer Tips and .NET Developer Tips.
- Visit our huge Best Web Links for Web Services collection for the freshest editor-selected resources.
- Visit Ask the Experts for answers to your Web services, SOAP, WSDL, XML, .NET, Java and EAI questions.
- Choking on the alphabet soup of industry acronyms? Visit our helpful Glossary for the latest industry lingo.
- Couldn't attend one of our Webcasts? Don't miss out. Visit our archive to watch at your own convenience.
- Discuss this article, voice your opinion or talk with your peers in the SearchWebServices Discussion Forums.