Book Image

BIRT 2.6 Data Analysis and Reporting

By : John Ward
Book Image

BIRT 2.6 Data Analysis and Reporting

By: John Ward

Overview of this book

BIRT is an Eclipse-based open source reporting system for web applications based on Java and Java EE. To address a wide range of reporting needs within a typical application, ranging from operational or enterprise reporting to multi-dimensional online analytical processing (OLAP), you need to know BIRT from head to toe. If you wish to start making reports easily and quickly, and also want to be up-to-date with the latest developments in BIRT, then this book is for you. It will guide you from scratch to develop reports using the Eclipse BIRT project. You will learn how to connect to data, use report items to display and format data, and use scripting to build advanced reports and charts.The book steers you through each step of report setup, to creating, designing, formatting, and deploying reports with data from a wide range of data sources. Its focus is on familiarizing you with the most visible and familiar product built with the BIRT framework – the BIRT Report Designer. It starts by introducing the concepts of business intelligence and open source software, and different installation methods. It will introduce you to the various visual report elements that can be used to design BIRT reports, such as the Palette and Grid components. You will learn the details of the data components of BIRT (the Data Source and the Data Set), different types of source data that BIRT supports such as XML files, flat text files, and databases, and the creation of all of the elements while connecting to Data Sources in reports and Report Projects. By the end of the book, you will be able to enhance the presentation of your report using Charts, Hyperlinks, and Drill Through. You will also be able to take advantage of the scripting capabilities that BIRT has to offer with Expressions and Event Handlers and successfully deploy BIRT reports.The book includes a case study at the end along with a real-world example that runs throughout the book.
Table of Contents (15 chapters)
BIRT 2.6 Data Analysis and Reporting
Credits
About the Author
About the Reviewers
Preface

Features of BIRT


What does BIRT stand for? Certainly it's not everyone's favorite fuzzy uni-browed Muppet in the title slide. BIRT actually stands for Business Intelligence and Reporting Tools. Although not as cute, doesn't the definition just fill you with the same warm fuzzy feelings as a Muppet? It is an open source report development environment built on top of the Eclipse framework. I have emphasized the term "environment" as some of us already know that Actuate doesn't just build "products", they build full fledged platforms for report delivery, and BIRT is no exception to this.

BIRT is what the Actuate corporation sees as the future of its product line. While some may consider it in its "infancy", BIRT is actually a fairly mature product built on top of, and in conjunction with, the Eclipse Foundation and the Eclipse Platform. In the years since BIRT's introduction at the 2004 Actuate Users Conference, BIRT has grown and matured to a full fledged reporting platform, which is something that the open source community has been severely lacking. Their announcement in 2004 really peaked my interest as I was looking for a reporting platform to integrate into Sguil. Ever since my early introduction into the world of MIS and BI, I had to struggle with the lack of a decent open source reporting product, and BIRT delivered on that and more.

At a high level, BIRT can be broken up into two main categories. The one most often considered to be"BIRT" is the report development environment that is used to design and develop reports. The graphical designer runs inside Eclipse and leverages a highly customized workspace. It uses a familiar graphical development paradigm similar to what Macromedia's Dreamweaver would use for designing web pages or Visual Basic for designing programs. It contains a number of drag-and-drop visual and data components.

The second component of BIRT is the Java APIs. This is where BIRT gets so much flexibility from. This allows BIRT to be embedded into any number of Java or J2EE applications. For instance, these APIs provide the Java Servlet Report Viewer that allows for implementing a BIRT report engine into Apache Tomcat. I have provided examples of this, and how to use these APIs on my website.

Some of the features that the BIRT Designer provides out of the box as of the 2.5 release are as follows:

  • JDBC Database Reporting

  • Extensible data capabilities through the Eclipse ODA Data Connection and the ability to instantiate Java objects within reports

  • Joined datasets to allow for multiple data sources in a single report

  • Web deployment

  • Templates for rapid development of similar formatted reports

  • Libraries for sharing common report elements among reports

  • Scripting for adding business logic and manipulating report elements and runtime behavior

  • Instantiation of Java objects in reports via Mozilla Rhino

  • A full blown chart engine with line charts, bar charts, pie charts, and a number of other chart types

  • Crosstab reports using the new BIRT cube designer

BIRT provides connections to existing database platforms via JDBC. So, database back-ends such as Oracle, MySQL, and Postgres are all environments that you can connect to and start reporting. Even some of the lesser known platforms that provide JDBC drivers such as HyperSQL (the engine that Sun's Open Office uses) can be used.

For environments that don't provide JDBC, BIRT can leverage the Eclipse Foundations ODA for building custom data connections. For example, Hibernate objects can be reported on via ODA, which is an example that Jason Weathersby from the BIRT Project Management team has demonstrated. If necessary, Plain Old Java Objects (POJOs), can be used as data sources via ODA and through BIRT's scripted data source.

BIRT also allows for joined datasets. This feature allows a user to join two separate data sources, regardless of physical data location, into one logical dataset. So, say for instance you have an HR database with employee information and a training database with corporate training data, these two can be combined into a single logical dataset for use in BIRT reports.

BIRT reports can be distributed via the Web through Apache Tomcat or any J2EE platform such as IBM WebSphere, using the BIRT Report View applet. While the BIRT Web Viewer is an example application, it provides a full set of report viewing features such as page navigation, export to CSV, and PDF format exporting. Additionally, as it is open source, its features can be extended to include authorization. It offers users a set of URL parameters for customizing report calls, or you can simply include the Report Viewer classes in your existing J2EE applications. This is useful for implementing reporting into your own custom portal using technologies such as Ajax and Reportlets or to extend existing applications.

For the interface designers, things that we have come to expect from large projects such as libraries and templates are also features that BIRT has to offer. And of course, for the fan boys out there, including myself, it's open source. And those are just out of the box examples. BIRT is also extensible, with extension points available not just for ODA, but for output formats (Emitters), graphical components, aggregations, chart types, and scripting functions. For example, let's say you need your report output to go to a specialized XML format to be used in an XSLT transformation. You can create a customized Emitter plugin to output that XML.