Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

BIRT/FAQ/Deployment

< To: BIRT/FAQ

Application Server

Q: How do I install the BIRT Report Engine in my app server?

The Eclipse (BIRT) Reporting Engine (ERE) is a series of Java class files that can be deployed in any Java/J2EE environment – this could be within a server based application, or a client-side application. The ERE is the runtime component of BIRT – when you call it in the context of your application, you pass it a report design. The ERE then will access the data source, retrieve the data, do the required aggregations/sorting, etc., and then format the report for presentation as HTML or PDF, for example.

The BIRT report viewer is included with the report designer and is used to preview reports. It doubles as an example of how to integrate the Report Engine into a J2EE application.

Q: How do I install BIRT in Tomcat?

See complete instructions on the BIRT Integration pages.

Q: How do I install BIRT in JBoss?

Take the viewer deployment from the BIRT designer (as described for Tomcat), and copy it to your JBoss deploy directory as viewer.war.

However, BIRT uses an older version of the Rhino scripting engine, and this causes a conflict with the version installed with JBoss. To work around this temporarily, put BIRT's js.jar in JBoss's server/default/lib.

Q: How do I install BIRT in WebSphere?

See complete instructions on the Birt WebSphere Deployment page for all version's apart from 6.0.0.0 which is documented here Birt WebSphere 6.0.0.0 Deployment . Here is how to deploy BIRT 2.2 on Websphere 6.0.2.0

Q: How do I install BIRT in WebSphere Community Edition (Apache Geronimo)?

See complete instructions on the Birt WAS CE page.

Q: How do I setup BIRT to use Tomcat Connection Pooling

1. Install Your JDBC Driver make an appropriate JDBC driver available to both Tomcat internal classes and to your web application. This is most easily accomplished by installing the driver's JAR file(s) into the $CATALINA_HOME/common/lib directory

That means, copy the jdbc driver jar file that you want its JNDI Data Source service to use into the <Tomcat_Home>/common\lib folder

2. Declare Your Resource Requirements

  • in the webapps/WebViewerExample/WEB-INF/web.xml file, add the following entry to setup your JNDI service:
   <resource-ref> 
       <description>Resource reference to a factory for java.sql.Connection</description> 
       <res-ref-name>jdbc/MySqlDB</res-ref-name> 
       <res-type>javax.sql.DataSource</res-type> 
       <res-auth>Container</res-auth> 
   </resource-ref> 

where MySqlDB is your JNDI name

3. Configure Tomcat's Resource Factory

To configure Tomcat's resource factory, add an element like this to the /META-INF/context.xml file in the web application.

  • In the webapps/WebViewerExample/META-INF/context.xml file, add the following entry to setup your JNDI data source factory:
 <Resource name="jdbc/MySqlDB" 
       auth="Container" 
           type="javax.sql.DataSource" 
       maxActive="5" maxIdle="-1" maxWait="10000" 
       username="acTest" password="xxx" 
           driverClassName="com.mysql.jdbc.Driver" 
       url="jdbc:mysql://birtdb2-w2k:3306/acTestDb" 
       description="MySQL Sfdata DB"/> 
  • No need to setup jndi.properties in the WebViewerExample's oda.jdbc/drivers folder, since the default setting is fine
  • Since Tomcat by itself does not support client-side access, no need to setup jndi.properties for the BIRT report designer
  • The JNDI URL name to specify in the oda.jdbc connection property, using the above example, will be:
       java:comp/env/jdbc/MySqlDB

BIRT Viewer

Q: Why does a red asterisk appear next to some of my parameters in the Viewer's parameter UI?

The asterisk indicates that a parameter is required. A parameter is required if:

  • The parameter is a string, the default value is blank, and the parameter does not allow blank values.
  • The parameter is other than a string, the default value is blank, and the parameter does not allow null values.

Note that a blank value is considered to be a blank string ("") for string values, but a (database null) value (unknown) for non-string types such as numbers and dates.

Other Integrations

Q: Can I use BIRT within a Rich Client Application (RCP)?

Community member Stavros Kounis made an Eclipse plug-in that starts BIRT's Viewer webapp using the Eclipse internal application server and views reports inside RCP using an editor that contains a browser control. He posted it on his blog at http://tools.osmosis.gr/blog.

Also see the RCP examples located in the BIRT Wiki. http://wiki.eclipse.org/index.php/RCP_Example

Q: Can I store report designs in a location other than the file system?

Not at present, but we are looking into possible changes to support this. Also, Eclipse itself may be looking into this.

Q: Do BIRT reports need to be compiled before they are run?

No, there is no compile step. The BIRT Report Engine directly executes the report design XML file. (This is one reason that BIRT uses interpreted JavaScript instead of compiled Java as its scripting language.)

Q: Can BIRT reports be saved on disk?

Reports are created in two phases, Generation and Presentation. The Report Engine API has three tasks that can be used for report creation. One for generating the report, another for rendering and one that combines generation and presentation tasks. The WebViewer Example uses the combined task when generating report content using the /run servlet mapping and uses the two seperate task when using the /frameset mapping. The WebViewer Example has a URL parameter __document that allows the intermediate report document to be saved for later rendering. See the Report Emgine API page for more details. See the Viewer Usage page for details on the WebViewer parameters.

Back to the top