I am working on a decently big J2EE based project for the finance domain. I have been assigned the responsibility of identifying a reporting tool to meet some of the project's requirements. The specs go like this ...
1. Should be a pure java solution, so deployable on all Java enabled platforms
2. Should not have any dependency on any specific J2EE server. It is ok if it has its own reporting server.
3. The template for generating the reports should be editable at run time. Editable means the following
a. User should be able to add or remove columns from the report template. The columns to be added can be from a pre-fixed list for a specific report template
b. User should be able to add, modify or remove formulae
c. User should be allowed to add, modify or remove grouping conditions
d. User should be allowed to add summary / footer columns
e. User should be allowed to add customer filters to control the records that will be out put.
f. User should be allowed to change the view - font, width of columns, positioning of columns, color, font weight etc.
This means that some users should be allowed to totally modify the reporting template, from some sort of UI - like an Applet.
4. Should have facility to export reports to Excel, RTF and PDF formats.
5. Report should be totally web-based, not a quasi-web solution, derived from a client-sever model.
6. Should be capable of generating large number of reports.
7. Should be capable of generating reports from sources other than a database - ex Java Beans, XML etc.
Please suggest the best tool for meeting this.