Blog powered by TypePad

September 2008

Sun Mon Tue Wed Thu Fri Sat
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30        

Fellow Analysts

Brenda Michelson
Brenda Michelson is the principal of Elemental Links, an IT consulting and advisory practice specializing in strategy, architecture, and portfolio planning for business-driven IT.
Jon Collins
Josh Chalifour
Content Manager and Open Source Analyst.
Cote'
Stephen O'Grady
James Governor
Richard Monson-Haefel

People Across the Blogosphere

Steve Shreeve
Larry Augustin
Angel investor and advisor to early stage technology companies.
Jeff Waugh
Passionate about the philosophy of Software Freedom and the business of Open Source.
Ismael Ghalimi
Founder and CEO of Intalio, creator of BPMI.org and initiator of Office 2.0
Ivelin Ivanov
Member of the JBoss core team as well as Director of Product Development.
Vinnie Mirchandani
Founder of Deal Architect, former technology industry analyst (with Gartner), outsourcing executive (with PwC, now part of IBM) and entrepreneur (founder of sourcing advisory firm, Jetstream Group).
David Rossiter
Runs an IT PR agency focused on helping companies communicate with IT industry analysts.
Zach Urlocker
Glyn Moody
Technology journalist and author covering the Internet and free software since 1994, 1995.
Brian Aker
Ben Rockwood
Joshua Schachter
Andrew Lark
Award-winning global communications and marketing professional
Coda Hale
Jeff Clavier
Software entrepreneur, senior executive, venture capitalist, consultant, angel investor,... in a rather peculiar (but hopefully relevant and fun) mix

« OpenProj and the office productivity landscape for 2008 and beyond | Main | Open source ecosystems and collaboration as the currency of innovation »

Book Review: JasperReports for Java Developers

Last October, Packt Publishing (a UK based publishing company specializing in focused IT books) extended the offer of reviewing titles from their open source selection. I accepted and decided on the following two titles:

"JasperReports for Java Developers" by David R. Heffelfinger "Java EE 5 Development using GlassFish Application Server" by David R. Heffelfinger

After posting a review of the latter last month, I'm following up with that of the former.

As I stated in my first review, my intention was to both read and review the title from a developer's perspective. Especially considering the fact that the book is aimed at Java developers wishing to become proficient with JasperReports. The book's theme centered on steering the reader "...through each point of report setup, to creating, designing, formatting, and exporting reports." Its author, David Heffelfinger, earned a Masters degree in Software Engineering from Southern Methodist University and is currently editor in chief of Ensode.net, a web site about Java, Linux and other technology topics.

"JasperReports for Java Developers" proved to be a well put together title that provided sufficient support for a JasperReports newbie, like me, while also making good as a source of reference content that might be useful for non-beginners. Nonetheless, there were small gaps (mostly version differences and functionality that is currently available) attributable to the fact that the title was first published in 2006 and that JasperReports has continued as a steadily maturing open source framework since that time. This is to be fully expected and the book's coverage didn't directly suffer as a result.

The first chapter provided a good introduction as well as instructions for getting started with JasperReports including a useful breakdown of class library dependencies and the typical workflow associated with creating a report. In comparison to JasperReports documentation, which is high quality itself, there wasn't much missing/different. The second and third chapters covered the embedding reporting capabilities into Java applications and creating your first report. It was important for these to provide sound, comprehensive coverage of adding and using JasperReports' capabilities from a Java developers perspective if only because this is the library's primary use among its target audience. Both succeeded largely in providing a good foundation.   

The second chapter was essentially seguing to the next one which covered the tasks associated with creating your first report. As a result it was brief and to the point: instructions on downloading, environment setup plus a 'scan' of the JasperReports CLASSPATH in the form of a list of required libraries for report compilation. Chapter 3 provided newbie instructions on creating a report fit with insight on report template creation, preview, compilation, generation and display. There was also a section on using ANT to compile a report programmatically. Not to nitpick, but I felt the part detailing the elements of a JRXML report template should have been at the beginning of the chapter instead of the end, especially considering that understanding its importance is paramount to grasping JasperReports.

At this point in the book I began to instinctively look for follow-up exercises at the end of each chapter. However, none were provided. They always help to ensure that important topics weren't missed in  would have been a practical edition to a developer-centric book such as this one but were absent.

Chapters four and five (pages 55 -114) were two of the strongest throughout the entire book. In the first of those two, the concept of dynamic database reports were introduced and covered. This, obviously, is key topic since most reports aren't static and leverage the use of a database. In this light the chapter did a solid job of covering the same bases as its predecessor including ample text from various code examples interspersed with highlights, graphics and guidance. The sections herein provided a nice set of walk-through oriented content that was helpful in getting a grasp of the subject matter. The next chapter extended the topic of using databases by covering working with other datasources (empty, map, java objects, TableModels, XML and custom). Additionally, the guidance on implementing the JRDataSource interface was particularly informative and appropriate at the end of the chapter.

Neither of the next two chapters (six and seven) disappointed. Chapter 6 detailed the layout and design principles of JasperReports including how to create more complex reports by introducing background images/text and subreports. Each of the notable elements of report design and layout were mentioned as well as how to accomplish associated actions like adding multiple columns and grouping report data. This chapter went into great detail to attempt to portray the nature of JasperReports' extensive reporting capabilities while providing a handle on learning to effectively manipulate them. Chapter 7 was structured in the same manner only it focused on charts and graphics.

Through the end of the book other features, exporting to other formats, using iReport and integration with other Java frameworks were covered. Yet after finishing the 11th and final chapter the Index followed immediately which served as an abrupt end to the flow of the previous chapters and the learning experience, in my opinion. Personally, I expected more auxiliary information but maybe that's just my perspective.

Overall, I found "JasperReports for Java Developers" to be well written and informative in the same vein that "Java EE 5 Development using GlassFish Application Server" was. The book was able to maintain a walk-through oriented tone all throughout without sounding like a traditional developer's guide, all in 328 total pages (index included). Despite the fact that I felt there was a need for something along the lines of an appendix to supplement and better connect the high volume of examples with essential learning keys, the sections within each of the chapters were usefully phrased as if they were answers to a set of FAQ's. When coupled with a high degree of precision in content ordering this led to an instructive reading experience that is ideal for those looking to become familiarized with JasperReports. 

Comments

Post a comment

If you have a TypeKey or TypePad account, please Sign In

You are currently signed in as (nobody). Sign Out


You are viewing a mobilized version of this site...
View original page here

How do you rate mobile version of this page?

Mobilized by Mowser Mowser