JBoss Community Archive (Read Only)

RHQ 4.9

Jasper Reports Integration

"Jasper Reports" really consists of 3 basic parts:

  1. Jasper Reports API and library (shipped as a jar)

  2. iReport Developer Tool (shipped as a customized Net Beans IDE used to build reports)

  3. Jasper Server which is a runtime container such as JBossAS that contains the Jasper Reports library as well as a web GUI that enables you to install your own reports (typically generated by iReport) and view your reports. Jasper Server is also shipped as a WAR so you can deploy it in your own server container.

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 Authorization

We'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 Source

If 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.

JBoss.org Content Archive (Read Only), exported from JBoss Community Documentation Editor at 2020-03-13 08:11:16 UTC, last content change 2013-09-18 19:40:54 UTC.