Designing Enterprise Applications with the Java 2 Platform, Enterprise Edition
by Nicholas Kassem,
J2EE Technology in Practice
Rick Cattell, Jim Inscore, Enterprise Partners
This month I review two books, both of which are valuable sources for developers and architects building enterprise applications using J2EE technologies.
If you're familiar with the J2EE Blueprints from Sun, Designing Enterprise Applications with the Java2 Platform, Enterprise Edition is the official "Java Series" book from Addison-Wesley on them. It's a part of the Java Series Enterprise books from Sun. J2EE Blueprints are still available for a free download from Sun's Java site, but if you like to have the professionally bound book, this is it.
J2EE Blue prints were discussed in previous issues of JDJ. They tie the components of a complex platform with several aspects of software application development into one brief overview. This book is that excellent overview of the J2EE platform. I didn't think it feasible to cover all major aspects of Enterprise Java in 341 pages, but the authors have done a great job in doing just that.
This is a good book for architects and designers. It introduces all the major components of J2EE in a nutshell. Readers may be familiar with some of the information, but I haven't seen another source where it has been covered in such a concise fashion. It introduces the building blocks of J2EE, applicability of individual components in different scenarios, and tiered application development. The book is written by a team of authors from Sun, who have contributed to the development or documentation of the J2EE framework.
The book can be segmented into four basic sections, which may apply to different audiences, or make for different reading sessions. My recommendation is for the reader to go through the whole book. It is not voluminous and does not delve into API details. As mentioned before, it provides an overview and guidelines, not practical application development examples.
Chapters 1 and 2 consist of an introduction to J2EE technologies. The components of J2EE are described, a brief overview of the APIs is given, and the types of services offered by J2EE are described. The discussion on the types of J2EE containers was lucid.
The second part of the book - Chapters 3 to 6 - discusses the basic tiers of applications that can be built on a J2EE base. I found this section particularly interesting. The authors present the business scenarios in which J2EE can be applied. What I liked most was that different types of applications are addressed, but there is no attempt to sell a one-shoe-fits-all concept. The authors make it clear that all aspects of J2EE do not apply to all applications. These chapters help the reader decide what to apply and when.
The next section Chapters 7-9 deals with specific issues that designers and architects encounter when building enterprise applications. The issues related to deploying EJBs, transactions, and security are covered in brief. The last section discusses the Pet Store application - an example application that illustrates the design of a commerce application using the components of J2EE.
I highly recommend this book. It should be useful to a variety of readers, ranging from programmers and architects to product managers. However, it is not a book you can pick up and use as a programming reference. Rather it's a book you can use for design guidelines.
J2EE Technology in Practice is another book from the Java Series Enterprise Edition set from Addison-Wesley. I picked the book up at JavaOne this year. I was happy to see a book that verifies for the skeptical that J2EE has taken off in the real world.
You may have mixed emotions. I liked the book because it met my expectations - examples of J2EE applications. However, to others it may seem like a series of white papers from different J2EE vendors. If you're looking for development techniques, programming tips, or API details, you won't find them here. This is a book of case studies that validates the J2EE platform.
The book contains examples of business applications built using J2EE technologies. Eight leading J2EE application server vendors describe specific customer applications in which they were able to successfully use J2EE to deploy applications. The applications are in various business domains, including catalog sales, a telecommunications application, and a manufacturing application. Design criteria, issues faced, topology design, transaction management, and many other aspects of applying J2EE technologies are discussed by the vendors. Design patterns, guidelines, and valuable advice are offered by folks who have been in the trenches with the customer.
I recommend this book for readers who are looking at examples of real-world J2EE applications. It is not a comprehensive source, but a good book to help you make a crucial decision before you start a new project using J2EE.
Ajit Sagar is the J2EE editor of JDJ, and the founding editor and editor-in-chief of XML-Journal. A lead architect with VerticalNet Solutions, based in San Francisco, he's well versed in Java, Web, and XML technologies.