Java Open Source Programming: with XDoclet, JUnit, WebWork, Hibernate by Patrick A. Lightbody

treeexcellentSoftware and s/w Development

Dec 13, 2013 (3 years and 8 months ago)

67 views

Java Open Source Programming:
with XDoclet, JUnit, WebWork,
Hibernate by Patrick A. Lightbody




Great, Well Paced Intro Into O/S Java, But I Want More!


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 (whos worked through the basic languages initial learning
curve) to take on more ambitious assignmen
ts. The authors generally treat
the covered open
-
source packages as resources to be used, rather than
projects to be contributed to, and so its fair to think of this volume as the
missing manual for downloaded code. In that spirit, the authors devote
many
sections to how to subjects (addressing, for example, a good way to
retrieve stored objects from a database and the procedure for calling an
action in XWork). Java Open Source Programming takes a bit of a risk
by devoting a lot of space to the developme
nt of a complex application (an
online pet shop), as such a didactic strategy can be hard to follow. The
authors pull it off, though, and manage to show that their covered
technologies can be used to create a feature
-
rich and robust application
that uses t
he versatile model
-
view
-
controller (MVC) pattern. This book will
suit you well if youre planning an MVC Java project and want to take
advantage of open
-
source packages.
--
David Wall Topics covered: The
most popular open
-
source Java packages, particularl
y those concerned
with Web applications and the model
-
view
-
controller (MVC) pattern.
Specific packages covered include JUnit and Mocks (code testing),
Hibernate (persistent storage of objects in databases), WebWork (MVC),
SiteMesh (Web page layout), Lucene

(site searching), and WebDoclet
(configuration file generation).


My Personal Review:

I read this book as part of my switch to java. Ive 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 config
ure 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
co
mplaining about, as I myself was not born in an English speaking
country. I do appreciate authors opinionated and passionate approach to
subjects they discuss, such as test driven development, their choice of
WebWork over Struts, their usage of Ant and jUn
it.


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 ha
ve 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 persistenc
e 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 men
tion 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)
base
d 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 ev
ery 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 lik
e myself,
who may not be well accustomed to an alternative. xWorks 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 logi
c.


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, mor
e in
-
depth analysis on select
technologies, and more digrams.


For More 5 Star Customer Reviews and Lowest Price:

Java Open Source Programming: with XDoclet, JUnit, WebWork, Hibernate by Patrick
A. Lightbody
-

5 S
tar Customer Reviews and Lowest Price!