2005-04-27
| Rate This Article: | Add This Article To: |
Developers know that software does not emerge full-grown from the forehead of Zeus. There's a lot of planning and thinking and sweating and sometimes more than a few tears.
It's usually the same with standards. Some take months or years to develop. Yet, occasionally, community thought can be codified in short order. According to Jean Paoli, Microsoft's senior director of XML architecture, the XSL 1.0 specification submission to the W3C was hammered out by a team in an intense, pizza-fuelled week in 1997. XML, for example, came out of the SGML world, and the tale of how it managed to become a core technology for software giant Microsoft is a tribute to Paoli's dedication and persistence.
Paoli, one of the creators of XML, spent a decade in the research community in Europe, working on SGML (Standard Generalized Markup Language), a system for defining markup languages such as HTML. After he heard Bill Gates' Internet manifesto in 1995, he told Microsoft that HTML wasn't good enough for its stated purpose.
Microsoft promptly hired him to work on the Internet Explorer team.
According to the W3C specification, "The Extensible Markup Language (XML) is a subset of SGML. Its goal is to enable generic SGML to be served, received, and processed on the Web in the way that is now possible with HTML. XML has been designed for ease of implementation and for interoperability with both SGML and HTML."
Paoli says that his main contribution to the design was his insistence that XML, unlike SGML, be a very simple format.
"Bill [Gates] got it," Paoli said, "but he didn't bet the company at first."
Although Internet Explorer 4.0, released in October 1997, was one of the earliest implementations of XML, Paoli realized that, for the technology to succeed and become pervasive, it had to have an infrastructure behind it. If left as a client-only product, it would languish. The campaign began to bake XML into products like SQL Server, Windows, and BizTalk Server.
It worked, and in 2000, Bill Gates announced a new company strategy to make it easier for people to create, access and share data across systems and platforms: a strategy based on SOAP and XML that became known as Web services.
"Then he bet the company!" Paoli said.
The next target for Paoli was Microsoft Office. He started the InfoPath project and overhauled the XML implementation in Office System 2003. It seems to be working: surveys indicate that today there are about a million developers building on and extending Office, and one third of them are using XML.
"This is something that I'm very excited about, to basically tell the world that this is just the tip of the iceberg," he enthused.
"[In the future] it will be much easier for developers to create that kind of workflow that they can today (with InfoPath) because, fundamentally, it changes what you move around. Actually, you change the nature of the document, to make it more accessible," Paoli went on. With InfoPath, although data is captured in forms, it spends most of its life in a database, from which it can be extracted, searched, manipulated and otherwise operated on. That makes it transportable and easily monitored (since XML is plain text) for things like security. Privacy software, for example, could check documents for sensitive information like credit card numbers and disallow unauthorized access to it.
What does Paoli see in his crystal ball? He believes that 75 percent of new documents will be created in XML within five years, and that offers opportunities for developers, and for the software industry. Tools need to become better at creating XML content. There have to be better ways of storing and analyzing XML. Workflow software needs to emerge that allows end users to set up their own workflows, and privacy software needs to be developed to protect information.
Paoli noted, "The model now is really the model of data interoperability".
- .NET Tools for Working With XML: .NET provides a powerful set of classes for working directly with XML. Learn what you can do with the most important of these classes — and how they can help make you a better programmer.
-

