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.
sun microsystems is doing a good job in developing java
Posted by: bathroom ceiling heater | April 07, 2010 at 09:47 AM
yeah, you should make a move.
Posted by: knick | April 09, 2010 at 10:42 AM
the move is there . all it needs is a bit of love
Posted by: Wireless Barcode Scanners | April 13, 2010 at 11:52 AM
hope he knows what he is doing.
Posted by: Vacuum Sealer | April 16, 2010 at 10:23 AM
Many people claim that books have changed their lives. For you, what was the book that you fully read and understood and noticed that it had an effect on your life? What book made you want to change for the better? What book made you realize the meaning of life? What book changed you as a whole?
Posted by: cialis online | April 22, 2010 at 07:11 AM
I elso enjoy the resoults of Sun's work on Java! I think that the title "JasperReports for Java Developers" by David R. Heffelfinger is great, though teh second title is more precise, this first one is a bit more catchy :)
Posted by: id scanner | July 18, 2010 at 06:13 AM
I enjoy the every notes of Sun's Work. Jasper Reports is one of great achievement of suns. And really helpful in developing details report for Java Developers. There is lot of features has been added in Jasper Reports.
Posted by: id scanner | September 24, 2010 at 10:38 PM
Whether the revolution will be successful or not, and what that means for the fate of the various characters, is left up in the air until the very end, and the last one hundred or so pages are particularly enthralling, emotionally and physically brutal and forcefully written.
If there's one criticism to level at the book, its the way the novel refuses to give us an insider's perspective on Tecan.
Posted by: viagra online | October 11, 2010 at 07:57 AM
Good job for writing this brilliant article.
Posted by: wireless camera | November 09, 2010 at 01:11 AM
Hello, i think that this post is very good, i would like to read more about it
Posted by: viagra | August 02, 2011 at 09:02 AM