If you want to eliminate the <result count="xxx">
wrapper, do not forget that you must also
deal with the embedded driver code (which cannot
return results as an XMLRPC array).

-Terry

Christian Gross wrote:

At 23:43 1/13/2003 +1100, you wrote:


I must confess I am not well versed in Java, but is there much performance
difference between having Xalan (or whatever) pass you back an array of
result nodes, compared to extract the returned nodes from the document root?
Is saving a couple of lines of code worth breaking a lot of peoples
applications?


The problem is that on my end there is a performance hit. This is because I have to load the XML document, extract the individual nodes and then generate string buffers of those individual nodes. This is because the XPath that is returned is not specification compliant....

The exact scenario is that I have a Web Service using the SOAP protocol. It makes a request for a series of documents. The SOAP Web Service has a business component that makes an XIndice request. The query data is then sent back to the client of the SOAP Web Service as a series of DIME attachments.

So when I was working I saw that in the XMLRPC layer there are two performance issues.

The first is that the XML query data is transported in the XMLRPC layer as an escaped string. I have found out that this is part of the XMLRPC layer that converts the data automatically. To get around this issue in SOAP you use attachments which automatically leave the data as is. While small pieces of XML can be escaped and unescaped easily, larger pieces with the number of users like what I am thinking will have definite performance issues.

The second is the separation of the XML documents into individual pieces. When a SOAP client makes a Web Service request they expect the query to generate a number of XML documents that are DIME attachments.

Combine these two issues and you have a potentially SLOW access layer.

Why not access the Xindice directly? Because I want to write extensions to the XMLRPC layer that make it possible to save data on a cluster of XMLRPC Xindice databases....

Comments?


Christian Gross Software Engineering Consultant / Trainer http://www.devspace.com North America: 1-450-675-4208 Europe: +41.1.701.1166





Reply via email to