I can't believe how easy it was to write (back to the user's PC) a zip output stream containing compressed XML files (one XML file per business class):
1. I used Brendan Macmillan's utility to write plain old Java objects to an XML stream. I wrapped this in class ArchiveToXml to save all business data objects
2. In a JSP page, I added 3 lines:
response.setHeader("Content-disposition", "attachment; filename=\"alldata.xml\"");
Something that I thought might take a few hours, took 30 minutes - love it!