One solution is where the clients can pass an SQL SELECT statement to the web service/s, and have an XML dataset returned (as a string), which happens to be ADO.NET compliant (I generate the schema and XML and return that, took a bit of fiddling but it works fine), so the .NET folks can build a DataSet based on the returned XML.
 
Its not the most efficient given the XML encoding/decoding, and currently (my one) isn't streamed, so with big datasets you run into problems. A nicer solution would be something that is streamed and/or attached as an attachment instead (compressed binary etc). That said, it works well for all of my uses. Of course, the resultsets are disconnected, so you can use a combination of this and other web methods to then do your updates/actions etc.
 
The security nazis^W folk may rightly cringe allowing SQL calls passed through to the database/s, unless you've got pretty rigorous checks for the incoming SQL, or another interface on top of that (one where clients can supply parameters and so on, but don't get to generate the actual SQL - the latter is far safer but far more tedious to code ;). Depends if there'll be a lot of custom queries and so on... much nicer having a business API they can talk to.
 
Cheers,
Joe
-----Original Message-----
From: Dave Jacobson [mailto:[EMAIL PROTECTED]
Sent: Wednesday, 5 May 2004 6:02 AM
To: [EMAIL PROTECTED]
Subject: question about database result sets...

I am working with a software company that develops in Java. Some of the functionality involves interaction with users via the web.  Some clients that use the software product would only like the back-end code and would like to implement the look and feel of their website on their own. In this case, we would like to provide a middle-tier set of classes to "hand off" code to other developers at clients.

I'd like to figure out the best way to implement this middle-tier between back-end database processing and front-end GUI code. The question is whether Axis is the proper tool.

More specifically, does Axis provide a way to easily handle displaying, modifying and deleting data returned from a query to a database where the query returns more than one row; i.e., a result set?  We would develop a middle-tier that would be responsible for getting the data from the database and then returning it but then a developer at a client would be responsible for displaying the data.  Because of this "hand off" we are looking for a smooth and easy interface.  Does Axis provide this type of easy hand-off?

Reply via email to