Business Intelligence and Reporting Tool – BIRT


Reports are the key feature of most of the business applications. We design reports to display the result of an investigation or enquiry. Business applications contains variety of report requirements such as data reports, charts, images, custom objects etc. Thus to accumulate all these requirements we require a specialized reporting tool that will support most of type of reporting requirements.

BIRT gives developers the tools they need to add a variety of rich interactive reports, analytics and dashboards to web applications.


Business reports are important in many regards because they are an epilogue which can be explored at ease. It is of importance according to people. It may be more important for financier and other people while it would be unimportant for employees. It may have detailed information regarding ups and downs of business. They usually are concerned with major lines of business.

Generating various reports include some complex business logic. Some of the complex business requirements are:

  • To highlight the elements of the report depending on its value or the value of other elements.
  • To hide some elements of the report based on specific conditions.
  • To apply common font styles to the elements based on its value.

To implementing these complex requirements, companies might need to build a custom, multi-language, heavily integrated Java application and portal. This would require heavy coding which would be nearly impossible to manage, change and maintain without subsequent effort.

The BIRT Project supports a wide range of reporting needs within a typical application, ranging from operational or enterprise reporting to multi-dimensional online analytical processing (OLAP).

2. About BIRT

The Business Intelligence and Reporting Tool (BIRT) is an open source software project, distributed under eclipse platform development license. It provides reporting and business intelligence capabilities for building rich client and web applications, especially those based on Java and J2EE.

BIRT consists of two major components, the report designer and the report server – which when combined allows the user to create graphically rich reports that can be deployed from a central web server into a standard internet browser.

BIRT designs can be delivered using different deployment options. They can either be embedded in a Java application or installed on a single server. They can also be installed in an enterprise cluster for very large, mission-critical applications.

BIRT consists of four main parts:

1. Data

Databases, web services, Java objects all can supply data to your BIRT report. BIRT’s Open Data Access (ODA) framework allows anyone to build new UI and runtime support for any kind of tabular data. Further, a single report can include data from any number of data sources.

2. Data Transforms

Reports’ data can be sorted, summarized, filtered and grouped to fit the user’s needs. Though this activity can be done in database itself, this functionality in reports will find useful for “simple” data sources such as flat files or Java objects. BIRT allows sophisticated operations such as grouping on sums, percentages of overall totals and more.

3. Business Logic

Many reports require business-specific logic to convert raw data into information useful for the user. If the logic is just for the report, you can script it using BIRT’s JavaScript support. If your application already contains the logic, you can call into your existing Java code.

4. Presentation

Once the data is ready, you have a wide range of options for presenting it to the user – tables, charts, text and more. A single data set can appear in multiple ways, and a single report can present data from multiple data sets.

BIRT Architecture

BIRT provides a layout view for the user to design the report outcome. The layout view generates the design file in .rptdesign format. In the background, Design Engine transforms the .rptdesign file to XML design file. We can give call to Report Engine using Java application. The Report Engine uses the xml design file to generate the final report in the user required format. BIRT supports different output formats such as HTML, Adobe PDF, Word DOC, Excel XLS, PostScript, and PowerPoint PPT output and can be extended to support custom formats.


BIRT helps you in creating a quick and easy report with rich sets of the reporting element and templates to choose from. Eclipse plug-in for BIRT provides a user friendly layout view wherein you can use the palette to drag & drop different elements to be displayed on report.

BIRT also provides extension points using various API (Application Programming Interface) for generating dynamic reports. This requirement can be implemented using Metadata setup for an application. The popular known API to enhance this task is Design Engine API abbreviated as DEAPI.

BIRT provides Script API, through which you can call java methods to achieve complex business logic that can easily be implemented using java features. Scripts can be written on different methods of any BIRT elements.

With BIRT, you can add a rich variety of reports to your application.

  • Lists/Table

BIRT reports can be displayed in form of simple lists of data or in tabular format. For numeric data, you can easily add totals, averages and other summaries.

  • Charts

The easiest way to understand numeric data is presenting it in the form of charts. BIRT provides different types of charts viz. pie charts, line & bar charts and many more.

  • Crosstabs

BIRT provides crosstabs that shows data in two dimensions, for example – sales per quarter, etc.

  • Letters & Documents

Notices, form letters, and other textual documents are easy to create with BIRT. Documents can include text, formatting, lists, charts and more.

  • Compound Reports

Many reports need to combine the above into a single document. For example, a financial report may include disclaimers, charts and tables all with extensive formatting that matches corporate color schemes

Benefits of BIRT

BIRT has some major advantages over other reporting tools. Because BIRT is Eclipse-based, it does not need to be integrated with an IDE. It’s easy to use in comparison to other reporting tools like Jasper Reports, which is a Java API and requires a Java application to run. BIRT allows you to add business-specific logic using JavaScript.

BIRT provides runtime integration and design-time integration. With runtime integration, you view your BIRT report in the BIRT Viewer, which you can install in an application server or access via a URL. Though BIRT is mainly designed for Java and J2EE applications you can also run it from non-Java scripts like PHP. You can also implement runtime integration using the Report Engine API which allows you to run BIRT reports directly from Java code. Design-time integration is implemented with a Design Engine API, from which you can create or modify BIRT reports.

Following are some additional benefits provided by BIRT:

–          Data Customization – reports often require additional business logic to prepare data for presentation. BIRT provides a number of tools to help like computed column, Input & Output parameters, Column Meta data, Filtering, Scripted Data set.

–          Conditional Formatting – BIRT provides various conditional formatting features like Conditional Visibility, Value Mapping, and Highlighting.

–          Scripting – BIRT provides scripting based on JavaScript. In particular, JavaScript provides excellent integration with your existing Java logic, making it very simple to call your logic from BIRT reports. BIRT provides a complete set of JavaScript objects to access the Report Object Model

–          Java Event Coding – event handlers can be coded in Java. BIRT supplies a set of interfaces for report item creation and data collection. Once the event handler is written in Java and associated with a report element, the report can be debugged through the Eclipse Java Development Tools

–          Styles – Cascading Style Sheets (CSS) allow web designers to extract style information from content, and to reuse style over and over. BIRT provides a similar style feature. Indeed, BIRT styles are based on CSS styles

–          Libraries – BIRT supports libraries that organize these shared resources. Libraries can contain any report element including styles, data sources, report items, scripts and so on

–          Internationalization – BIRT provides support for internationalization and localization