The Eclipse Business Intelligence and Reporting Tools Project is an open source top level project of eclipse.org. 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.
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.
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.
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
The report model component implements a design-time view of the Report Object Model: the description of a BIRT report. Services include:
- Complete API for creating, modifying, and exploring report designs
Full undo and redo of report design modifications
Reading and writing XML design files
Semantic checking of the design
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.
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:
- Connecting to all specified data
- Retrieving the data from the data sources
- Processing the data by sorting, grouping, calculating aggregations, and so on
- Creating the report layout
- Generating the report document
The presentation service performs the tasks required for viewing report content, as shown in the following list:
- Providing the infrastructure for viewing a document online
- Printing a document
- Generating various output documents such as PDF
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:
- An interface for the end user to enter parameter values when generating the report
- Navigation of report pages
- Drill through report links
- Searching the content of a report
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.
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.
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.
The chart engine component generates device-independent charts by processing an EMF-based chart model, defined in XML.
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.
The BIRT core components provide common
infrastructure services for the BIRT platform.
These services include:
- Exception handling
- An internationalization framework
- Data type string formatting functions
- A scripting framework