Java Open Source Programming: with XDoclet, JUnit, WebWork, Hibernate

Java Open Source Programming: with XDoclet, JUnit, WebWork, Hibernate
Authors
Joseph Walnes, Ara Abrahamian, Mike CannonBrookes, Patrick A. Lightbody
ISBN
0471463620
Published
28 Nov 2003
Purchase online
amazon.com

The Java language itself is not strictly open-source (Sun has held onto control, albeit with lots of public input). There is, however, a large open-source development community around this highly capable language. Java Open Source Programming describes and provides tutorials on some of the most interesting public Java projects, and is designed to enable a Java programmer (who's worked through the basic language's initial learning curve) to take on more ambitious assignments.

Page 2 of 2
  1. Editorial Reviews
  2. Customer Reviews

Customer Reviews

W Boudville said
By now, in 2006, Java is up to version 1.5, with 1.6's release imminent. When the book was written in 2003, it necessarily used the then current Java, 1.4. But much of the book's advice is still germane. Remembering too that the various open source packages it describes are likely to be new revs as well.

The key idea in the text is to implement a simple concept in code. Only add complexity when it is truly needed. As a general rule in programming, or project design, this is important. It helps you more quickly make prototypes and test these in an agile fashion. Plus, once you have a stable code base, it is much easier for you or someone else to maintain.

The examples that use JUnit to implement an easy unit testing of your code are perhaps the most useful, to many readers. Unit testing greatly helps the robustness of your code. And the book correctly points out that it is not exclusively associated with Extreme Programming. Unit testing also is present in other methodologies.

Konstantin Gredeskoul said
I read this book as part of my switch to java. I've been building web sites for almost 10 years in other languages, and decided to use this book together with Learning Java as a hand-by-hand real world tutorial on how to integrate the tools, properly configure your source tree, run your tests, how to setup your MVC web framework, validation, etc. I think that as a beginning real-world supplement to a java learner like myself, this book succeeds brilliantly. I do not mind poor grammar that other people are complaining about, as I myself was not born in an English speaking country. I do appreciate author's opinionated and passionate approach to subjects they discuss, such as test driven development, their choice of WebWork over Struts, their usage of Ant and jUnit.

I actually did download and compiled (and ran) the PetSoar example, so those reviewers that claim the code does not compile must have not actually tried it. It does work! I started a project based off the PetSoar example, so it was of great help to have that source.

But, there are a couple of issues that I feel could have been done better/differently.

1. The authors use the in-memory database HSQLDB for all of their development. I understand that using in-memory database allows you to test persistence stuff from unit tests, but I would have like to see that done in ADDITION rather than INSTEAD OF a regular database, such as Oracle/PostgreSQL/MySQL.

2. Most web-based applications also have a need for some sort of backend/daemon processes. I saw no mention of how to implement those within the context of WebWork/xWork. For example, a background thread that polls database table for changes is a very common requirement for many apps.

3. Would be great to at least touch on some open source queue (JMS) based implementation, and its integration into a web app.

4. Integration with Resin was out of date by the time I tried it and did not work. I am using Tomcat and would have prefered authors to show how to develop pages without having to reload the context every time the change happens (from Eclipse/IDEA).

5. Description of WebWork/xWork and Hibernate could use extra 10-20 pages each. The IoC concept was not explained that well (I felt), especially considering that the book seems to be targeted at someone like myself, who may not be well accustomed to an alternative. xWork's limitation that only actions can be "aware" of component interfaces makes it hard to design complex object hierarchies, where an action may not be the best place to put all your business logic.

6. Diagrams! Database design, class relationships, please - use UML!! One picture is worth thousand words! Use them! :)

Anyway, I think this book is great, but if there is ever a 2nd edition, it could benefit a lot from getting a bit of face lift, more in-depth analysis on select technologies, and more digrams.

sebastien tardif said
I learn a lot by reading this book about "not well known" open source like Lucene and WebWork. I must say that the explanation of Xwork and WebWork is excellent. I also learn what can do Lucene for me. However, Lucene seems require more explanation that the one provided on the book.
If you don't recognize some of the open sources framework named on the book cover, you should! And reading this book is the most efficient way.

Carol Mcdonald said
I bought the ebook version of this book 4 days ago and so far I can not download or read it. Everytime I try I get an Adobe reader error. I read lots of pdf files and have no problem with my adobe reader. I am also a software developer since 1986 so I know about computers. So I don't recommend the e-book version, and I have not yet received a refund either.

Grant Morgan said
The other reviewers cover the editing and content of the book fairly well. I would like to add that at the end, the chapter on securing the application is very weak. They basically say we didn't do it very well for this app try OSuser. OSuser is not documented for version pre 1.0 and it seems 1.0 will not be released (you can get it from the CVS), OSuser 2.0 work has been started but the page has not been changed for 4 months (since about Nov. 2003). Also the publisher's (Wiley) site does have the complete download of the PetSoar which works, but the mailing list for discussing the book does not work, nor is there any errata after 4 months(2004/03)

You might also like...

Comments

Contribute

Why not write for us? Or you could submit an event or a user group in your area. Alternatively just tell us what you think!

Our tools

We've got automatic conversion tools to convert C# to VB.NET, VB.NET to C#. Also you can compress javascript and compress css and generate sql connection strings.

“God could create the world in six days because he didn't have to make it compatible with the previous version.”