<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="../../../netbeans.css" media="screen">
<meta name="author" content="Tinuola Awopetu">
<meta name="keywords" content="NetBeans IDE, NetBeans Platform, iReport, Jaspersoft, Giulio Toffoli">
 content="NetBeans, NetBeans IDE 6.0, iReport, NetBeans 6.1">
  <title>iReport for NetBeans - An Interview with Giulio Toffoli, iReport Project Leader </title>
</head>
<body>
<h1>iReport for NetBeans - An Interview with Giulio Toffoli, iReport
Project Leader <br>
</h1>
<br>
JasperSoft's <a
 href="http://www.jasperforge.org/jaspersoft/opensource/business_intelligence/ireport/">iReport</a>,
the popular open source graphical report and dashboard design tool
supports the NetBeans IDE as a native plug-in. iReport for NetBeans
enables developers to build and edit complex reports for rich-client
and web applications in a native development environment.
In this interview, iReport creator Giulio Toffoli discusses the latest
release of the plugin, his experience creating the module using the
NetBeans Platform, and what users can expect from future updates.<br><br><br>
<div
 style="padding: 10pt 10pt 10px 10px; background-color: rgb(255, 255, 255); width: 250px; float: left; font-size: 90%;">
<div style="text-align: left;"><img style="width: 200px; height: 199px;"
 alt="Giulio Toffoli, Project Lead of iReport"
 src="../../../images_www/articles/interviews/giulio-toffoli.jpg"
 align="top" hspace="5" vspace="5"><br>
</div>
<div style="text-align: left;"><br>
Giulio Toffoli is a Senior
Software Engineer at <a href="http://www.jaspersoft.com/index.html">JasperSoft
Corporation</a>, where he serves as the iReport project leader. He has
been
developing Java applications since 1999 and founded the iReport project
in
2001. His expertise includes designing complex software architectures
and implementing
custom software solutions with a focus on desktop and multi-tiered
web-based
client-server applications using Java (J2EE/JEE) and open-source
technologies. He
has a Master’s Degree in Computer Science from the University of
Bologna and currently
resides in Italy.<br>
</div>
</div>
<span style="font-weight: bold;">
</span>
<h4>What are the
highlights of the latest release of iReport for
NetBeans (v0.9.1)?</h4>
We introduced support for the crosstabs, conditional styles,
and the new border and pen definitions. We fixed several bugs and
refactored
some code portions, thus improving the performance.<br>
<br>
<h4>When and where can users get the plugin, and what version of
the NetBeans IDE does it work with?<o:p></o:p>
</h4>
The first version of the plugin (v0.9.0) is already
available on the <a href="http://plugins.netbeans.org/PluginPortal/">NetBeans
Plugin Portal</a>, where it is extremely popular.
The new version
(v0.9.1) will be out in early April and will be fully
compatible with
NetBeans 6.0 and NetBeans 6.1.<br>
<o:p></o:p><br>
<table
 style="text-align: left; width: 50%; margin-left: auto; margin-right: auto;"
 border="0" cellpadding="2" cellspacing="2">
  <tbody>
    <tr>
      <td style="vertical-align: top;">
      <div style="text-align: center;"><a
 href="../../../images_www/articles/ireport-screenshot1.jpg"><img
 alt="iReport for NetBeans - New Crosstab Designer in Action"
 src="../../../images_www/articles/ireport-screenshot1-small.jpg"
 style="border: 0px solid ; width: 520px; height: 320px;" align="top"></a><br>
      </div>
      <div style="text-align: center;"><span style="font-style: italic;">iReport
for NetBeans: New Crosstab
Designer<br>
Click for larger view</span><br>
      </div>
      </td>
    </tr>
  </tbody>
</table>
<h4>Are there significant differences between the plugin and the
stand-alone
versions of iReport?<o:p></o:p><span style="font-weight: bold;"></span></h4>
<span style="font-weight: bold;"></span><span style="font-weight: bold;"></span>
There are no particular
differences in terms of
functionalities. In the future we plan to improve the integration with
Java
projects when iReport is executed as a plugin inside the IDE, allowing
the use
of the project classpath to run a report. The stand-alone version
better serves
non-technical users who are interested only in design reports and not
in writing
code; and developers using other environments and looking for something
lighter
than the whole IDE.<o:p></o:p>
<br>
<br>
<h4>Why integrate iReport with the
NetBeans IDE? </h4>
NetBeans provides a set of services and functionalities that we had to
write on
our own in the previous version of iReport. Moving to NetBeans gave us
a lot of
features—in a modern implementation and completely maintained by Sun—
for free.
Such as the visual library for the main designer, the window docking
system,
the property sheets, the data oriented tree, and much more. <br>
<o:p>&nbsp;</o:p>
<br>
We were thus able to concentrate efforts on the core
functionalities of our application. A standard platform enables the use
of
modules provided by third parties to quickly grow the set of
functionalities
offered out-of-the-box. It is easier for new developers to be involved
in the
project since all the platform APIs are well-known and documented, thus
making
the source code of iReport results easy to understand and extend.
<br>
<br>
<h4>What features of the NetBeans IDE does the plugin use? </h4>
iReport makes good use of pretty much all the base NetBeans API. The DB
module
in particular functions as a way to define the database connections,
and the
user can use it to design SQL queries and explore the database as
well—a handy
feature that’s beyond the scope of the application, but that we got for
free
using the module just to manage the JDBC drivers and connections. As I
already
mentioned, tight integration with Java projects is on the roadmap. <o:p></o:p>
<br>
<br>
<h4>Prior to creating iReport, what was your experience with the
NetBeans Platform?
</h4>
My experience was essentially null. I started by reading the book:
“<a
 href="http://vig.prenhall.com/catalog/academic/product/0,1144,0132354802,00.html"><span
 style="font-style: italic;">Rich Client
Programming: Plugging into the NetBeans Platform</span></a>”, written
by Tim Boudreau, Jaroslav Tulach and Geertjan
Wielenga.<o:p></o:p>
<o:p></o:p>The book was a good starting point. <br>
<br>
It does
not make assumptions about your knowledge of the NetBeans Platform,
making it perfect
for people approaching platform development for the first time. Using
real life
samples, it goes through all the main APIs and allows you to start
writing code
almost immediately. It is not a exhaustive reference of the NetBeans
APIs and
the Platform (this would&nbsp;require more than a single book) but it
gives you
the tools to find out the rest.<br>
<o:p>&nbsp;</o:p>
<br>
The second great place to get started with plugin development
is looking at the code. This may be a bit rude, but there are so many
code
patterns that when you compare several modules you discover that you
are more
or less writing the same code. Finally, the <a
 href="https://netbeans.org/community/lists/top.html">NetBeans
mailing lists</a> are great
sources of knowledge. It’s where you really get the sense that there is
a strong
and passionate community centered around NetBeans. And finding someone
to help
solve a problem is pretty easy.
<br>
<br>
<h4>Why did you choose to build iReport with the NetBeans Platform? </h4>
I began to consider moving iReport to the NetBeans Platform after
attending
JavaOne in 2007. During that occasion, I met Toni Epple who was already
working
on a designer for JasperReports based on the NetBeans Platform, and
that
I
thought was pretty cool. I was looking for a platform to move iReport
onto;
iReport was completely written using Swing, so the opportunity to reuse
a lot
of the existing code for the UI in the new version was great.<o:p></o:p>
<br>
<o:p>&nbsp;</o:p>
<br>
<h4>Are there improvements you'd like to see in the NetBeans Platform?
</h4>
An easy way to dynamically extend the global classpath. Currently,
several
third parties libraries still rely on the system classpath when they
dynamically look for a class (using the Class.forName() method instead
of
relying on the thread context class loader). In the original version,
iReport
had a special directory (lib) for this purpose: all the jars in that
directory
were added to the system classpath at startup. Of course, there are
lots of
implications to allowing users to add a jar with a global visibility in
the
NetBeans IDE: this would break all the rules and the efforts to manage
classpath visibility of each module, but it would solve a lot of
problems at
platform level, where the risk of a class conflict is really low.<o:p></o:p>
<br>
<br>
<h4>Are there updates to the plugin for NetBeans 6.1?</h4>
We just fixed a couple of incompatibilities (due to API changes). The
good news
is that Sun has been really responsive in helping to figure out the
problem and
reconsidering the particular API change.<o:p></o:p>
<br>
<br>
<h4>What is the roadmap for iReport for NetBeans, and what can users
expect?<o:p></o:p>
</h4>
We still have a lot of work to do, but iReport 0.9.1
represents a very important milestone since it is the first version
that
provides visual support of all the JasperReports 2.0.5 features
(meaning you do
not have to write a single line of jrxml).
<br>
<o:p>&nbsp;</o:p>
<br>
The next major steps will be better support for export
formats (currently the export of a report in a particular format can be
done
only using the preview window), full support for internationalization
(i18n)
and usability improvements (and here the list is very long). <br>
<o:p>&nbsp;</o:p>
<br>
We plan to reach all the functionalities offered by the
current standard version of iReport in June, at which time the port
will
be
complete and the old version will be no longer be developed in favor of
the
NetBeans version.<o:p></o:p><o:p></o:p><br>
<div style="text-align: right;"><span style="font-style: italic;">(April
2008)</span><br>
</div>
<br>
<br>
</body>
</html>
