rich client 2.0

Eclipse BIRT - A Case study


17. November 2006
Tom Seidel @ 20:33

birt_header.pngEclipse BIRT is a reporting API and designer for “rapid reporting creation” ;) . In nearly every application you have the requirement to generate different reports in different output formats. A colleague was faced with that requirement on a J2EE Application and we decided to try BIRT to see if it’s already in a state where you can use it on “real” projects. In the following I want to share my experience with BIRT in that project.

The requirement was the analysis of a questionnaire with a chart. A common use-case. The team already had experiences with Jasper Reports and iText.

Creating the Design with Photoshop

The first step in this project was the design that was created by a designer. The designer had no idea about reporting-techniques and created a screendesign for the reports, that was delivered to the IT-Unit (see Image).

project_Feedback_input.png

The first touch with BIRT

After receiving the screendesign a short feasibility study was made to see If the screen can be designed in an easy way. We tried some key features in BIRT to get a picture of the tool and were satisfied with the first results.

Workflow for designing reports

We have declared the following workflow for the project. The advantage is the clear dividing of special roles and the parallel work on backend-implementation and BIRT-design.
Workflow for BIRT Reporting

Scripted Source vs. SQL-Datasource

We decided for scripted source because the person that designed the report didn’t know anything about the application, database or its context. The application uses Hibernate as persistence layer and the database-structure changed very often, that makes the use of a Bean as data source much easier. A great advantage is that you can put complex business logic in your Bean, the report has partially no logic. The tutorial on the BIRT-homepage explains in a very clear way how to use a scripted data source. The developer defined a data-bean initialized it with mock-data (there was no implementation for getting real data) and the designer could start building a report.

Defining CSS Styles

A good point on bird is that you can import style-sheets for your report. It makes the life more easier, because the designer can create the CSS-Styles, you just have to use them.

The BIRT Designer

Eclipse delivers plugins for designing plugins, where you can edit your report-design in wysiwyg mode. We created in a short time satisfactory results, the finetuning costs more time and nerves. We made the experience to design tables, grids, etc with relative widths and heights. Especially for generating PDF reports you’ll come closer to the expected result.

Charting

The charting capabilities of BIRT are in a very advanced state. It was overwhelming how many possibilities you have to set up a chart. It was possible to come very close to the chart the graphic-designer created.

Problems

The designer is sometimes unstable. It has refresh-problems if you change data-set assignments, selections disappear and the property editor loses its content if a property is changed (that is really annoying). Eclipse crashed sometimes because of an OutOfMemory.

Documentation

On the BIRT-Website you can find useful flash-films that explain special features. It’s helpful for a beginner, but the advanced user will miss the help-system as reference book.

Integrating in a J2EE Application.

Very easy ;) . You just have to follow the instructions on the BIRT-Website. Works perfectly.

Before - After

On the left hand you can see the designed report, on the right hand you can see the html-output of the generated BIRT-Report
PDF-Output

project_Feedback_input.png BIRT Report in HTML Format

Conclusion

All in all can be said, that the BIRT API is a very powerful tool for designing and creating reports. We’re waiting patiently for the next release in June 2007 where also Excel is supported as an output format. At the moment we plan to integrate BIRT in a RCP-Application.

Download

report_perspective.gif Download the Report Example as BIRT Project (Java Bean included - 63 Kbyte)
cvs_persp.gif CVS-Checkout (more info)

3 Comments »

  1. hello,
    an explanation on how did you integrate birt an eclipse rcp would be great!
    regards

    Comment by olivier — 19. November 2006 @ 12:22

  2. […] Tom Seidel talks about Eclipse development on his rich client 2.0 blog and talked about his experiences with BIRT. […]

    Pingback by Rolling out a Blogroll for BIRT Exchange » Blog - BIRT Exchange — 6. October 2007 @ 00:59

  3. […] http://www.richclient2.eu/2006_11_17/eclipse-birt-a-cases-study/ […]

    Pingback by ILOG BRMS Blogs » Blog Archive » Advanced Rule Studio Reporting using BIRT — 4. February 2008 @ 13:17

RSS feed for comments on this post. TrackBack URI

Leave a comment

Powered by WordPress