There are lots of comments and ideas, including one from me. I don't dislike Java, XML or XSLT, and while I know XML/XSLT, I don't know much about Java or J2EE. I use XML and XSLT with LibXML2 and LibXSLT from Perl, and I can usually get the technology to work, and work reliably. I can't say the same about Java which I usually find doesn't work.
We use a Java middleware thing made by webMethods called the Business Connector (BC), to interface with our backend AIX/SAP system. The idea is that you send it a piece of XML over HTTP, it maps that into an appropriate structure to make a SAP Remote Function Call (RFC), does the call, and maps the result back to XML, which it returns over HTTP to the calling client. While I accept that we made a number of mistakes in using this product, it's still fair to say that it's a very poor piece of technology.
It's pig slow. It takes for ever to parse and return XML. Generating input XML and doing the XSLT on the output XML in the Perl layer is much faster. In this case I even know it's not a problem of hardware, I've testing things on the same box. The problem here is that BC is just very slow.
It's a swine to develop with. All you get is a visual GUI developer tool, which is good in a demo, but a nightmare to actually use. Debugging is a joke, and you have no idea what the thing is doing underneath. I think it's converting it's visual drawings into a sequence of XML transformations, I don't know if it's SAX or some proprietary thing.
I installed it on the DEV box, and after some stupid problem (probably operator error) it started to work. Basically you point the tool at a SAP system, give it the name of an RFC and ask SAP for the interface. SAP does it's stuff, and you get either an error, or a large Perl structure back with the detail of the input and output structures. You then set the parameters you want, and the run the RFC, again you get an error or a Perl structure. You disconnect from SAP and you are done.
It's so simple to use that as I say in my Perlmonks comment I had it running on the command line in less than 15 minutes, and a working HTML in/out page the following day.
Our SAP BASIS team are very opposed to bespoke code, as they think it's wasted development, so they like to stick with standards when ever possible. I can see their point, but with my approach there is less code in total, and thus less bespoke code too. Less code as a general rule means less bugs, and it runs faster. In my (simple) tests Perl+XSLT+SAP::Rfc+SAP is nearly 10 times faster than Perl+XSLT+BC+SAP, I think with the XSLT stage removed I can get my speed up over 10 times faster!