Motivation: XML's Rapid Ascendancy
-The Real Silver Bullet

It is a truism in IT that there will always be a silver bullet . And that need for a silver bullet will be in direct proportion to the failure rate of IT projects. And of course we have detailed the seemingly abyssmal failure rate of IT projects for over 40 years elsewhere. So now we examine the latest silver bullet - XML - and see why it has already minted a winning formula in one area and may yet do so in several others. In short, we are going to propose that XML has already turned out to be a silver bullet in one arena of system development and may turnout to be at at least bronze metal material in a few others.

The reason is simple. The IT industry needs standards like never before. The complexity of distributed, heterogeneous, multi-drop, transactional systems is so enormous that the industry can no longer afford to do an SQL (i.e. say "yes, yes" to standards but "nudge, nudge, wink, wink NO what I mean" in actual implementation). Likewise interoperability has become so important that some major players have painted themselves into a corner. For example, having rejected CORBA, most RPC mechanisms, J2EE, and even its own DCOM in favor of .NET, Microsoft now desperately needs for XML and Web Services to work and be the gateway/bridge into their otherwise proprietary islands of servers and systems. And with Linux emerging as a major server side player, the Unix bunch (Dell, HP, IBM, Sun, etc) also can ill afford to have Linux and its systems split into fractiously mutually exclusive editions _ XML and web Services can help prevent this.

So quite a number of major players have to have XML and a broad range of other standards succeed simply because as IT reaches the distributed processing innovation plateau, no vendor can afford, as in the past, to be caught out on the wrong gauge track (interoperability or the 7 A's are truly IT's marching orders). Thus the broad set of XML, Web Services, communication/messaging/transaction standards carry much more weight than ever before - IT and software vendors risk being cutoff from significant segments/markets in the IT world.

Enter XML-eXtensible Markup Language a generalized document markup language. Given that SGML, XML's predecessor. is conceded to be more expressive and powerful, how could a system of data tags (see XML Sample File below)have so powerful an influence on IT systems ? First, as previously mentioned, timing is of the essence and the industry is looking for standards. Second, although the tagging system of XML is deceptively simple (a big improvement over SGML):
  1- every tag must having a closing tag (<car>...</car>);
  2- tags must be nested (<vehicle>..<car> </vehicle> </car> is NOT allowed);
  3- tags may have an unlimited number of attributes but they must be enclosed in quotes ( type="sedan")
  4- attributes cannot be repeated/duplicated in an instance (type="sedan" ... type="sports" is NOT allowed);
with about 4 or 5 more rules for a well formed XML document, these rules allow for defining in an unambiguous way an enormous variety of documents from tables to tree structured hierarchic documents to complex compound forms. Given the pressing need to achieve Application Integration within the IT community, having a standard way to define and therefore store and search for just about any document type is quite useful.
Sample XML File
<?xml version="1.0" ?>
   <car type="sedan" make="Nissan">
     Maxima </car>
   <car type="sport" make="Triumph">
   <car type="econo" make="Ford">

But XML brings more to the document defining table - it has two increasingly powerful document schema or structuring dictionaries - DTD-Document Type Definitions and the evn more capable XSD-XML Schema Definition. Both are written in XML themselves - so the same rules and code used to process other XML documents can be used to parse and process DTDs and XSDs. And XSDs are expressive enough to accomodate the use of XML as a database storage system, capable of queries, insertions, deletions and updates just like an SQL or Network database.

But perhaps the most important characteristic of XML is that it has been defined so that the structure, formatting, processing and

content of a document are more cleanly separated. This has two practical consequences. First, this allows for specialists in defining, formatting, and processing the data not to step on each others toes. It also make for building programs which process XML faster and more reliably. Second, as it turns out the XML rules and tags are easy for computer programmers to master and code but hard for casual users to follow or deal with directly.

So XML paradoxically, is very programming friendly at the cost of being somewhat direct user manipulation unfriendly.One can see from the example above how verbose XML can be in comparison to comma delimited files for example. Also one of the reasons XHTML is taking so long to adopt on the web (its the XML form of HTML) - is because XHTML is much less forgiving of simple syntax errors than HTML.

So the first success of XML has been in the programming community. XML is being widely adopted as the preferred method to store a programs setup and customization/preferences information. Remember the old .ini files from Windows 3.x days - those are very much likely to be in XML format today. For the customization and usability this opens up - here is XML's first silver bullet award.

Next, XML is also being used much more broadly as the storage format for documents and workspaces used by major commercial programs. Open Office stores its word processing, spreadsheet , presentation and other documents in XML format. Microsoft in Office 2003 will follow suit. This has 3 payoffs:
 1- any program has the DTD or XSD file defining the document can read, write and/or update the file given user based authorizations. Although interpreting the data is still required; hopefully this will reduce significantlt document sharing problems among programs;
  2- the same basic programs can be used to parse these suite of files; interpreting the contents still requires specialized programming but a good portion of the work is done;
 3- old storage layouts remain accessible because all that is required s the old DTD/XSD file. True some new formats cannot store all their functionality in old files - but old filed data remains highlyusable.
The sum of these virtues already merits a bromze bullet - and if it is widely adopted it could become the silver bullet for effective document interuse.

And following on the theme of document interuse and exchange, XML along with its transformation tool, XSLT-XML Stylesheet Language Transformations, is starting to become a favored method for document translation and interchange betwen systems. This again has potentially widespread repurcussions - because small,adhoc or short-term document interchange absorbs the brunt of maintenance programming efforts in many organizations. For large volume or specialized transactions and messaging, other tools can and are being used. But XML+XSLT has a strong role to play - especially in transforming essentially the same message for many output targets: a file, a web page, a mobile phone, a pager, etc.

Finally, the whole edifice of Web Services, the distributed calling of programming services in an absolutely standard way, is built primarily on 4-5 XML extensions: SOAP_Simple Object Access Protocol, WSDL-Web Services Definition Language, XML Signature and Encryption, SAML-Security Assertion Markup Language and UDDI-Universal Description, Discovery, and Integration. Web Services is a Big Thing because it represents the possibility of having asingl, universal method for calling on distributed services instead of the growing proliferation of specialized and often proprietary service calls. Yes, Web Services have been overhyped for the past two years because of the many key standards like SAML and XML Signature, XML Encryption which are just now being ratified. But the promise is real - and most of the kay players are still sticking to open, free, and uniform standards. But this one has the potential to get proprietary or patented paths -so stay tuned.

So XML already has some serious silver bullets in its belt and with Web Services may have one of the most important. Just as SQL is required for any coder working with databases, understanding some of the key XML services will be required of developers working with unstructured documents - which is just about every programmer.

Top of Page  Tutorials Home 
©Imagenation 2000-2004