The trajectory of the XQuery standard is a cautionary tale covered extensively on this site over a number of years. XQuery arose in the early days of XML and Web services as, in part, an effort to provide SQL-like data integration capabilities to developers just beginning to work with XML data, but it has never become a mainstream integration tool. Despite major input from enterprise software vendors like IBM, Microsoft and Oracle,...
it remains a niche technology. Where is it now? XQuery is an example of a promising technology that never found mainstream usage. Since its early days, though, admits Peter O’Kelly, principal analyst at O’Kelly Associates, the response of the IT community has been a bit underwhelming. ''The enigma is why XQuery is not mainstream,'' says O’Kelly. ''Even five years ago there was a widespread expectation that XQuery would become for XML content, what SQL was for the relational world,'' he says. XQuery was originally developed by the XML Query group of the World Wide Web Consortium (W3C). The focus of XQuery was to provide a means for pulling data from real and virtual documents on the Web – a query language -- in the context of the needs of databases, supplementing or supplanting those databases. [See ''Examples of how XQuery can be used,'' this page.]
Major vendors have supported XQuery as a relational database option, while smaller vendors have introduced tools for anyone seeking to try out the format. For those who know how to use it, XQuery is very powerful, says O’Kelly.
When integration development teams use XQuery, they are said to be able to deal with XML content more readily in the form of sets. As well, the format can fit more easily along your existing SQL programming and script-oriented programming. Many teams can benefit from XQuery's search capabilities and function libraries. A kinship to XPath and XML Schema may position XQuery for use by teams versed in those more familiar technologies.
Using XQuery for non-XML work may be an area worth researching, too. O’Kelly says XQuery is not exclusively about XML and it is not limited to queries, “which suggests that maybe that wasn’t the best name to give it,” he says.
In fact, he says, developers who exploit it might think they are using a scripting language like Perl or Python,” he says. “XQuery is like a turbocharged version,” he adds.
What's holding back XQuery?
OK, so O’Kelly likes XQuery. But if it’s so great, why isn’t it more widely used? “Anecdotally it might have something to do with the fact that XQuery and the No SQL movement are sometimes confusingly juxtaposed, he says.
Continuing, O’Kelly says some issues that have probably limited XQuery market momentum include:
•Lack of a big picture framework. That means there is uncertainty about when and how to use XQuery.
•Installed base inertia. As O’Kelly notes, the commonplace attitude is “if it ain’t broke, don’t fix it.” At present there are enough alternatives to keep XQuery from gaining attention and adherents.
•Standards and politics. Like inertia, O’Kelly says in the database world, developers and others like to avoid “impedance mismatches” – which occur when a new technology enters the picture. “Some people claim XML is verbose and, politically, programmers are saying they want to work with things like Java Script,” he says. Also, he notes XQuery tends to fall into the domain between “the content management people and the database people.”
•The Internet ethos. “The good news is that there is a real commitment to doing things in an open way. But there is a danger of cyberpolarization and if you want to find a community of people who believe XQuery was still born, you can find it out there,” he says.
O’Kelly stresses there are reasons to believe XQuery will reemerge to greater prominence. “A small population of information architects and programmers who understand XQuery will be able to do ‘practical magic,’ building and maintaining effective systems, while others with a kitchen sink of solutions won’t be able to,” he says.
“Just as SQL didn’t displace earlier systems right way – and there is still some dbase going on out there, developers who take the long view and have productive tools will find their way to XQuery,” says O’Kelly.