Author/s : Debu Panda, Reza Rahman, Ryan Cuprak, and Michael Remijan
Publisher : Manning Publications
Category : Enterprise JavaBeans, J2EE Review by : Jaikiran Pai
Rating : 9 horseshoes
I had heard very good things about the first edition of EJB3 in Action, so when I got this book, I was very curious to see how the second edition fares. I have been dealing with EJBs for many years now, since the EJB 2.x days, so the topic being covered in this book wasn't new to me.
The back of the book's cover page states that this is a fast-paced tutorial for Java EE developers. Having now read the book, I can say that it truly is fast paced and I never felt bored while reading through the chapters. Even though it's fast paced, it does a very good job in explaining the various aspects of EJB in a very concise and clear way with relevant code snippets. Unlike some other books, where sometimes the code is just dumped within the chapters, I found that this book does a very good job in just placing the relevant few lines of code snippets thus helping understand whatever is being explained.
The other good thing I liked about this book is that it doesn't isolate itself in explaining just EJBs, instead it does a very good job in explaining EJBs in the context of the whole Java EE ecosystem. For example, it does a very good job explaining how CDI and EJBs can co-exist in a Java EE environment. Personally, I found this aspect of the book to be the best.
I skipped the JPA chapters in this book, since I wasn't too interested about the JPA stuff.
Interestingly, there's also a chapter on WebSockets where the authors explain how EJBs can be injected and used in the server endpoints of a WebSocket, after giving a overview of WebSockets.
The book uses a ActionBazaar sample application through its chapters to explain various aspects of EJBs and Java EE ecosystem. So the readers get to understand how various parts tie in together within the application.
Overall, this is a very good book for anyone who wants to learn EJBs. Not overwhelming and a very concise explanation of EJBs.
Thought "EJB 3 in Action" (first edition) was a great book, so I'm not surprised that I like the second edition as well. In fact a snippet from my first review is on page one of the second edition.
I really liked the story at the beginning comparing 3 reincarnations to the three versions of EJB. The Turtle Shipping Company and Snail Trucking example was also very cute. As were the chicken and frog.
One page 17, the text after the example talks about not needing an interface, but the code example has an interface. There is also a mix of EJBs and EJB's used in the book. I think this comes from having five authors. (The four real authors plus them originally. Because writing is like code in that after a certain point it is like someone else wrote it.) The fact that these are the worst things I can say about the book, is a good thing though.
The explanations were great especially the section on AOP, comparing EJB vs EJB Lite and when to use each session bean type. There are good warnings and caveats throughout. There was also a great intro to Web Sockets.
I thought I knew about the topic and still managed to learn a few things. I learned Seam became CDI, that you can use a constructor in the select clause of queries and about the embeddable container.
Disclosure: I received a copy of this book from the publisher in exchange for writing this review on behalf of CodeRanch.