Home. 
.

transparent

transparent

transparent

Altova Mailing List Archives


Re: [xml-dev] Early Draft Review: XQuery for Java (JSR 225)

From: Burak Emir <Burak.Emir@----.-->
To: Ken North <kennorth@---------.--->
Date: 7/2/2004 1:06:00 PM
Ken North wrote:

>Burak Emir wrote:
>  
>
>>An API for HTTP Posts means dealing with wires.
>>
>>An XQuery is an expression in a domain specific language - there might
>>not even be a wire involved.
>>    
>>
>
>It's true there may be no wire involved for every XQuery application. But if an
>XQuery engine is embedded in a standalone Java program, a developer might choose
>to use streams, consumer/producer classes, or reader/writer classes instead of
>using the XQJ API.
>
>The overhead for XQJ-style programming (drivers, connection pooling, registering
>data sources with JNDI, maintaining state, caching) is necessary for
>distributed, multi-user computing. Why would you incur that overhead if you are
>deploying in a single-computer environment?
>
>  
>
Testing, using the connection pooling/caching/data sources of another 
(legacy) API.

Offering the same interface to query databases as well as in-memory XML 
(this has of course nothing to with databases).

>>A developer might choose to write his own "engine" which makes up random data
>>    
>>
>or is a wrapper around an SQL client. He will have a hard time if
>  
>
>>he has to deal with strings.
>>    
>>
>
>If you look at the Java API for some of the existing XQuery implementations
>(Galax, IPSI-XQ), they don't seem to have a problem dealing with query strings:
>http://www.sqlsummit.com/XQueryProv.htm
>
>  
>
Sorry, but I did not find much useful information at that address - do 
they even have a publically available Java API ?
A quick google search did not bring much on this - so I am taking your 
word for it.

But Galax, IPSI never aimed to provide a general-purpose Java API.

If XQJ really should be just an XQuery version of JDBC, with a 
predetermined, low-level interface, it is wasted potential.

For sure such a JDBC remake has some use, but it is not even close to 80/20.

>Instead of revising the XQJ API, it's probably better to have a separate
>specification for alternative representations of queries. (That was there's a
>separate SQLJ specification, instead of shoehorning early checking of queries
>into the JDBC API.)
>
>  
>
It's certainly not shoehorning, just a clean design choice that involves 
more abstraction (and possibly, clumsier syntax).

We are all free to ignore innovation, and to see XQuery as being just a 
database thing - maybe XQJ programming should not be compositional, 
correct, easy.

How many Java APIs do we have that offer some sort of DOM, some sort of 
XPath ? How many languages and tools do you need to use to implement a 
web service that compares a user-submitted XML document with one in a 
database, and formats the output in valid XHTML ?

Maybe database companies and consultants make good money on sloppy work, 
but it does not change the fact that this mentality of having hundreds 
of badly-matching too-special-purpose APIs is an obstacle to good 
software development. 

Burak


transparent
Print
Mail
Like It
Disclaimer
.

These Archives are provided for informational purposes only and have been generated directly from the Altova mailing list archive system and are comprised of the lists set forth on www.altova.com/list/index.html. Therefore, Altova does not warrant or guarantee the accuracy, reliability, completeness, usefulness, non-infringement of intellectual property rights, or quality of any content on the Altova Mailing List Archive(s), regardless of who originates that content. You expressly understand and agree that you bear all risks associated with using or relying on that content. Altova will not be liable or responsible in any way for any content posted including, but not limited to, any errors or omissions in content, or for any losses or damage of any kind incurred as a result of the use of or reliance on any content. This disclaimer and limitation on liability is in addition to the disclaimers and limitations contained in the Website Terms of Use and elsewhere on the site.

.
.

transparent

transparent