Insights

REVIEW: 3 free open source reporting tools

Eclipse BIRT, Jasper Reports and Pentaho offer many features similar to costly commercial products, only for free

reports open source 5
Thinkstock

Insights

Show More

Producing professional reports on-demand from a back-end database, especially one connected to a Web application, remains one of the sticky wickets in Web development. Commercial products are few and their eye-popping cost can be a barrier to entry for independent developers or smaller IT shops.

For example, at the time of this writing, Microsoft SQL Server Reporting Services costs more than $3,000 for a single-core server license, while a five-concurrent-access license package for SAP Crystal Reports Server weighs in at more than $8,000. Fortunately, some free and very capable open-source products have stepped up to fill the void.

We tested the community/open-source versions of three popular reporting tools: Eclipse BIRT 4.6.0, JasperReports 6.3, and Pentaho 7.1. All three report designers include a full complement of features, similar to those found in commercial products, that you can use to create and publish powerful reports. JasperReports and Pentaho have an edge for those needing an online repository as they offer a server component, which allows you to produce more comprehensive online reporting (applying filters, changing sorts etc.). Eclipse BIRT is also a very good report designer, but does not provide a separate server for publishing purposes.

By the slimmest margin, we give the edge to Pentaho, thanks to a better Web interface for the report server module, a more intuitive report designer, and easier configuration of data sources. JasperReports scores well on the ability to customize the server screen layouts and ability to be embedded with custom or third-party software solutions, but lacks the more intuitive features and better performance of Pentaho. Despite its lack of a server, Eclipse BIRT is great for those who already are using the common Eclipse development environment and it provides a variety of ways for publishing reports, as well support for third-party platforms.

Network World - Open-source reporting tools - Jaspersoft Jaspersoft / Network World

JasperReports is a cross-platform business intelligence tool available either as a standalone or embeddable solution. Like many other software offerings these days, it's available both in a free community edition and a commercial edition. The main difference between the two versions is the level of support available. The community edition does not offer any phone or email support, but instead relies on online documentation and forums. The commercial version offers a variety of paid support options, including phone and email support.

The community edition also has a slightly more abbreviated set of features; for example, it lacks ad-hoc reporting and interactive dashboard designs. That being said, the community edition provides all the functionality you need to create and publish a wide variety of reports.

The first component in the JasperReports solution is the server itself. This is the report repository where you can publish and retrieve reports, as well as manage data sources and other content. The system requirements – 8GB of memory and a multi-core processor – are pretty basic, and most modern machines will easily fit the bill. You can install it on Windows, Mac or Linux machines; depending on your environment, you can install either just the module you need or the entire stand-alone server.

We opted for the full server installation, and since our test server did not already have Apache or PostgreSQL, we exercised the option to install these as part of the server install. The installation is very straight-forward: You essentially just pick the installation folder, verify the Web and database server ports, and you’re good to go.

Once you log into JasperReports' Web-based console, you’re presented with a getting started interface, where you can manage data sources, users and general server settings. In addition to providing custom dashboards, JasperReports allows you to customize the user interface, including page layout, color schemes, and typography. We found this helpful; it’s nice to be able to choose fonts and colors to customize your own development environment, a feature we found unique to Jasper Reports.

After we got the server up and running we installed Jaspersoft Studio. This is the application used to create the actual reports, and as with the JasperReports server, it is available for Windows, Mac, and Linux. The system requirements are modest: a 32- or 64-bit operating system and 1GB to 2GB of memory dedicated to the application. If you're already using the Eclipse development environment you can add it as a plugin or run it as a standalone application (we tested the latter).

The Jaspersoft Studio is essentially a one-click install: Designate the installation folder, and a minute or two later you’re ready to start building reports. The user interface will be familiar to those who have worked with Eclipse and easy to master for those who have not.

We started off by creating a database connection to the JasperReports PostgreSQL database server we had installed, then set out to build our first report. When creating a new report, you have the option of starting with a blank slate or using an existing template. We went with a basic template and were guided through the report builder process by a step-by-step wizard.

The wizard presents the available data sources and fields that can be added to the report. We found this process a bit cumbersome. It is not immediately clear how to build the queries needed as a source for the reports, and there is some discrepancy between the user manual and the actual application, a common problem in the open-source community. After the wizard completes, the program displays the finished report in design view, where you can immediately make changes to the design and layout. Jaspersoft Studio provides a number of report features beyond just the basic design elements; you can create headers/footers, variables, columns, and running totals, as well as maps and charts.

After making a few tweaks to the design, we previewed the report and exported it to a couple of different formats, including PDF and HTML. The PDF report was crisp and printed out nicely in full color. The HTML version was exported with the supporting images into a separate sub folder, and was also rendered nicely in the browser.

With our report set up the way we wanted it, it was time to publish to the JasperReports server. We found the publishing process to be quite simple, if not entirely automatic. You select the destination folder on the server along with the data source, which can be stored on the server or locally. Once published, the report shows up on the list of available reports users can view and download from the server.

On the downside, we found setting up data connections from the report designer a bit cumbersome and running reports from the server a bit sluggish. However, these minor issues are outweighed by the fact that the JasperReports and JasperSoft Studio combo provides such a comprehensive reporting solution. While some features are not available in the community edition, it should be adequate for a majority of organizations.

JasperReports and JasperSoft Studio have solid documentation, both online and available for download. Just be aware that some of the JasperReports server documentation refers to features available in the commercial versions but not the community editions. Commercial paid support is available from TIBCO JasperSoft, in addition to multiple online forums and communities providing free support. The JasperSoft Exchange also provides extensions that can be used for tasks like viewing reports from an Android or iOS device, or accessing the report repository via FTP.

Network World - Open-source reporting tools - Pentaho Pentaho / Network World

Pentaho is cross-platform capable and uses Java as the underlying platform. This allows you to install it under Linux, Windows, or Mac OS. Since our last review in 2015, Pentaho has gone through a couple of major revisions, including a change in ownership. It is now owned by Hitachi, which has so far been honoring its commitment to update and support a community edition of this business intelligence platform.

Back then we noted that while the commercial edition has a neat one-click installation package, there is no such thing available for the community edition. That remains the case today. However, despite our preference for one-click executable installations, we encountered fewer obstacles installing this version of Pentaho than we did with earlier versions.

In addition to a current version of Java (JRE or JDK), you will need a Web application server to run Pentaho, which can be either Apache Tomcat or JBoss. You'll also need a repository database server, which can be an MS SQL, MySQL, PostgreSQL, or Oracle database server. We opted for the defaults that come with Pentaho: Tomcat and PostgreSQL. With these pre-requisites in place, Pentaho services can be started by launching various batch files. While this provides a smaller footprint, it is a bit old school in our book. However, users can create a few desktop shortcuts to manage these start/stop commands.

As with JasperReports, you manage Pentaho server from a Web browser. We were immediately impressed with the user interface's modern design features, which utilize easy-to-read fonts and buttons that make it a snap to navigate. The home page is a dashboard-type screen with shortcuts to the features you’re most likely to use on regular basis: files, data sources and documentation. There are widgets with lists of recent and favorite files or reports.

Besides choosing between a few different color schemes, you can't customize the main server interface; this might be a plus or minus, depending on your point of view. Because you won't be spending much time there, we suspect most organizations won't care.

You can organize reports by users or groups such as ‘accounting’ and ‘shipping’. Administrators can assign various roles and permissions to users; for instance, one group can have read-only permissions while another can create and publish reports.

After we got the server up and running we installed Pentaho's Report Designer. As with the server, the standalone Report Designer application requires Java and, once the files have been copied to a local folder, you start it using a batch file. The Report Designer gives you the option to create a new report from a blank slate or using a wizard. For our first report we decided to give the wizard a whirl.

The wizard is easy to use. You start by choosing from a handful of available themes, select a data source, and finally add the fields you want to display on the report, along with how you want them sorted or grouped. When the wizard is finished running the report opens in design view for further editing.

The design surface is compact and functional, with the most-used controls easily accessible along the top and the left. Additional reporting features are organized in tabs along the right, which display only the functions you need for the control you’re working on, whether it's a text field, group footer, or an image element.

Overall, Pentaho Report Designer is powerful report writer that provides worthy competition for large expensive commercial products. In addition to the basic features, Pentaho allows you to insert sub reports, bar codes, and various chart features. You can access data using sources such as SQL, MDX, and Pentaho Metadata, and export reports in common formats like PDF and HTML. Both the PDF and HTML exports were crisp, with the HTML export also saving a style sheet (CSS) with the necessary formatting.

While you can run and export reports directly from the Report Designer, having the ability to publish on demand to a wider audience using a report server is key for most organizations. After designing our first test report, we were able to publish it to our Pentaho report server with just a couple of steps. The publishing process lets you determine which format to use, but you can change this when running the report from the server. Users can view published reports from the Pentaho server based on permissions or via a Web link, using a viewer that allows access to only that report.

For those who wish to embed Pentaho with their own application, Pentaho provides a software developers kit (SDK) that includes Pentaho Reporting. This lightweight reporting engine can be controlled with custom code to launch reports and access the available data sources. Open-source enthusiasts will appreciate that Pentaho Reporting can be freely distributed in both commercial and open-source offerings. Another powerful feature of Pentaho is CTools, which lets you create custom graphical views such as pie graphs, heat grids, and geo maps using the Community Dashboard Editor (CDE).

Pentaho provides a comprehensive online support Website with detailed instructions for tasks ranging from installation and configuration to publishing reports and integration with other solutions. The vendor also offers paid support solutions at different levels, along with links to third-parties who offer specialized training. There is also a Pentaho marketplace that offers third-party plugins that can be used for performance monitoring, graph generation, and various language packages.

1 2 Page 1
Page 1 of 2
The 10 most powerful companies in enterprise networking 2022