This
is the first book of a 3-volume series on Java
enterprise application development. It covers
three aspects: (1) databases, (2) directory servers
and JNDI, and (3) Enterprise JavaBeans (EJB)
including the message beans. The author uses
a fictional company, Forethought Brokerage, to
illustrate many aspects of the implementation.
The author has structured the book as though
the reader is a developer who has been given
requirements for building an enterprise architecture.
This volume primarily covers the data and business
layers while volumes 2 and 3 are planned to cover
more of the presentation layer.

Chapter
1 discusses the book plan and tools needed for
enterprise development. Chapter 2 is a collection
of blueprints for the new technological development
for the fictitious company. Unlike other Java
books, this one goes into details about the initial
set of requirements, the concept of moving project
targets and changing requirements and justifying
the use of Java technology. It considers the
overall requirements in depth, as well as the
individual layers of design and implementation.

The
whole book is very task-centered. Chapters 3 to 7 are
about the data structure and design details, including
RDBMS table structures, LDAP directory server, entity
beans, session bean managers, JNDI naming and connection
sharing. Chapter 8 is about details of implementing the
business logic, including remote interfaces, user manager
and stateful session beans. Chapter 9 is about messaging,
the deployment of the codes and options. The last chapter
gives a summary and some forward looking thoughts. Several
appendices round up the book: SQL scripts, RDBMS databases,
directory servers (iPlanet and OpenLDAP), application
server setup (BEA WebLogic) and Java bean code listings.

This
book is an excellent discussion of a realistic project
within the context of requirements for a brokerage firm.
Source codes can be downloaded (see below) to help understand
the discussion. However, there are some places where
more details will help. For example, the "object" names
for directory server are mentioned in the text without
actual codes. Although the downloaded source code will
provide some hints, it is not reasonable to require readers
to search and read source codes in separate files. The
book should mention the location or absence of codes
to illustrate the main points.

One interesting phenomenon about this book, similar to other technology books published recently by O'Reilly, is that it refers throughout to other books also published by O'Reilly. While this might be considered a friendly effort from the author to point out related resources, it imparts an impression that the author of the book is not neutral when he recommends a reference related to the topic being discussed. (Ed. Note: We agree with Songmuh, but it should also be noted that O'Reilly's list of tech books in print is so large that an O'Reilly author would be foolish not to use the list).

Despite some minor shortcomings, this book is an excellent companion for developers interested in building enterprise applications in Java. Before you dive into the coding, read this book to summarize and organize your overall design and implementation. It will be well worth your time. I'm looking forward to seeing the rest of the volumes in this series.