MyEclipse Reports™ for BIRT Reporting Users

1. Introducing BIRT Reporting Users to MyEclipse Reports

MyEclipse Reports™ is an implementation of the Eclipse BIRT  reporting framework (BIRT) specialized to the MyEclipse Web project conventions and directory layout, development workflow and deployment and testing features. This document describes the key conceptual and physical differences between MyEclipse Reports and BIRT reporting. For a general overview of the report development and deployment features provided by MyEclipse Reports, see Reporting Tools in MyEclipse.

This document is intended to provide those familiar with the BIRT framework and tools with an overview, comparison and contrast between MyEclipse Reports and BIRT. If you do not have any prior BIRT  reporting experience, we recommend moving on to Reporting Using MyEclipse Reports.

2. MyEclipse Reports – Motivation, Scope and Forces

Industry statistics indicate that a majority of Java developers, when required to develop an application report, resort to expensive manually coded reports rather than employ specialized report development tools. Additionally, the majority of reports developed these days have a web accessibility requirement. There are numerous reasons for the lack of use of report development tools, but the net result is that there is a need to improve the report development productivity of Java developers. MyEclipse Reports fills this need by providing a rich feature set to help developers rapidly create, deploy, and test custom web application reports. MyEclipse Reports is part of the MyEclipse Professional subscription.

MyEclipse Reports is a specialized implementation of BIRT for MyEclipse users. While compatibility with BIRT has been maintained to the maximum degree possible, in order to provide MyEclipse users the most familiar and productive development experience, BIRT was customized as follows:

    • All BIRT UIs have been reorganized to provide a cohesive and seamless integration with the MyEclipse UI perspectives, preferences and welcome and help information
    • Report development is limited to MyEclipse Web projects, i.e., Report Web project; BIRT report projects and Eclipse Web Tools projects are not supported
    • The default MyEclipse Report Web project folder structure is a simplified and more intuitive version of the standard BIRT web project layout
    • MyEclipse JDBC driver-based datasources replace ODA JDBC driver datasources
    • Replacement of the BIRT data set query editor to use the MyEclipse Database Explorer and SQL Editor for browsing and creation of SQL queries
    • MyEclipse validation framework keeps reports and MyEclipse JDBC datasources synchronized
    • MyEclipse Server Sandbox includes a Derby database server and sample schema; replaces the BIRT Derby database and schema
    • Report Web project deployment and testing uses the MyEclipse application server connectors for both exploded and packaged application WAR deployment

Warning! We strongly recommend that you avoid installing MyEclipse Reports and BIRT into the same MyEclipse environment due to the potential for serious plugin conflict issues that can impede the operation of either product.

MyEclipse Report Design perspective

3. Project Types

MyEclipse Reports is optimized towards providing a simple, intuitive project type know as the Report Web project. In its simplest form, you can think of this type of project as a conventional MyEclipse Web project extended to include a meta-folder structure for design-time and runtime reports and web resources, data source connection resources, web report viewing facilities, and a deployable report engine. MyEclipse Reports provides wizards for creating new Report Web projects and adding the Report Web Runtime facet to existing MyEclipse web projects. 

Creating a new Report Web project

3.1 Report Web Project and WTP-BIRT Web Project Comparison

The most noticeable difference between the MyEclipse Report Web project and the WTP-BIRT web project are their respective default project structures and library organization. The following figure illustrates the clean simplicity of the MyEclipse Report Web project organization when compared with that of the WTP-BIRT web project structure.

WTP-BIRT project structure (left) compared to MyEclipse Reports project structure (right)

The WTP-BIRT project is an Eclipse Web Tools Platform project enabled with an additional BIRT Reporting runtime facet. For WTP deployment support and team sharing purposes, the WTP-BIRT project must contain the BIRT report engine and the BIRT web report viewer component. The combined size of these runtime report components when installed into a standard WTP-BIRT project is approximately 30 MB.

A MyEclipse report web project is a MyEclipse Web project extended to support the report design-time tools and runtime report engine and report viewers. The roles of the project directories is defined in the web.xml deployment descriptor. Therefore, you can restructure the project any way you choose by manually adjusting the report-specific folders and then redefining their WebRoot relative path in the web.xml file. Another key optimization of MyEclipse Reports is the avoidance of repeatedly bulking up every Report Web project with the 30 MB of report engine JAR libraries common to every WTP-BIRT project. MyEclipse Report Web projects use an advanced MyEclipse library container named “Web App Libraries” to minimize the number of report engine resources that must be physically resident in the project at design-time. During a runtime deployment action, the MyEclipse web application deployer dynamically merges all the JAR libraries from the Web App Libraries container into the deployed version of the project as it is being published to the app server. This optimization keeps the memory footprint of the Report Web project small and light-weight.

3.2 Unsupported BIRT Project Types

MyEclipse Reports does not directly support WTP-BIRT web projects or stand-alone BIRT report projects. See WTP-BIRT Web Project Porting Guidelines to learn more about porting WTP-BIRT projects to MyEclipse Report Web projects.

4. User Interface Organization

To provide MyEclipse users a seamless, cohesive development experience across all of its feature sets, MyEclipse Reports reorganizes and integrates the key BIRT user interface elements to conform with the MyEclipse UI conventions. Some of the key BIRT UI changes include:

    • BIRT Report Design perspective replaced by MyEclipse Report Design perspective
    • BIRT Report Design preferences have been remapped under the MyEclipse preferences node
    • BIRT New Projects wizard has been replaced with MyEclipse Report Web Project wizard and the Add Report Capabilities wizard. These wizards are organized under the MyEclipse wizards category.
  • BIRT help information has been reorganized and updated with MyEclipse Reports specific help information. See the MyEclipse Learning Center>Developing Enterprise Reports in the Help system. 

Creating a new report using the New Report wizard

5. JDBC Driver Data Source Support

MyEclipse Reports enables the direct use of MyEclipse JDBC drivers as report data sources. The New Data Source wizard, available from the Data Explorer view, includes the MyEclipse JDBC driver option. During the Report Web project creation and configuration phase, MyEclipse Reports installs a special MyEclipse JDBC ODA driver corresponding to a MyEclipse JDBC datasource. This ODA driver enables the BIRT report engine to recognize the MyEclipse JDBC datasource at runtime.

Selecting a data source

5.1 DTP JDBC Connection Profiles Unsupported

MyEclipse Database Explorer has long provided a superset of the Eclipse DTP project features. Therefore, MyEclipse does not directly support DTP functions. Because of this, BIRT DTP JDBC data sources are not supported by MyEclipse Reports.

6. Derby Database Server and Sample Reports

MyEclipse ships with an integrated MyEclipse server sandbox. The sandbox includes an Integrated Tomcat web server, Derby database server, example schema and a preconfigured MyEclipse Derby JDBC driver. MyEclipse also incorporates an online resource known as Examples On-Demand. This website provides a suite of 1-click installable MyEclipse projects that demonstrate the use of popular Java EE and related technologies and frameworks. These example projects are designed to run on the MyEclipse integrated servers with zero configuration. Examples On-Demand hosts an example MyEclipse Report project that can be installed, deployed and run in two clicks.

Servers view showing the integrated Derby and Tomcat servers
MyEclipse Examples On-Demand

6.1 BIRT Derby Database and Sample Reports Unsupported

The MyEclipse integrated servers and Examples On-Demand are the supported infrastructure and example demonstration mechanisms supported by MyEclipse Reports. Therefore the BIRT embedded Derby server and sample reports are not supported by MyEclipse Reports.

7. WTP-BIRT Web Project Porting Guidelines

Following is an outline of the process for creating the MyEclipse Report Web project equivalent of a WTP-BIRT web project. Before you begin, you should be familiar creating MyEclipse Report Web projects and setting up MyEclipse JDBC driver-based data sources.

    1. Create a MyEclipse Report Web project.
    1. Copy the Java src folders and web content resources from the WTP-BIRT project into their respective locations in the MyEclipse project. Do not copy the report engine.
    1. For any report copied into the MyEclipse project for which its data set uses a DTP JDBC data source, you need to replace the DTP JDBC data source with a MyEclipse JDBC data source; therefore, you need to create a MyEclipse JDBC driver and data source. Then, replace the DTP JDBC data source in each data source of the MyEclipse project.
  1. Test each report in the Report Designer using the Preview mode to ensure that the data set is functioning properly. Correct each error as you test the report.

8. MyEclipse Reports Installation Guidelines

While MyEclipse Reports is implemented using the BIRT framework, this does not imply that MyEclipse Reports and BIRT can be installed into the same MyEclipse environment. The overlap between the plugins of these two products when installed into the same MyEclipse environment can cause serious plugin conflicts that can impede the operation of both products. Therefore you should only install one of these products per MyEclipse Environment.

If your MyEclipse installation does not include MyEclipse Reports, you can install this feature set by selecting Help>Choose Components from the menu.