I am designing a generic reporting framework in Java. Here is my situation:
There are many business units (BU) in an organization (Accounts, HR, Recruitment, Transportation)
For various business reasons each BU developed independent Java web applications. As part of it each web application developed in the past Reports using BIRT and JasperReports
The organization decided to have one common reporting platform across the organization.
We will have a single reporting platform across the organization, and each of the existing Java applications (running their own instances) will invoke the common Reporting platform (through Spring HTTPInvoker) when they need to generate a report.
I need to come up with a common reporting client API for all the existing web applications.
Whenever a new report is required, the respective web application will develop a report either in JasperReports or BIRT and deploy in the common reporting platform.
Respective BU Java web application will invoke by passing the parameters like REPORT_NAME, parameter values and BU name.
The Reporting framework should identify the report deployed in the platform, invoke respective web application report business logic to prepare the data set, generates the report and sends back the report out as byte stream.
I hope I conveyed what we need to开发者_如何学JAVA develop in this reporting platform.
Is there any such platform already available which can support both JasperReports & BIRT in its single instance. Or any other suggestions?
Have a look at ReportServer [1]. It supports both, JasperReports and Eclipse Birt and it is open source. ReportServer, for example, allows to export reports via HTTP which should allow the existing applications to fetch required reports.
[1] http://reportserver.datenwerke.net
精彩评论