Project architecture
Project description

The Eclipse Business Intelligence and Reporting Tools Project is an open source top level project of Its goal is to provide an extensible set of tools to help develop business intelligence and reporting capabilities in Java applications.

Refer to the Project overview for additional project information.

Project architecture

Figure 1. BI & Reporting Tools project components and the Eclipse Platform


The Eclipse BIRT project provides a set of integrated desktop designer components for a user to design and develop Business Intelligence and Reporting applications. In addition to the designer components, the BIRT project also provides a runtime library to execute the designs created by the desktop designer tools and deliver the generated content to end users. The resulting output could be in any one of various forms, for example, a report, dash-board, or interactive on-line analytic presentation.

The initial release of BIRT focuses on a reporting platform and a business-charting platform. It includes a desktop report designer and a chart builder. The runtime library includes a report viewer, a report engine, a report model, a data engine, a chart engine, and a set of core infrastructure components.

As the previous diagram illustrates, the BIRT designer components depend on the Eclipse core platform and tools framework. They also depend on the BIRT runtime library to create, open, modify, and persist report and chart designs, and to compile, execute, and preview reports and charts. The Chart Engine uses Eclipse Modeling Frameowrk (EMF) at runtime.

The following paragraphs describe Eclipse BI & Report Tools components in more detail. Please refer to the Eclipse platform architecture for descriptions of other Eclipse components.


Reporting Components

The reporting components in BIRT provide an extensible framework for report designing, report generation, and report viewing. This framework consists of following components described in the following sections: report model, report engine, report designer, and report viewer. The BIRT reporting framework allows Java developers to add plugins to extends its functionalities, such as new types of report item, new report output format, etc. Together with these plug-ins, the BIRT reporting framework provides a robust reporting tool for Java developers to build reporting applications.

Report Designer

The report designer component is an Eclipse-based desktop environment for report creation. This component provides easy-to-use, graphical report editing as well as scripting to control creation of the report output dynamically.

Report Model

The report model component implements a design-time view of the Report Object Model: the description of a BIRT report. Services include:

The BIRT report designer, viewer, and engine use report model to work with report designs. Applications can use the model to create a report design programmatically.

Report Engine

The report engine component generates report documents based on XML report designs. To support this functionality, the report engine provides two core services: generation and presentation.

The generation service is responsible for the tasks shown in the following list:

The presentation service performs the tasks required for viewing report content, as shown in the following list:

Report Viewer

The report viewer is a web-based component that provides the capability to execute a report design and view a report document in various output formats, such as HTML and PDF. The viewer provides the following items:

The viewer is fully integrated with the Eclipse platform through Tomcat. This integration supports BIRT report developers previewing reports through either the Eclipse built-in browser or their preferred external browser.


Data Engine

The data engine component provides the capability for data access, data projection, data transformation, and data aggregation. This component supports plug-in data access drivers to access a variety of data sources. The data engine also provides metadata services to support the creation of a report design.


Chart Framework

The chart framework provides an extensible platform to design and generate rich business charts. Extending this framework can provide additional chart series types, support for new rendering devices, and custom data feed to charts. The BIRT reporting tool uses charting engine to support chart report items.

Chart Engine

The chart engine component generates device-independent charts by processing an EMF-based chart model, defined in XML.

Chart Builder

The chart builder provides a graphical user interface for the user to define charts interactively. The chart builder framework has extension points to support extending the user interface to create new chart types.


Core Components

The BIRT core components provide common infrastructure services for the BIRT platform. These services include: