Review: Best open source reporting tools

Pentaho edges JasperReports and Eclipse BIRT is test of open source options for creating reports

reports open source 5
Thinkstock

Always on the lookout for open source alternatives to pricey commercial offerings, we wondered if open source reporting tools could hold a candle to the established commercial products. For this review we selected the community/open source versions of three commonly used reporting tools, Eclipse BIRT, JasperReports and Pentaho. Our focus was on usability, data access, platform support, report creation and web publishing.

We found all three products to be very serviceable, even enterprise-grade when it came to designing reports. All three tools are cross-platform capable, which makes them suitable for most environments. The biggest difference was in the methodology used to published reports and the means by which end users access them.

+ ALSO ON NETWORK WORLD: Best open source monitoring tools +

Pentaho emerged as our favorite, with strong points being ease of accessing a wide variety of data sources and also ease of publishing reports, two tasks that can create headaches for report administrators. Pentaho also has a clean and easy to navigate GUI and an excellent selection of community add-ons. Our only complaint is that we found the performance of both the report designer and server to be a bit sluggish, even though we provided more than adequate resources.

JasperReports claims to be the most popular open source report engine in the world and we can understand why. It has a rich feature set, both on the report design and server sides. Jasper has recently switched to JasperStudio as the preferred report design and, like Pentaho, provides toolsets on par with commercial offerings such as Crystal Reports and SQL Server Reporting Services. The server has a modern Web GUI to access reports and offers a variety of templates for designing reports, both for Web and print reports.

Eclipse BIRT provides solid report design capabilities with a one-page wizard-like tool that provides the core for creating a new report. It also provides step-by- step documentation that walks you through the most commonly used functionality. BIRT has good application integration capabilities through its API, but it does not provide a designated server product for report access.

As for easily calling reports from a browser, none of the three products we tested offered a straightforward, simple solution. All required fairly extensive configuration and setting various permissions etc. before a report could be viewed in a web page.

To answer our question of whether these tools can replace commercial offerings in the enterprise, we found that they potentially could, as long as you understand that they don’t have all the features of a commercial product and they might require additional know-how and effort to install and operate.

Here are the individual reviews:

Open source tools pros and cons

 JasperPentahoEclipse BIRT
    
Pros Built-in templates, report designer is very good. One-row sample data set makes it easy to preview reports. Easy to publish report to Jasper server. Ease of publishing reports to server. Modern server user interface, easy to install, good documentation. Multiple third-party plug-ins available Excellent application integration functionality, solid report designer with instructive built-in step-by-step documentation.
Cons Server Web GUI navigation could be a bit more intuitive. Many features are not available in the Community edition. Somewhat sluggish performance on report designer and server No designated server for publishing reports, somewhat limited ability to take advantage of business logic already available in database stored procedures and views
  Applies to all three: Extensive configuration needed to embed/view reports outside the report server environment
 

JasperReports

JasperReports runs on Java 1.6 or later, and is cross-platform capable on Linux, Windows and Mac. We tested the 6.01 Community Edition on a clean Windows server installation using components bundled with Jasper (Apache Tomcat and PostgreSQL) on JRE Version 1.8. We also elected to install the bundled sample PostgreSQL database, which contains sample data for the reports.

After installation, the Jasper interface is loaded in the browser and you can log in to get started. We started out with the default admin login and then created a new account. We found the user interface to be modern and easy to navigate with very little clutter. Since we had installed the sample database, right away we noticed there were several pre-published sample reports listed in different categories, ranging from a basic list report to more complex report types including bar and pie charts.

However, in order to create your own report, you need a report designer. In the past, the preferred designer has been iReport Designer and although Jasper has pledged to support it through 2015, it has announced JasperStudio as the ‘official client’ for JasperReports.

With this information in hand, we downloaded the latest version of JasperStudio (6.0.4). Based on the Eclipse development platform it can be run as a plug-in to Eclipse or as a stand-alone application. Jasper Studio can publish reports in a number of common formats such as HTML, PDF, XLS, XML, OpenOffice, MS Word, RTF, CSV and others. As with the server, JasperStudio offers cross-platform support and runs on Java JRE, although the full Java SDK is required to publish what the vendor refers to as call report scriptlets.

JasperStudio has a good work space layout and anyone who has spent some time with commercial tools like Crystal Reports or SQL Server Reporting Services will feel right at home as it uses familiar terminology and a similar layout. When creating a new report, the report wizard gives you the option of starting with a template or blank report for either print or Web purposes. For our first test report we did a print report, using a prebuilt template and a custom view created from the sample database. We connected to our PostgreSQL data source using JDBC drivers, which were included in the install.

After selecting a data set, you can pick which fields to add to the report along with which field(s) to use for the sort. The report wizard will place the data fields in the order it thinks makes sense but once the wizard ran through its tasks we were able to make our own custom changes to the report.

We were able to locate pretty much all the tools you’d expect to find in a commercial report writer, from the basic ‘date’ and ‘page number’ fields, to the more complex features such as report parameters, custom charts and sub reports. Reports can be previewed to see how they will look without having to publish the report to the server.

Once the report design is complete, it can be published to the Jasper Server. This is accomplished through a multi-step process where you pick the server (we only had one), then browse to the folder where you want it published before selecting the data source. The data source can either be one that is already available from the repository or a local data source. After we published our report, we logged back into the Web GUI to take a look at the report. The reports are organized in folders, which makes them fairly easy to navigate. Once a report has been generated on the server, it can be exported to a variety of formats.

JasperReports offers a very solid reporting solution, both through the server and the new JasperStudio report designer. The navigation from the Web GUI could be a bit more intuitive, for instance it is not immediately clear that you need to select a report item in order to edit. By providing time-saving, prebuilt templates for both print and Web, users can get off the ground with their report design with minimal design effort. We also liked the one-row test data feature that allows you to create a report without connecting to a data source.

While publishing a Jasper report to the Jasper server was straightforward, accessing reports outside the server framework, such as within a web page or as part of an application where you don’t want users to have to provide credentials when running the report, was a different matter entirely. Jasper provides instructions for providing anonymous access, but the steps are a bit daunting. We found the need to change configuration files and multiple settings from the Web GUI bit too cumbersome for a product that otherwise is very user friendly.

Pentaho

The Pentaho suite offers a collection of business intelligence tools, and is available in both enterprise and community editions. The Community Edition is open source and licensed under the GPLv 2 license. Pentaho is currently being acquired by Hitachi Data Systems, but according to the company it is committed to maintaining the community edition long-term. Like the other offerings reviewed, Pentaho is cross-platform capable, both the server itself and most of the various toolsets.

+ ALSO ON NETWORK WORLD Pentaho courts business users with new interface +

At the core of Pentaho is the Business Analysis/Intelligence server and we started off by installing Version 5.3. Unlike the enterprise edition, which comes in a neat all-inclusive install package, the community edition requires a bit more tinkering under the hood to install and configure. However, with the assistance of a few Internet searches and online tutorials, we soon had our test server up and running. Once installed, the Pentaho server is managed from a Web GUI that provides a pleasing dashboard-style interface, which we found easy to navigate. From the dashboard you can manage most report related tasks and access additional resources such as documentation, blogs and forums.

Pentaho does not provide any sample reports to view, but it comes with a few sample folders that give you an idea of how the reports can be organized, such as by user or department. Reports are typically published from the designer, directly from the Web interface or you can use a command line utility to upload report files.

As with Jasper, the server only manages published reports, so you still need a way to design and publish your reports on the client side. For this, we used the Pentaho Report Designer Version 5.3. Once installed, the Report Designer offers the option of either using the report wizard or starting from scratch with your own design. There are a few templates available, which we found to be a bit dated in appearance, but serviceable as a starting point.

You can easily create your own XML report templates or use third-party templates. Successfully connecting to a data source seems to always be the biggest challenge with reporting tools, but Pentaho helps simplify this task with an impressive list of built-in database connectors, ranging from the standards like MySQL, Oracle and SQL Server to the defunct HP Neoview and even some old workhorses, AS/400 and dBase III. Each connector has its own configuration screen that displays the required fields for the connection type, including the common port number used. Pentaho also provides a set of test data that will get you started with report design.

Once a report is ready to go, it can be published to the repository on a local or remote Pentaho server. Publishing a report to the server is a refreshingly simple two-step process that worked flawlessly every time, a huge plus in our book. Once a report has been published to the server, it can be viewed in several different formats, HTML or PDF being the most reader friendly. In addition, reports can be saved and exported to the several common formats like PDF, RTF, HTML, CSV and Excel.

The easiest way to access Pentaho reports is from the web browser GUI. Through various account configurations, reports can be available to groups or individuals. Reports can also be run on certain schedules, to provide periodic reports or to conform to other availability requirements.

There are a number of Pentaho community tools available, most of which work with both the community and enterprise editions. One worth mentioning is the CTools, a set of components and tools that work as add-ons to Pentaho. Ctools sports features such as a graphics generator, dashboard editor, data access customization and frameworks for Pentaho development.

Our chief complaint is that Pentaho is a bit sluggish, even on a server class machine with quad-core processors and plenty of memory running on gigabit Ethernet. The same was the case with the report designer running on a typical desktop. However, overall we found Pentaho easy to install, configure and operate. The documentation is solid, and both the server and report designer are intuitive for novices and experts alike. The ease and reliability of publishing reports is a huge plus.

Eclipse BIRT

BIRT is an open source technology platform used for reporting and data visualization. It is what they call a top-level project created by the Eclipse Foundation. Eclipse is cross-platform capable and runs on Java. For our tests we used Eclipse Version 4.4.2. In case you don't have Eclipse pre-installed, there is an all-in-one package available for download. This is the option we tested, but you can also add the required BIRT plug-ins to an existing Eclipse development environment.

+ ALSO: IBM and Eclipse efforts focus on OSGi modularity +

Related:
1 2 Page 1
Page 1 of 2
How to choose a low-code development platform