EJB3 In Action
By Debu Panda, Reza Rahman, Derek Lane
I bought and read this book as I wanted to learn about Enterprise Java Beans having only used Spring for Enterprise Java development up to this point. This is an excellent book for just that.
It explains in a reasonable amount of detail what stableful and stateless session beans, message driven beans and entity beans are. After a number of chapters describing how to use session beans and a further chapter on message driven beans a large amount of the book is turned over to entity beans and the Java Persistence API. As a user of Hibernate I found going over a very similar API somewhat tedious in places, but I am sure this would not be the case for a novice ORM user. I also think Hibernate does it better.
I found the general style of the book, although chatty, quite easy to read. Although the authors mention many of the areas where Spring has similar or even better functionality it is clear, as you would expect, that the authors favour EJB in all cases. Even when EJB is still quite heavy weight in comparison.
My biggest criticism of the book is that it's more of a text book that a practical guide. Although the source code for the example application is available to download, it is not possible to put the application together just from reading the book and deploying an application to a container is handled very late in the book. If I was actually wanting to do some EJB development at this stage I would want to try things out and therefore having deployment examples at the start of the book would be paramount.