Rating: - BEAN ME UP ENTERPRISE!!
Are fluent in the Java language and have some practical experience in developing business solutions? If you are, then this book is for you. Authors Bill Burke and Richard Monson-Haefel, have done an outstanding job of writing a 5th edition of a book that provides a straight forward, no-nonsense explanation of the underlying technology, Java classes and interfaces, the component model, and the runtime behavior of EJB.
Burke and Monson-Haefel, begin by defining component transaction monitors and explain how they form the underlying technology of the EJB component model. Then, the authors defines the architecture of the EJB component model and examine the differences between the three basic types of enterprise beans: entity beans, session beans, and message-driven beans. Next, they explain how the EJB-compliant server manages an enterprise bean at runtime. The authors then walk you through the development of some simple enterprise and entity beans. They continue by explaining how entity beans interact with the new entity manager service. Then, they define the basic relational database mapping provided by the Java Persistence specifications. Next, the authors expand your understanding of persistence and complex bean-to-bean relationships. The authors then discuss entity bean inheritance and how an object hierarchy can be mapped to a relational database. They continue by addressing the EJB QL, which is used to query entity beans and to locate specific entity beans in Java Persistence. Then, the authors cover the life cycle of an entity bean and how you can write classes that can intercept entity life cycle events. Next, they show you how to develop stateless and stateful session beans. The authors then show you how to develop message-driven beans. They continue by showing you how to use the Timer Service in EJB 3.0. Then, the authors explain the JNDI ENC as well as the new injection annotations and their XML equivalents. Next, they discuss EJB interceptors and how you can use them to extend the behavior of your EJB container. The authors then provide an in-depth explanation of transactions and describe the transactional model defined by EJB. Then, they walk you through the basics of EJB security. Next, the authors explain the XML, SOAP, WSLD, and UDDI web services standards. They continue by discussing how the JAX-RPC API supports web services in EJB. Then, the authors provide an overview of Java EE 5 and explain how EJB 3.0 fits into this new platform. Finally, they provide the basic design strategies that can simplify your EJB development efforts and make your EJB system more efficient.
This most excellent book is organized into two parts: the technical manuscript (of which I have just covered), which is followed by the JBoss workbook. More importantly, the JBoss workbook provides step-by-step instructions for installing, configuring, and running the examples from the manuscript on the JBoss 4.0 Application Server.
Rating: - good but too many mistakes
This book is good overall but has too many errors. Simple proofreading would remove much of the confusion. I was asking myself at least a dozen different times, "did they really mean that?" and after looking at the errata it seems that the authors or editors or whoever is in charge of the final copy was lazy/understaffed. This seems to be a growing trend with technical books. Very disturbing considering this field is all about being precise.
That said the formulation of the book works and the explaination is fairly well done. One of the better book on this subject for sure.
Get it if you plan on doing EJB 3.
Rating: - Wonderful JavaBeans Book
'Enterprise JavaBeans 3.0' by Bill Burke is a wonderful book that will help all Java developers in their continued development and learning. Packed to the brim with over 700 pages of material, this is a bona fide smash hit!!!
Chapter Listing
01. Intro
02. Architectural Overview
03. Resource Management & Primary Services
04. 1st Bean Development
05. Persistence: EntityManager
06. Mapping Persistent Objects
07. Entity Relationships
08. Entity Inheritance
09. Queries and EJB QL
10. Entity Callbacks and Listeners
11. Session Beans
12. Message-Driven Beans
13. Timer Service
14. JNDI ENC & Injection
15. Interceptors
16. Transactions
17. Security
18. EJB 3.0: Web Services Standards
19. EJB 3.0 & Web Services
20. Java EE
21. EJB Design in the Real World
Along with these fantastic 21 chapters, there also is a 160+ page workbook to help you solidify these concepts and get them ingrained into your brain.
If you want to learn about JavaBeans and all the ins and outs of working with them, you simply cannot go wrong with this book!!
***** HIGHLY RECOMMENDED
Rating: - Essential information for the experienced Java professional
This book was released in May 2006, so all reviews earlier than that are talking about an earlier edition of this book, which is a completely different animal than this edition.
This book explains and demonstrates the fundamentals of the EJB 3.0 and Java Persistence programming models. Although EJB makes application development much simpler, it is still a complex technology that requires a great deal of time and study to master. This book provides a straightforward, no-nonsense explanation of the underlying technology, Java classes and interfaces, the component model, and the runtime behavior of EJB. It does not include material on previous versions of the specification, however.
Although this book focuses on the fundamentals, it's not an easy read. EJB is an extremely complex and ambitious enterprise technology. While using EJB may be fairly simple, the amount of work required to understand and master EJB is significant. Before reading this book, you should be fluent in the Java language and have some practical experience developing business solutions. Experience with distributed object systems is not required, but you will need some experience with JDBC to follow the examples in this book. I review this book in the context of its table of contents:
1. Introduction - Defines component transaction monitors and explains how they form the underlying technology of the EJB component model.
2. Architectural Overview - Defines the architecture of the EJB component model and examines the differences between the three basic types of enterprise beans: entity beans, session beans, and message-driven beans.
3. Resource Management and Primary Services - Explains how the EJB-compliant server manages an enterprise bean at runtime.
4. Developing Your First Beans - Walks you through the development of some simple enterprise and entity beans.
5. Persistence: EntityManager - Explains how entity beans interact with the new entity manager service. This chapter focuses on the details of the persistence service and how it can be accessed within Java EE and with regular Java programs that run outside of a Java EE environment.
6. Mapping Persistent Objects - Defines the basic relational database mapping provided by the Java Persistence specification. This chapter takes a thorough look at the process of developing entity beans--specifically, mapping them to a relational database.
7. Entity Relationships - A continuation of chapter six that expands your understanding of persistence and complex bean-to-bean relationships.
8. Entity Inheritance - Discusses entity bean inheritance and how an object hierarchy can be mapped to a relational database. This chapter modifies the Customer entity defined in earlier chapters to make it fit into an inheritance hierarchy. It extends a base class called Person and define an Employee class that extends a Customer class.
9. Queries and EJB QL - Addresses the Enterprise JavaBeans Query Language (EJB QL), which is used to query entity beans and to locate specific entity beans in Java Persistence.
10. Entity Callbacks and Listeners - This chapter discusses how you register your entity bean classes for life cycle callbacks as well as how to write entity listeners that can intercept life cycle events on your entities.
11. Session Beans - Shows how to develop stateless and stateful session beans.Session beans fill the gaps left by entity beans. They are useful for describing interactions between other beans (taskflow) and for implementing particular tasks. Unlike entity beans, session beans do not represent data in the database, but they can access data. This means that session beans can read, update, and insert data in a business process.
12. Message-Driven Beans - The message-driven bean was introduced in EJB 2.0 to support the processing of asynchronous messages from a JMS provider. EJB 2.1 expanded the definition of the message-driven bean so that it can support any messaging system, not just JMS through the JCA. EJB 3.0 does not really expand on the feature set of earlier specification versions, but it does simplify configuration with the use of annotations. This chapter examines both JMS-based message-driven beans as well as the expanded message-driven bean model available to EJB 3.0 developers.
13. Timer Service - The Timer Service is a facility of the EJB container system that provides a timed-event API, which can be used to schedule timers for specified dates, periods, and intervals. A timer is associated with the enterprise bean that set it. The rest of this chapter describes the EJB Timer Service API and its use with stateless session and message-driven beans, as well as providing some criticism of and suggested improvements for the Timer Service.
14. The JNDI ENC and Injection - Every EJB container that is deployed in an application server has its own personal internal registry called the Enterprise Naming Context (ENC). This ENC is implemented by JNDI and is a sandbox where the EJB container can hold specific references to its environment. Think of it as the EJB container's personal address book, where it writes down addresses to various Java EE services that it wants to look up and use within its business logic. This chapter shows how you can populate the ENC and use it as your own JNDI registry, and also how to use it to inject environment references into bean fields.
15. Interceptors - Interceptors are objects that are able to interpose themselves on method calls or the life cycle events of session and message-driven beans. They allow you to encapsulate common behavior that cuts across large parts of your application. This behavior is usually in common code that you don't want in your business logic. Where most of the changes to the EJB 3.0 specification were designed to make EJB easier to use for application developers, interceptors are an advanced feature that provide you another way to modularize your application or even extend your EJB container. This chapter shows how to write an interceptor and shows various real-world examples of where interceptors can be used.
16. Transactions - In business software, a transaction embodies the concept of a commercial exchange. This chapter provides an in-depth explanation of transactions and describes the transactional model defined by EJB.
17. Security - Although a small programmatic API is available for interacting with Java EE security services, users rarely have to write any code to secure their applications because setting up security is usually a static declarative process. Only session beans can be secured in the world of EJB. Java Persistence does not yet have a mechanism to secure access, but it is possible--depending on the RDBMS system you are using--to assign privileges at the database level. This chapter focuses on how to set up authentication and authorization for your session beans.
18. EJB 3.0: Web Services Standards -Explains the XML, SOAP, WSLD, and UDDI web services standards.
19. EJB 3.0 and Web Services - Discusses how the JAX-RPC API supports web services in EJB.
20. Java EE - Provides an overview of Java EE 5 and explains how EJB 3.0 fits into this new platform.
21. EJB Design in the Real World - Provides some basic design strategies that can simplify your EJB development efforts and make your EJB system more efficient.
The rest of the book, chapters 22 through 37, consist of an applied workbook for the first part of the book. Chapters 22 and 23 discuss the installation of JBOSS, an open source Java EE application server. Chapters 24 through 37 consist of exercises that cover the material in chapters 4 through 19. This workbook is based on the production release of JBoss 4.0.4 and many of the EJB 3.0 examples from Enterprise JavaBeans 3.0, Fifth Edition. All of the examples will work properly with JBoss 4.0.4 and above, but not with earlier versions of JBoss.
This is truly a very densely packed but informative book. A good companion to it is "JBOSS At Work" which is pretty good at explaining Enterprise Java. I highly recommend this book to the Java professional who is already familiar with developing business solutions.
Rating: - Great book for those who want to go deep in EJB 3.0
I've been using java for WEB apps development but I'm moving my apps to a EJB server by now and decided to find a book about the new specification of then EJB. I loved the book. It comes in an easy language and covers in details the new features of EJB 3.0 and how it applies to Session Beans, Transactions, JMS, JNDI, Time Services. All in the book can be used in any EBJ server, but the last chapters explain how to install and configure the JBOSS server, which for me was very handy.
|