BIRT Developer Center

BIRT with Maximo


The Actuate BIRT software suite extends the reporting capabilities of the IBM Maximo Asset Management application by enabling the quick deployment of powerful dashboards, business analytics, interactivity and ad hoc reporting using BIRT. Because Actuate and BIRT technology have been a part of the Maximo application for the last decade, the hard work has already been done and you can improve the visibility and accessibility of Maximo information, to users throughout your organization, using existing BIRT and Actuate e.Reports.

Overview

This guide is designed to help Maximo users get started using two key components of the Actuate BIRT software suite, BIRT Designer Professional and BIRT iHub. Links to additional documentation on using the BIRT Interactive Viewer, BIRT Studio and other products are provided at the end of this guide.

BIRT Designer Professional – Options for Connecting to the Maximo database

IBM Maximo uses a custom solution to connect in BIRT to its database. This solution involves a scripted data set/data source combination. The scripted data source uses a set of custom classes in order to connect to the database. This requires the report developer to override the beforeOpen event and manually enter the SQL in JavaScript in order to build the reports. One can easily use this methodology with Actuate BIRT also. All you need to do is follow the IBM instructions in the document named 'Configuring BIRT Designer 232 with V7'. This document can be easily found using a Google search on the document title.

Using JDBC

One can connect to the Maximo database directly using the built in JDBC functionality. The advantage of using JDBC directly is that one can use the built in query tools such as the the SQL Query Builder that comes with BIRT. To connect directly add a Data Source to your design and enter connection information similar to the image below:

BIRT-with-maximo-1

Once this is done you will be able to use the Query Builder similar to the image below:

BIRT-with-maximo-2

Using IBM supplied Scripted Data Source

If one chooses to use the IBM methodology (scripted data sources) to connect to the database there is an easier way to use it with Actuate BIRT. The idea is to create a single resource that will include the IBM Maximo custom classes, the JDBC jar file, and the edited version of the 'mxreportdatasources.properties' file. To create the resource follow these steps:

  1. Create a temporary directory. For example c:\myTempDir.
  2. Edit the file 'mxreportdatasources.properties' as described in the document 'Configuring BIRT Designer 232 with V7' (step 2D on page 3 in the version of this file).
  3. Locate the compiled classes used for the V7 Report Scripting from <report design root>\reports\birt\scriptlibrary\classes and copy to the temporary folder.
  4. Un-jar your database JDBC driver in to the temporary directory, using a command similar to this: jar xf myDriver.jar
  5. Create a new jar file containing the IBM Maximo custom classes, the database JDBC driver, and the edited 'mxreportdatasources.properties' file, using a command similar to this: jar -cf maximoScript.jar *.*
  6. Add the single jar file as a resource of the MaximoSystemLibrary so that way it will automatically be included in all reports.
BIRT-with-maximo-3

To run these reports on the BIRT iHub you need to publish the resources to the iHub resource folder(\Resources by default). From within BIRT Designer Professional select 'Publish Resource to iHub...'

BIRT-with-maximo-4

Select the MaximoSystemLibrary and any other resources you are using (properties files for example).

BIRT-with-maximo-5

Running Reports on the BIRT iHub from within Maximo using ERI

In Maximo reporting, functionality is available to integrate with external Reporting Systems other than the embedded reporting tool. The Reporting Integration enables the End User to pass the ‘Where clause’ (or current/selected/all record set) to the External Reporting System – without leaving Maximo.

This functionality is referred to as the External Report Integration (ERI.)

IBM Documentation on ERI for version 7 can be found here External Report Integration (requires IBM customer login). The functionality is very similar in Maximo 6 and everything described below can be done in both Maximo 6 and Maximo 7.

In general in order to make ERI work you need to add system properties and create a JSP page to be executed when a report is requested. This is usually customreport.jsp, which can be found (in default installation)in this directory:C:\IBM\SMP\maximo\applications\maximo\maximouiweb\webmodule\webclient\utility.

In Maximo 6 you need to manually edit the maximo.properties file (then redeploy the application). The entries should look something like this:

//--------------------------------------------------------------------------------------
// URL of custom BIRT reporting application
//--------------------------------------------------------------------------------------
mxe.report.custom.serverURL=http://servername:7001/maximo/webclient/utility/customreport.jsp

mxe.report.custom.ActuateServerURL=http://servername:8000
mxe.report.custom.ActuatePortalURL=http://servername:8700/iportal
mxe.report.custom.ActuateVolume=servername
mxe.report.custom.ActuateUserName=maxadmin
mxe.report.custom.ActuatePassword=maxadmin

In Maximo 7 system properties are manipulated by going to (From the 'Go To' menu item) System Configuration -> Platform Configuration -> System Properties. You need to add/edit the properties as shown in the image below:

BIRT-with-maximo-7

An example of a customreport.jsp that works with Maximo 6 and Maximo 7.1 can be found in this DevShare post: Running Reports on the BIRT iHub from within Maximo using ERI.

IBM has changed the way the 'where' parameter is passed in Maximo 7.5. So, an example of a customreport.jsp that works with Maximo 7.5 can be found in this new DevShare post: Running Reports on the BIRT iHub from within Maximo 7.5 using ERI.

There are some known limitations when using ERI (these limitations are those of IBM not Actuate).

  1. There is no email from within the Maximo UI. However you could always email directly from the BIRT iHub interface.
  2. There is no scheduling from within the Maximo UI. However you could always schedule reports directly from the BIRT iServer interface.
  3. If the reports have parameters other than the ones that Maximo passes automatically (see page 8 of IBM documentation for details) such as the where clause, User Org, and User Site, then you will need to build the parameter collection in to the customreport.jsp.

Using Actuate e.Reports with the BIRT iServer

Customers on Maximo 6

For customers still using Maximo 6, we recommend you continue to use the embedded Actuate Report Server (version 8) for the current Actuate Reports (e.Reports). This will guarantee that existing functionality will continue to work. You can still use the BIRT iServer for BIRT reports. This will enable you to:

  1. Start planning for the future when you upgrade to newer versions of Maximo that include BIRT.
  2. Create dashboards using BIRT 360.
  3. Analyze data using BIRT Data Analyzer

You can also use Actuate for e.Reports which will enable you to extract data from your current Actuate Reports in to BIRT.

Customers on Maximo 7 (or planning an upgrade)

Actuate can provide software and expertise that will enable you to continue using your existing investment in Actuate Reports. You can run the Actuate Reports in Maximo 7 exactly the way it worked in Maximo 6. This includes:

  1. Running reports
  2. Scheduling reports
  3. Emailing reports
  4. Running spreadsheets
  5. Running queries

For more information about getting your existing Actuate Reports working in Maximo 7, Please contact Actuate Corporation at maximo@actuate.com

Additional Resources