Jasper Reports Integration"Jasper Reports" really consists of 3 basic parts:
Deploying Jasper Server in the RHQ Server is possible without too many problems. Because it is delivered as a WAR file, it can be deployed in the RHQ JBossAS server container, along with some datasource configuration definitions (so it can talk to the backend data stores). However, the JasperSoft docs say that it recommends 1G heap and 512M PermGen space assigned to the Jasper Server JVM. RHQ Server needs about the same. Therefore, it is conceivable (in fact, probable) that both Jasper Server/Reports will be in competition for VM resources such as heap space and perm gen space. I don't think we should deploy Jasper Server into the RHQ Server directly due to the limited amount of resources that will be available to each individually. We should bundle another server with Jasper Server alone in it (or recommend the customer get their own JasperServer instance) and we just ship things like:
For this integration, I see us preparing a few JRXML files (and the artifacts that may go with them, e.g. images) that define some canned reports. We could prebundle a Jasper Server container such that it can connect to our backend database and view our canned reports, all with minimal configuration work necessary on the customer's part. How we ship prebundled Jasper Server containers vs. simple canned reports as XML files is up for discussion. The Problem with SSO and AuthorizationWe'd have to some how integrate an SSO solution and, more importantly, some how get our roles/authorization into JR such that users can only see things they are allowed to see. This will probably be a very difficult task since it will probably mean adding code to JasperReports. Custom Data SourceIf we want to integrate more tightly and work around the authorization issue, we could implement our own versions of these: http://jasperreports.sourceforge.net/api/net/sf/jasperreports/engine/data/package-summary.html which would allow JasperReports to go directly to our API to obtain data, rather than through raw datasource/JDBC. This would force JasperReports to log into the RHQ system using RHQ credentials and thus the RHQ authorization subsystem would be enforced. |
Comments (1)
Dec 07
Heiko W. Rupp says:
The RHQ samples project has an example on how to use Jasper reports via REST apiThe RHQ samples project has an example on how to use Jasper reports via REST api