WebXQuery

ziggy on 2004-01-06T23:55:56

Dave Orchard had an interesting idea: instead of doing integration over the web through a byzantine mess of web services API calls, why not just use XQuery to navigate through the data a partner publishes?

The parallel is obvious. Instead of building n-tier systems that use some manner of RPC to expose methods like get_customer_record() or get_sales_summary(), we all just started putting the information into relational databases. What did we gain? By putting all of that information into a domain-neutral data store, we could submit ad-hoc queries pretty damn easily. Maybe the system got a little more complex, but at least you didn't need to release new middleware every other day to fix a bug in a query or add a new query to the system.

Dave's onto something here. Perhaps XQuery isn't the way to go, but treating a parter, like Amazon.com, as a repository of random XML records makes it much easier to conceptualize and develop than building a fixed set of interactions through the web services framework du jour.

Of course, there are nasty little details that need to be hammered out, and Dave lists them: security, performance, discoverability, implementability, and offering limited subsets of the data. (No one would seriously propose a system that just lets someone crawl Amazon with a simplistic SELECT * from * query.)


Damn it, ziggy.

jesse on 2004-01-07T07:17:45

Now you have me wanting DBD::Amazon;

INSERT INTO Basket ( SELECT * FROM CD WHERE Artist = 'Beatles');