Understanding BIRT integration
BIRT consists of many related components. 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.
As an Eclipse project, BIRT is tightly integrated with Eclipse frameworks and platforms. Like all Eclipse projects, BIRT is implemented as a set of Eclipse plug-ins. The BIRT plug-ins provide the functionality for all BIRT components, including BIRT applications, the engines that drive the applications, and supporting application programming interfaces (APIs). The BIRT plug-ins also provide the interface mechanism for communicating with several Eclipse frameworks and platforms.
The relationships between BIRT and the Eclipse components are most easily viewed as a stack. Each tier in the stack depends upon, uses, and integrates with the tier below it, as shown in Figure 2‑1.
Figure 2‑1 BIRT components as plug-ins to the Eclipse platform
Figure 2‑2 presents the various BIRT components and how they relate to one another. In this diagram, a component in a solid box is a standard BIRT component. A component in a dashed box is a custom component that a Java developer can provide. Some custom components are extensions of BIRT and others are applications that use the BIRT APIs. A component in a dotted box is a standard BIRT component that the containing component uses. For example, because BIRT Report Designer uses the design engine, the design engine appears in a dotted box within the box for BIRT Report Designer.
Figure 2‑3 shows the relationships among BIRT components as they generate a formatted report from a design.
BIRT Report Designer provides drag-and-drop capabilities to design reports quickly. The report designer uses the design engine to produce XML report design files. The BIRT Report Engine consumes these report design files, and then, at run time, fetches the appropriate data using queries defined at design time.
A BIRT report for immediate viewing is generated in memory and emitted in the desired output format, which can be Microsoft Excel, non‑paginated HTML, paginated HTML, Open Document formats, Adobe PDF, PostScript, Microsoft PowerPoint, or Microsoft Word. To create a persistent report, the report engine transforms and summarizes the data and caches the generated report in an intermediate binary file, the report document file. This caching mechanism enables BIRT to scale to handle large quantities of data.
Figure 2‑2 Task flow among standard BIRT components and custom components
Figure 2‑3 Task flow among BIRT and custom components to generate a report
BIRT also provides a tightly integrated charting component, which supports including a variety of chart types in reports. The charts are rendered at run time using the charting engine. This charting engine also supports creating chart output separate from a report. Figure 2‑4 illustrates this architecture and process flow.
Figure 2‑4 BIRT architecture and process flow