Just a few years ago, the world of open source packages for generating database reports was a quiet secret shared by programmers on a deadline. Anyone could spend a few minutes linking in a library to start generating relatively clean tables filled with data pulled from an SQL database. I've personally made a few clients happy by adding JasperReports to some projects with just a bit of XML and a JAR file.
That world is rapidly changing. The old, programmers-only club revolving around a CVS tree and mailing list hosted on SourceForge.net is disappearing or, more correctly, being eclipsed by a couple of solid, aggressive companies staffed by full-time professionals. The old core of the open source projects is still there, but there are new, fancy, and sophisticated applications wrapped around them. These new efforts now are commercial competitors to the bigger, old-line report fountains such as Cognos and Crystal Reports.
The programmers can still grab the code for these cores and use them, subject to the same license terms they've always used. The main JARs that define JasperReports and JFreeReport are still governed by an open source license. But now there's another option: paying for a server application that runs reports and even lets nonprogrammers generate ad hoc reports. These new stacks of code are solid competitors to traditional commercial offerings that may deliver big wins for companies that adopt them.
Up from free
For this review I looked at JasperServer from JasperSoft, the company that's been built around the old Jasper code base, and Pentaho Reporting from Pentaho, another company built around a successful open source reporting code base, JFreeReport. Both companies offer full Web applications that let you and your staff manage a collection of reports. The users can log into the system and request reports to be generated immediately or following some chronological pattern, such as every Tuesday. Both also provide relatively simple ad hoc report tools that let nonprogrammers produce a halfway decent report.
The systems are also getting more complicated. You can get either JasperServer, a product that schedules and delivers reports, or you can add in JasperAnalysis, a module that lets you "slice and dice" the table of numbers by aggregating or splitting apart various columns in the data. This interactive tool is bound to be a hit for micromanaging executives, and it's similar to efforts from the likes of Cognos and Business Objects. There are also numerous customized packages, such as Jasper4Salesforce, Jasper for MySQL, and Jasper4Sugar, products with names that speak for themselves. If you have data integration challenges, JasperETL is integrated with Talend's toolset for extracting, transforming, and loading different data sets.
Pentaho has different combinations. Pentaho also offers a server that delivers a catalog of reports at specific times and ad hoc reports while you wait, but there are no bundled packages for specific domains such as Salesforce, though there are preconfigured installations for Hypersonic and MySQL. And instead of the interactive OLAP in JasperServer, Pentaho has a flashy dashboard tool that lets people drill through charts.