LOL, dude, I've been doing iBATIS Javascript demos at my last few conferences.
I used a bridge approach. A generic servlet that acts as a gateway to iBATIS. So you write SQL Map files and config as you normally would. Then set up the gateway servlet. Done. No Java code. You can then call mapped statements by making typical XHR requests via your favourite framework (Prototype in my case). You send url encoded paramters (GET or POST) to make a request, and get XML back. I did a little tweaking within the servlet to merge the XML results into a single document (instead of a list of documents). But it actually works very well. It's not production ready, and a JavaScript API mirroring the Java interface would be awesome and easy to do. JSON support would also be inevitable and also easy. I'll find somewhere to post it this evening for peer review. Clinton On 6/11/07, Ted Husted <[EMAIL PROTECTED]> wrote:
The last few months, I've been working primarily in JavaScript, hooking up an AJAX frontend to the database facade we use on the back-end. Behind the facade, we have a business application framework that utilizes iBATIS, Commons Chain, and Spring, with JSON-RPC as glueware between the backend and frontend. (We're working in C#, but the Java versions would work just as well.) I have an itch to convert our backend framework to JavaScript, probably by porting the functionality to JScript and/or Rhino. I'm in crunch mode for a release right now, but after this release ships, my team will be on hiatus over the summer, giving me the chance to work on porting the backend framework. My itch is to merge the utility of these three libraries (iBATIS, Spring, Chain) into a single coherent API, so that we're not flipping between configurations. One approach might be to port iBATIS first, and try to keep it as a distinct entity that we could host here. The rest of what I want to do might be able to extend from that base. A tipping point would be whether anyone hereabouts would be interested in an iBATIS.js for JScript and/or Rhino, so this is me asking :) -Ted.