After a few introductory chapters, 5 chapters are devoted to explaining UML. Already familiar with UML, I skimmed through this, but still picked up good information. Particularly useful background was chapter 6, "Architecture".
The more technical chapters, 9 to 15, explain the J2EE technology in the contect of UML. I found this well explained with just enough information, with no pages "wasted" on code listings. But some Java is present, showing how UML would map to code. The different components of J2EE each has a chapter devoted to them, and the relationships between them are discussed.
All of the above is discussed in the context of RUP (Rational Unified Process), and the case study follows that process as well. The references to Conallen's WAE and the SUN standards are also very useful.
The authors should be congratulated on writing a very clear, well-edited well-organised book.
The book addresses these two key technologies and describes in
very practical terms how to really use the UML to help create
successful J2EE-based enterprise apps. Even though most of the
chapters go into significant depth and detail, the book is still
very readable by a wide audience. I think someone who is
relatively new to either of these technologies would gain lots
from this book, and even near-gurus should be able to find many
useful items here.
The book covers UML modeling of Java servlets, JSP, and all
current types of EJBs using the latest standards and extensions,
including JSR-26 and WAE. Early chapters go through the UML
mapping for standard Java language constructs, and suggest a
streamlined version of RUP used to develop the case study during
the rest of the book. Different approaches used by popular UML
modeling tools are shown, along with some ideas on future
directions.
I was impressed by the technology coverage for the different
J2EE components. Through a close examination of the architecture
and the different mechanisms at play, the reader learns a
significant amount about how J2EE components such as EJBs work,
how they're intended to be used, when they make sense to use,
and when they don't. There's also discussions on performance,
and some of the newer features in J2EE 1.3. Both J2EE 1.2 and
the new J2EE 1.3 are covered, which amazed me given the amount
of lead time a book like this needs to be published!
Downloadable code for the case study is available from the
publisher's site. The study is fairly compact, smaller than
Sun's pet store example, but I found this enabled me to have an
easier time following the code. What impressed me here is there
is complete working code for both J2EE 1.3 and 1.2, and the
example uses true container managed entity beans. Even Sun's pet
store never seemed to get these EJBs working right.
If a second edition of this book was to be written, I'd like to
see discussions on more advanced patterns using combinations of
J2EE components, additional performance enhancing techniques,
and a larger case study using some of these advanced patterns.
Overall, this was an excellent buy for me.