Book Review: Enterprise JavaBeans by Richard Monson-Haefel
Enterprise JavaBeans is a well-crafted book that offers a thorough introduction to Enterprise JavaBeans (EJB) for the enterprise software developer. It shows how to get started developing Enterprise Beans, how to deploy those Beans in a server, and how to use them to develop distributed, multi-tiered enterprise applications. The end result is a complex yet highly flexible system built from components that can be easily reused and changed to suit your needs, without disturbing other parts of the system.
The book can be divided into five parts. The first part (Chapters 1, 2 and 3) provides all the required background information about EJB and explains how the EJB technology works and what makes up an enterprise bean. The second part (Chapters 4, 5, 6, and 7) covers how to develop enterprise beans of various types. The third part (Chapters 8 and 9) covers advanced topics on transactions and design strategies for EJB deployment. In the fourth part (Chapters 10 and 11), the author provides an in-depth explanation of the XML deployment descriptors used in EJB 1.1, an overview of the Java 2 Enterprise Edition and explains how EJB 1.1 fits into this new platform. The last part consists of four appendices at the end of the book.
The following is a description of each chapter:
Chapter 1 defines component transaction monitors and explains how they form the underlying technology of the EJB components model. The chapter covers distributed object architectures, component models, component transaction monitors, CTMs and server-side component models.
Chapter 2 defines the architecture of the EJB component model and examines the differences between the two basic types of enterprise beans: entity and session.
Chapter 3 explains how the EJB-compliant server manages an enterprise bean at runtime. It also covers resource management and primary services.
The second part of the book starts with Chapter 4, which walks the reader through the development of simple enterprise beans. It discusses choosing and setting up an EJB Server and developing entity and session beans.
Next, Chapter 5 explains in detail how enterprise beans are accessed and used by a remote client application.
In Chapter 6, the author provides an exhaustive explanation of how to develop container-managed and bean-managed entity beans and describes their runtime behavior.
Following that, Chapter 7 explains how to develop "stateless" and "stateful" session beans and describes their runtime behavior and life cycles.
The third part starts with Chapter 8 which explains transactions and describes the transactional model defined by EJB. It covers several interesting topics such as SCID transactions, declarative transactional management, transactional isolation and database locking, non-transactional beans, explicit transaction management, exceptions and transactions, and transactional stateful session beans.
Chapter 9 provides design strategies that can simplify the EJB deployment efforts and make the EJB system more efficient.
In Chapter 10, the author provides a thorough explanation of the XML deployment descriptors used in EJB 1.1. An overview of the Java 2, Enterprise Edition and an explanation of how EJB 1.1 fits into this new platform comes in Chapter 11.
At the end of the book there are four appendices:
Appendix A - A quick reference to the classes and interfaces defined in the EJB packaged.
Appendix B - Diagrams that clarify the life cycle of enterprise beans at runtime.
Appendix C - Information about the vendors of EJB servers.
Appendix D - A summary of the changes from EJB 1.0 to EJB 1.1.
Enterprise JavaBeans is mainly targeted at enterprise software developers who are interested in learning about EJBs architecture. It is an excellent book to provide all the information necessary about EJB technology and how to deploy it for building business systems. The book's style is informative, clean and to the point and includes many charts and graphs to illustrate complex processes and concepts. If you are interested in learning about EJB, Enterprise JavaBeans is the book to read. I highly recommend it.
Ibrahim F. Haddad (firstname.lastname@example.org) works for Ericsson Research Canada in the Systems Research Division. He is currently a Dr Sc candidate in the Computer Science Department at Concordia University in Montreal.