What is XML?

An article by Scott Price, CEO of CustomerCentrix,
as published in the Webmasters Corner

What is XML?
The eXtensible Markup Language (XML) is officially one of the top 10 tech buzzwords of the new millenium. It promises to revolutionize the Web, impact all aspects of computing, and eliminate world hunger. There is obviously too much hype concerning XML. That said, however, XML is a tremendous addition to the arsenal of technologies available to Web developers.

I intend to outline some of the basic benefits and features of XML in this column. My material must remain high-level due to the limitation of space, but I welcome feedback and questions to my email address.

First, XML is a W3C recommendation (Feb. 1998) for a language to be used for exchanging Web information. It looks like HTML -- tastes like chicken. The official definition is: "The Extensible Markup Language (XML) is the universal format for structured documents and data on the Web." The idea is to allow Web developers to use simple markup intermingled in a text file to create structured data exchange documents.

How is it different from HTML?
Right now, the Web consists mainly of HTML pages that are intended for people to read in their browsers. That has served us well. But the parameters of the equation are changing rapidly with the introduction of Web surfing from a cell phone and the business to business e-commerce explosion. Developers need to separate the actual content data from the presentation description that controls how it is viewed. Certainly, HTML pages designed for a 800x600 resolution browser, and containing animated graphics, is inappropriate for a cell phone display. Additionally, B2B e-commerce transactions should occur without humans reading them in a browser (or any intervention whatsoever). XML gives us a tool to enable our Web applications to handle either scenario - and many more.

HTML is good at defining colors, fonts, sizes, alignments, and incorporating graphics. It uses markup tags such as: , , , , , etc. But when we need to exchange information like model number, invoice ID, address, quantity, currency, etc., we have been obliged to use HTML forms and process the data into a server-side collection of technologies that quickly become incompatible among trading partners. With XML, developers can create their own tags such as , , and . XML enables Web developers to create whatever elements and attributes that are needed to effectively model the content data. Then other technologies, namely style sheets, are used to provide the appropriate formatting for display on a cell phone or in a browser, as well as producing the perfect e-commerce transaction for a widget supplier.

XML is all about data. Some statistics show the increase of data moving through the Internet to be exponential - doubling approximately every 100 days. Also, the cost of moving that data is dropping nearly as fast. Is it any wonder that the W3C created XML as a way to structure data in Web pages? Effectively, XML gives us a means to build platform and vendor-neutral hierarchical databases that can be shipped via normal HTTP to any requesting device. The implications are truly astounding.

Everybody likes it, but we are early
But like any new technology, the chains to legacy systems will slow deployment. XML is still in the early adoption phase - at least from the perspective of the Web at large. Many e-commerce vendors have already built elaborate systems around XML. All of the major players in the computing world (e.g. IBM, Microsoft, Sun, Oracle) are investing heavily in XML technologies. It isn't a product; there are no license restrictions (unlike Java), and it levels the playing field for many small to medium software companies to compete in the Web tools markets. There is virtually no resistance to XML in the technical community.

But actual deployment on a broad scale for all Web pages will take years. HTML is legacy code. Sounds funny, doesn't it? Plenty of corporations that I know are still trying to figure out how to use 3-tier architectures on their internal Novell networks. But many large industry leaders have made well-publicized announcements concerning their commitment to XML. For instance, Microsoft's .net initiative shows that they are banking very heavily on XML.

The support for XML is unanimous. Still, it is no silver bullet for all integration issues. One of the current problems with XML is that some of the companion technologies to the core language are still in development. Not all of the members of the XML family of technologies are W3C recommendations yet. Most notably, XML Schemas and the linking language XLink are not completely through the standards process. These pieces of the XML are puzzle aren't stable, and they are maybe slowing some XML deployment.

Why XML?
Lots of support. Lots of money. Lots of benefit. So what does that mean to us trench level developers? It simply means that we can stop driving nails with tape dispensers and get a hammer. The secret to being good at a job is to use the best tools available. XML gives us better tools for the job of developing Web applications with isolation of layers of service. We can design much better specialization into the various servers, components, and target clients. As all computing technologies advance rapidly in parallel, we the Web architects, designers and developers will be asked to continually provide Web-enabling or integration for more systems. XML is an open standard embraced by the world's tech community to enable us to integrate data (thus systems) much easier.

Web pages for browser display is only one part of that integration. Making information stored in VSAM files on mainframes available to a Palm Pilot user is also exciting. Delivering a page of information to my car's computer that can 'read' it to me (voice XML) while driving could lower my insurance rates. XML and the separation of content from display will allow us re-purpose data for an unlimited number of audiences and devices.

Another major benefit of XML is that it supports internationalization of our Web sites because it uses the Unicode character sets. HTML is built on ASCII and won't support certain characters needed for the world economy such as Asian or Arabic. This may not be a big problem for you and your company's Web site, but it could very well loom large as you unexpectantly find an untapped market for your products or services in other countries.

Finally, I feel compelled to mention that XML will improve our ability to reach customers. Here's how: Web meta-data. Using the Resource Description Framework (an XML derivative), data about the contents of Web sites and individual pages will be published by the owners of the content. In other words, we can put out a card catalog of our Web material that customers, search engines or intelligent agents can query. This will facilitate more buyers to find what we have. Therefore, XML eventually will allow us to identify and categorize Web resources much more accurately, and thereby make searching much more effective. Goodbye tags.

Conclusion
Now that you understand how XML will usher in world peace, what should you do? Learn more. Analyze your business needs and Web environment to see where XML would help solve problems or create competitive advantage. Take some classes, buy some XML books, and check out some of the resources on the Web. You can visit www.LearnCentrix.com to find some more information on XML classes. If you would like a list of XML resources on the Web or my recommendations for books, please just send me an email.

I hope you found this 30,000 ft. summary of XML helpful!

Scott Price