Product review: Open source reporting goes corporate
JasperServer Professional and Pentaho Reporting build on famous Java open source libraries for generating reports, but they’re no longer for developers only; rapidly gaining on traditional heavyweights, both score with user-friendly query tools and sophisticated front endsFollow @peterwayner
There are some nice touches that might attract a Java programmer. You can add queries in either SQL or HQL (Hibernate Query Language) because the system is built on top of Hibernate. If you need more complicated data sources, you can add an arbitrary call to a JavaBean method.
Still, there were some glitches, although no more than are, alas, common in enterprise software of this complexity. When I started to build a cross-tab report with the ad hoc builder, it locked itself in some limbo that kept me from either saving or running the report. I could only give up. Several more reports failed to run because of permissions problems with the Acegi security layer.
There has been, incidentally, an increase in the number of gradual improvements in the core open source tools. The graphical report designer, iReport, and the core JasperReports are now on version 2.0.2 after adding several new features, including style templates. This suggests that the core will continue to be tended, if only because the more commercial clients will ask for new features.
I worked with Pentaho by installing the Pentaho Reporting server and the extra tools, including the Report Designer. Pentaho’s systems are also built on many of the same common Java foundations such as Spring and Hibernate. The core, JFreeReport, is very similar to JasperReports, so the basic reports are close to the same.
But the differences come in the extras. The Pentaho Ad Hoc report generator has more templates and cosmetic extras than its JasperServer counterpart, but fewer complex report types. There's a mechanism that lets Pentaho users "subscribe" to reports that appear at certain times, while JasperServer has no equivalent.
In general, I found that the Pentaho system was more layered and seemingly more complex, something that may or may not be a virtue. JasperServer’s screens seem to have more complex options, while Pentaho Reporting seems to require drilling through several simpler screens. The options are much the same, but the complexity at each layer often reflects a different philosophy. I suspect that Pentaho Reporting will be more accessible to the nonprogrammer, while JasperServer will be more natural for a programmer, but that's just a casual guess about a very subjective topic.
There are other odd corners. The standard Pentaho download comes with JBoss' portal. If you click a few times on the wrong button, you'll find yourself in the middle of the portal, surrounded by JBoss logos but not much in the way of reporting options. If that's what you need, that's great. But if not, you'll have to clean out that kitchen sink before deploying.
I also encountered a similar amount of glitches with Pentaho. In one case, the system tried to take me to the URL "/pentaho/home" instead of "/pentaho/Home," and I ended up with a 404/"not found" error. A different sequence of clicks delivered me correctly. The Pentaho Ad Hoc report generator also locked up several times, leaving me unable to do anything except cancel a report without saving or running.