BIRT Developer Center Download

BIRT Engine and Sample Viewer


The BIRT Runtime contains three different packages: the Report Engine, the exploded Sample Viewer WAR, and the Sample Viewer WAR. Your choice of package will depend on your deployment scenario.

  • BIRT Engine - This package contains the report engine (REAPI), design engine (DEAPI), and chart engine (CEAPI). This package is used to develop a custom BIRT based application.

  • Sample Viewer WAR - This package is named birt.war and is used to add web based viewing capability for BIRT designs into you application. This is the viewer package you would choose if you are not planning on modifying the viewer before deploying.Exploded Sample Viewer WAR – This package is named WebViewerExample and is also used to add web based viewing capability for BIRT designs. This package enables you to make modifications to the viewer, prior to deploying.

  • BIRT Viewer Toolkit - This item is not part of the Report Engine, but is also available for use with open-source. It is a free viewer toolkit that offers the functionality of the Sample Viewer and adds performance and usability improvements for more demanding BIRT Reports, as well as a JavaScript API for easier integration. It presents content more quickly with progressive report viewing and temporary file management, and easily integrates security. This viewer is URL-compatible with the Eclipse BIRT Sample Viewer and can access the same reports. Click here to download the BIRT Viewer Toolkit and click here to learn more.

In this section you will find information on using these options.

Understanding the BIRT Architecture

This section provides an overview of the BIRT architecture, the BIRT components, the Eclipse components upon which BIRT relies, and the relationships that tie them all together. This guide includes the following topics:

  • Understanding BIRT integration
  • About the Report Object Model (ROM)
  • About extensions to BIRT
Learn More


Understanding the Report Object Model

This section provides an overview of the BIRT Report Object Model (ROM) and the primary elements that comprise the model. ROM defines the rules for constructing a valid report design. ROM, therefore, is the model for the BIRT report design, template, or library. This guide includes the following topics:

  • About the ROM specification
  • About the ROM schema
  • About the rom.def file
  • Understanding ROM elements
Learn More


Installing Other BIRT Packages

Beyond the BIRT Report Designer packages, BIRT provides a number of other separate packages as downloadable archive files on the Eclipse web site. Some of these packages are stand-alone modules, others require an existing Eclipse or BIRT environment, and still others provide additional functionality to report developers and application developers. This section describes the steps required to install the BIRT packages shown in the following list:

  • Chart Engine
  • Database Tools Platform (DTP) Integration
  • Demo Database
  • Report Engine
  • Samples
  • Source Code
  • Web Tools Integration

Learn More

Deploying a BIRT Design to an Application Server

One way to view a BIRT design on the web is to deploy the BIRT Sample Viewer to an application server, such as Apache Tomcat, IBM WebSphere, JBoss, or BEA WebLogic. This section provides information about deploying the BIRT Sample viewer using the compressed or exploded WAR. This guide includes the following topics:

  • About application servers
  • Placing the BIRT report viewer on an application server
  • Placing fonts on the application server
  • Viewing a report using a browser
  • Using connection pooling on Tomcat
Learn More


Understanding the BIRT APIs

BIRT provides a comprehensive public API that developers can use to create custom BIRT based applications. The public API consists of the classes and interfaces in the following package hierarchies:

  • Report Engine API - The package hierarchy contains the API to access the report generation functions. This API provides the most commonly used functionality for a reporting application. The key class in the Report Engine API is ReportEngine. This class provides access to all the tasks required to create the desired output file from a BIRT design (.rptdesign) or a BIRT document (.rptdocument). The Report Engine API also includes the classes and packages that support the scripting capabilities of a report design.
  • Design Engine API - The package hierarchy is by far the larger of the two BIRT APIs. This API provides access to the content and structure of a BIRT design, a template, or a library. A BIRT based application can call this API to change the structure of a BIRT design. The Design Engine API is also used in the development of a custom BIRT designer.
  • Chart Engine API - The org.eclipse.birt.chart package hierarchy contains the API that a developer of a custom chart generator uses. A BIRT based application can also use this API in conjunction with the Report Engine and Design Engine APIs to create and modify chart elements in a BIRT design.

This section will give a general overview of these APIs. For more detail, see the BIRT Java Docs section below. Learn More

Programming Using the BIRT Report Engine API (REAPI)

A BIRT based application uses the BIRT report engine API to generate BIRT output files from BIRT design (.rptdesign) files. Typically, the application produces the output as a formatted file or stream, in HTML or PDF format. Alternatively, the application creates an output document (.rptdocument) file that contains the report content in binary form and renders the output to one of the supported output formats later.
This section describes the fundamental requirements of a BIRT based application and describes the BIRT API classes and interfaces that you use in the application. This section also provides detailed information about the tasks that a BIRT based application performs. This section will cover many of the most important classes. For more detail, see the BIRT Java Docs section below. Learn More

Programming Using the BIRT Chart Engine API (CEAPI)

This section describes the basic requirements of a charting application and demonstrates how to use the BIRT charting API to create a new chart and modify an existing chart definition. The BIRT chart engine provides the BIRT charting API. Classes and interfaces in this API support:

  • Writing Java applications to generate many types of charts, such as bar charts, line charts, pie charts, scatter charts, and stock charts.
  • Customizing the properties of a chart to fit the users' requirements.
  • Modifying an existing chart item in a BIRT design or adding a chart to an existing report design.

You'll also learn how to customize an existing chart and create a new chart within a BIRT application. This section will cover many of the most important classes. For more detail, see the BIRT Java Docs section below. Learn More

Programming Using the BIRT Design Engine API (DEAPI)

For more information about programming with the DEAPI, see the Design Center.

BIRT Java Docs

For more information about Java Docs, see the Design Center