Sunday, December 13, 2009

Jasper or BIRT?

I read the article that say BIRT report is better than Jasper report. It is true in some cases especially BIRT is developing by apache and some people said it easy to use. Jasper is being in the market quite long before BIRT come to complement reporting tools. Both are open source and free to use for commercial use. Even there are free, company who sell the application that use these products should buy support fee from respective owner at least once for life to support their operation so they can continuously bring us free products. This is the nature of open source where most of us don’t realize. They can’t sell their products because they are bound to GPL license which open source software lay on it.

Latest version of Jasper iReport is created using Netbeans platform. So you will see the layout is similar to Netbeans IDE. Jasper report has some advantages in certain area:

1. Sub Report
Sub report mean report inside a report. Jasper not allows you to create two sql queries inside one report. You need to create sub report to do so. Sub report also introduce well organize report page. BIRT report doesn’t have this feature instead it allows you to create more than one query inside a single page. The page becomes huge and complex if you put all queries inside it. I think this is the main weakness of BIRT.

Subreports are an important feature for a report-generating tool. They allow the creation of more complex reports and simplify the design work.
Subreports are very useful when creating master-detail type of reports, or when the structure of a single report is not sufficient to describe the complexity of the desired output document. A subreport is in fact a normal report incorporated into another report. One can overlap subreports or create subreports containing subreports themselves, up to any nesting level. Any report template can be used as a subreport when incorporated into another report, without anything inside it having to change.

2. Scriplets
Scriptlets mean the report can call java method from your application. Scriptlets are sequences of Java code that are executed every time a report event occurs. Through scriptlets, users now have the possibility to affect the values stored by the report variables.
Since scriptlets work mainly with report variables, is important to have full control over the exact moment the scriptlet is executed. JasperReports allows the execution of custom Java code BEFORE or AFTER it initializes the report variables according to their reset type: Report, Page, Column or Group.

3. Parameter passing from jsp
Parameters are object references that are passed-in to the report filling operations. They are very useful for passing to the report engine data that it can not normally find in its data source. For example, we could pass to the report engine the name of the user that has launched the report filling operation if we want it to appear on the report, or we could dynamically change the title of our report.

4. Barcode
Barcode is current business process trend to speed up data processing or data entry. It’s very useful to have it on your report.


BIRT advantages:

1. Functions/formula – more comprehensive compare to jasper

2. Based on eclipse ide

I never explore BIRT report very well so I don’t know exactly what advantages are BIRT over the Jasper.

Both Jasper and BIRT use xml as a report language. They also support drag and drop pallete to design area, query modification and preview screen. BIRT has some additional screens for Master Page and Javascript. Javascript has some limitation because it unable to connect to database directly. Scriptlet feature in Jasper is created in java so it has more functionality. However BIRT provide ready to use drag drop Javascript BIRT functions.

BIRT provide easy to develop report as well as easy data manipulation using javascript. But it not robust compare to Jasper because it lack features like Subreport, scriplets and parameter passing from jsp page.

No comments:

Post a Comment