[xquery-talk] XQuery and Web 2.0
John Snelson
john.snelson at oracle.com
Thu Apr 24 12:58:39 PDT 2008
Weiqi Gao wrote:
> 2. The Web 2.0 crowd loves open source. Everything they talk about is
> open source. Why not make all XQuery implementations open source, at
> least free as in free beer?
There are already some good open source XQuery implementations,
including XQilla, Saxon and eXist. I think we have this base covered.
> 3. The Web 2.0 crowd loves a language that's deep and weird. Nobody
> likes prototype based objects, yet JavaScript wins the day. What does
> XQuery has that mystifies people? FLOWR expressions just doesn't cut
> it. Add something novel to XQuery, like Map-Reduce, or mandate tail
> call optimization. Better yet, add REST support. Ruby on Rails can add
> REST support, so can XQuery.
Simple and complete REST support is important, I agree.
However, I think XQuery is already way ahead of the map-reduce
phenomenon. It seems to me that since XQuery is declarative the compiler
ought to be able to work out how and where to parallelize your program,
rendering explicit parallel algorithms obsolete.
> 4. The Web 2.0 crowd loves everything Google/Amazon/Yahoo! does. Paul
> Graham wrote an online store with Lisp and made millions, and has been
> milking that fact ever since. Have him, or someone like him, write a
> CMS or something in XQuery, and then *sell it to Google* to make
> millions of dollors. And then say things like "Google used XQuery to
> write their CMS."
I think what your saying is that XQuery needs a killer app - and I agree
with that.
XQuery is still young - and it typically takes languages a long time to
reach critical mass. It's clear that to get to that point, we need to
build the XQuery community and evangelize - but we might have to be
prepared to be the centre of the next revolution rather than getting on
board for this one. How about moving forward with a few of these
suggestions:
1) XQuery probably needs a standard native application platform like
Rails to enable rapid web development. This also gives us a good chance
to choose a name without "query" in it, which undoubtedly pigeon holes
XQuery itself sometimes.
2) Build a community site with mailing lists and an open source module
repository. Get the W3C (or otherwise) to bless the best modules and
make them "standard". Evangelize like crazy, including having a voice in
the Web 2.0 movement as well as other growth areas like massively
parallel processing.
3) Explore distributed XQuery. Work like DXQ [1] is important, although
I think that standard XQuery is sufficient and it's more important to
work on compilers and virtual machines that enable automatically
distributed code.
For instance, imagine a client side XQuery engine that can address a
collection on a remote XQuery database - transparently shipping the
important subset of the XQuery to be executed on that database, but
handling the rest of the query locally.
John
[1] http://db.ucsd.edu/dxq/
--
John Snelson, Oracle Corporation http://snelson.org.uk/john
Berkeley DB XML: http://oracle.com/database/berkeley-db/xml
XQilla: http://xqilla.sourceforge.net
More information about the talk
mailing list