August 31, 2006

Taking an OpenReports test drive

Author: Michael Stutz

Business Intelligence (BI) software, those tools and suites that take the raw minings of your databases and turn them into comprehensible signposts and mappings that lead toward profits, is a hot market today. One of the more talked-about open source solutions is OpenReports, a GPLed, Web-based BI report generation system whose first stable, milestone release of its 2.0 series has just come out.

A lot of bugginess has been cleaned up from earlier versions. This 2.0 milestone release also brings with it a better report scheduling method -- in previous versions, the only way to schedule multiple daily reports was to use a clumsy kludge -- but some of the more complex scheduling options and features that you might want with an enterprise BI system remain to be implemented.

OpenReports is built upon a melange of open source software components, including:

  • Hibernate (to connect to a SQL database)
  • JasperReports (Java-based open source reporting library)
  • JFreeCharts (a Java chart library with a massive array of charts, from 3D pie charts to candlestick charts, scatter plots, and bubble charts)
  • Quartz (to conduct email scheduling)
  • Velocity (for templating)
  • WebWork (a Java-based Web application framework)

OpenReports is the Web glue that coagulates all these together into one unified, menu-driven system. It's the integration of disparate packages under one Web roof that makes it powerful.

Installing OpenReports

Before you can use OpenReports, you need to have a couple things in place. In addition to a database to be analyzed, you'll also need the Java 2 Standard Edition Runtime Environment (JRE) and Apache Tomcat.

For evaluative purposes, the project provides a special demo bundle, in the form of a 37MB Zip archive file that contains Tomcat, OpenReports, a sample database, and a set of preconfigured reports.

If you unpack the demo bundle and poke around in its directories, you'll be reminded that (a) OpenReports is cross-platform, and (b) Linux isn't the only operating system in the universe. As with the cross-platform Tomcat distribution, the shell scripts all have .sh extensions, and they share the same directories with .bat files for those who are using a Windows environment.

After unpacking, the first step is to start the sample database:


You'll get a screenful of startup messages, and then the database should be opened. If you're testing out the demo, it's easiest to start this script in a window of its own, and then type Ctrl-C to close it when you're done.

If you don't already have Tomcat installed and running, you'll have to start the version that's included in the bundle. That will probably require some variable setting -- specifically, the BASEDIR variable will have to be set to the Tomcat root directory in the demo package, and the JAVA_HOME variable will have to be set to the directory containing your Java installation. For example:

BASEDIR="/usr/local/src/oreports/openreports-tomcat/tomcat/";export BASEDIR
JAVA_HOME="/usr/local/src/IBMJava/IBMJava2-142/jre/";export JAVA_HOME

If you have an older 1.4 or 1.3 JRE, you'll also have to grab a compatibility pack from the Tomcat site, place it in the Tomcat root directory, and untar it there.

Then, you can start Tomcat:

tomcat/bin/ run

At this point, you should have Tomcat running at port 8080. Open up a browser and check the URL http://localhost:8080/ to verify your installation -- you should get the Tomcat "congratulations" page.

OpenReports should be running and ready at the URL http://localhost:8080/openreports. Load that page, and use a username and password combo of "admin" and "admin" to log in to OpenReports.

An open challenge

Erik Swenson, main OpenReports developer and publisher of the Open Intelligence blog, has issued the "OpenReports Real World Reporting Challenge," where he will include new sample reports and charts in the coming OpenReports 2.0 final release that are based on a software company's actual database.

"The idea behind this challenge," Swenson writes, "is to base the new samples on a real world database and to illustrate the ease with which OpenReports can be used to provide reporting capabilities to existing applications."

The offer is open to any software maker, both proprietary and open source, who would be willing to offer their database. In return, Swenson writes, "I will create a number of reports and charts that can be used to provide reporting functionality to your users while at the same time showcasing the features of OpenReports."

At this point, you're in -- but outside of testing the demo data, you can't do much without doing a little more setup. The OpenReports administrator has to create an OpenReports schema, configure a few settings, including the base directory and the mail host (so that the email reports can go out properly), and the software helpers, including Hibernate and Quartz, have to be configured for the actual database. Included with the distribution is a PDF install guide that steps through all this.

Running OpenReports

Once you're in, the Web interface and menu bar make using the software pretty self-explanatory -- which is good, because the system doesn't come with much documentation. An administration guide (recommended for those who wish to begin scheduling and templating their own reports) is only available to those who make a donation of $20 or more to the project.

The demo contains a few chart and query reports that you can generate from the Reports menu. You can get output from the sample reports in various formats, including PDF. If you don't want to install the demo and generate reports on the system yourself, you can see several report screenshots online that were generated by OpenReports 1.0. The site also has a set of Flash demos.

BI is a rapidly developing market, with its own trade press, proprietary software vendors, and even database companies adding their offerings to the craze. There seems to be growing interest in open source BI software, and for a free answer on Linux, OpenReports and the tools it utilizes are a pretty good start.


  • Enterprise Applications
Click Here!