Shop the new tech.book(store)
New! Introducing the tech.book(store), a hub for Software Developers and Architects, Networking Administrators, TPMs, and other technology professionals to find highly-rated and highly-relevant career resources. Shop books on programming and big data, or read this week's blog posts by authors and thought-leaders in the tech industry.
> Shop now
While designing code and architecture you often encounter situations where it would be nice to know how someone else would do it, or "the right way" to do it. That is exactly the kind of gold you will find in this book from start to finish. Make sure to take notes while reading because you won't remember it all. I made about a dozen pages of hand written notes.
It was amusing to see Spring and Guice referred to as legacy technologies now that Java EE 6 has arrived. I think this was mentioned only twice. This book is still very useful to Spring (and maybe Guice) developers since the programming model is practically the same as Java EE 6, and it is a book on design patterns.
This book is self published, and you can tell. There are some spelling mistakes, awkward grammar (the author is German), formatting issues, etc. The book was edited, but probably not by a technical person, so they left some things as-is because they didn't understand it. Since I found this book so helpful, these issues didn't really bother me. I just wish I would have highlighted each issue while reading so that I could mail it back to the author and have him send me a second edition for free.
This book is a must read for anyone wishing to master the principles of a Java EE 5 architecture, and develop clean, terse and efficient code using EJB 3 and other modern, annotation-based Java EE specifications.
Many of the things (patterns and best practices) you learned about J2EE, the previous version of the Java EE specification, are now no longer relevant, and Adam's book will help you quickly get up to speed with the new best practices. For those who need to integrate or maintain legacy code bases, there is even a chapter about "EJB 2 Integration and Migration".
This is the book I wish we had when we started developing the Nuxeo 5 open source ECM platform 3 1/2 years ago, on top of the then brand new Java EE 5 platform. It would have saved us many hours of refinement of the initial prototype.
In courtesy of Pawel Stawicki: "Real World Java EE Patterns" is a book targeted rather for developers with some experience with JEE. If you are a beginner, you can miss some context. If you have some experience with JEE, in this book you'll probably find solutions to problems that are familiar to you.
Adam Bien is great at explaining difficult topics. Difficult? I didn't find anything difficult in this book ;) E.g. transactions isolation is explained very clearly.
The book is very good catalog of JEE Patterns. Each pattern is described separately in similar manner. Each chapter has subchapters: "Problem", "Forces", "Solution", "Testing", "Documentation", "Consequences" and "Related Patterns". In "Problem" a reader can find short description of a problem the pattern should solve. "Forces" shows features that solution should have. "Solution" contains description of pattern, what classes it consists of and what is their responsibility. Usually accompanied by very clear and simple pieces of code. In "Testing" and "Documentation" author highlights what should we test when we use certain pattern, and what should be documented (quite obvious, isn't it?). In "Consequences" we can read about what are pros and cons of the pattern. "Related Patterns" is self explanatory. Most interesting subchapter is "Solution", and it also has sub-subchapters. One of them is "Rethinking". It is good part for experienced JEE developers. Adam shows why some patterns are obsolete. It doesn't mean you should never use it, but in most cases it is no longer necessary in JEE5 or 6. Some patterns, when moved from EJB2 to EJB3, are not adding any value, but instead are adding layer of abstraction and unnecessary complicating the system.Read more ›
The newly revised printed and Kindle editions of this book (fall 2012) addressed the "readability" issues (spelling mistakes, awkward grammar, and formatting issues) that readers mentioned for the previous editions. I didn't see any of those in this version. And, as usual, Adam's technical content shines.
This issue with Kindle formatting is jarring. No table of contents, no chapters, no index, not even a new page to delineate a new topic/chapter. Code formatting (at least on kindle cloud) is not indented.
This book has some very good content but I found it almost unreadable due to the extremely poor formatting of thee Kindle edition. A cleanup of the text would make this a good purchase but I cannot recommend it in the present form.
First, about the rating: - if are junior or less experienced developer, make it 4 starts (because you won't get like 50% of the book) - if you are senior developer or architect, make it 5 stars (if you worked with previous J2EE versions and now working with Java EE, it's just must read) - if you buy kndle version, make it 3 stars LESS (because it's rubbish, see bottom of this review)
Now, about the book. This book is set of various Java EE patterns and it rethinks fundamental ways how Java EE applications are developed. Book explains why some older patterns are discouraged now, or at least why there is no such need to use them anymore. Then book introduces plenty of new patterns, some are pretty cool - for example those that use interceptors in situations I would've never thinked of. And last, but not least, book describes plenty of migration strategies, like for example how to migrate EJB2 to EJB3 or how to migrate Guice/Spring DI components to EJB3. It's quite hard though. I don't remember all the patterns now and I think I didn't even get them all. But at least if I ever hear something similar, I know where to look.
Warning: don't buy kindle version. I believe Adam Bien put effort in formatting code, but in Kindle version it is completely unformatted. It's just complete unreadable rubbish :( Amazon should never sell kindle versions like this!