Saturday, June 1, 2002

Building a Content Management System using Lotus Domino: the rise of XML

PROGRAMMING POWER

By Andrew Stuart

How would you feel if someone called you fat, slow, and insecure? Would you be upset? I know I sure would.

What if they went on to say, "Sure he's fat, slow, and insecure, but he's a great communicator. He knows how to talk to anyone and everyone." Would it make you feel any better? Perhaps.

Do you know anyone who fits this rather unflattering description? I sure do. My good friend XML. Consider the following points.

  • XML is overweight, often taking up large amounts of space, even when there isn't much data contained within the XML data structure.
  • XML is slow, partly due to its weight problem and partly because it needs to be parsed before you can do anything useful with it. XML eats network bandwidth for breakfast.
  • XML is insecure because it provides far too many opportunities for unauthorized direct access to your databases even through a firewall. You have to be vigilant and you have to understand your application architecture in order to effectively secure XML.

With all these disadvantages, you might wonder why anyone would bother at all with XML. There's one great reason: broadly speaking, XML allows anything to talk to anything, quickly and easily. That's no mean feat.

Only a few short years ago, in the days before XML, getting software applications to talk to each other was a nightmare. More often than not you were forced to use arcane, complex, and fiddly technologies such as Corba, DCOM (Distributed Component Object Model), or homegrown communications protocols to facilitate interoperability between systems. Building the interoperability portion of the software was often the most expensive and problematic portion of building a software system.