At UserLand Software, Dave Winer recently deployed the kind of simple, elegant, and useful
application of Internet technology that always puts a smile on my
face. At his site, you can run a Mail To The Future
application that enables you to send mail to yourself (or, actually,
anyone) at some future date.
This is, all by itself, a wonderful idea.
Even more wonderful, in my opinion, is how Dave did it, and the
deep (positive) consequences of his approach: using some of the
features of XML, he implemented control of
the CGI-based service in a way that not only lets it be invoked
interactively by a person employing a Web browser, but also, just as
readily, by another script -- in the language of distributed
computing, by using a Remote Procedure Call (RPC).
I could, for example, use it as an HTTP-based reminder component built
into a groupware or workflow system of my own devising. To do that,
I'd follow the procedure outlined in a previous article, (Measuring
Web Mindshare). There, I showed how it's possible to combine Yahoo
and Alta Vista to measure the inbound links to a list of sites in a
given category. And I pointed out that every Web site that offers a
CGI-based service is, potentially, a programmable component that can
be woven into another Web application.
What's this got to do with XML? In addition to revolutionizing
content management, XML is going to change how we build and use Web-
based software components. In this article, I'll demonstrate one way
that XML can do that. But first, let's review the basics of HTTP-style