Adam Bien's Weblog
Real World Java EE Patterns - Rethinking Best Practices Book And Project
The english book Real World Java EE Patterns is available as download and softcover. I was constantly asked for an english book - and here is it :-). Java EE 5 and 6 are a revolution and not just an evolution. Most of the patterns and best practices changed or became optional. This is exactly what the book is about. It introduces the new patterns and refurbishes or even kills the old. I also described a bunch of useful utilities and generic patterns from my projects - even a minimal JCA implementation.
Real World Java EE Patterns includes coverage of:
- An introduction into the core principles and APIs of Java EE 6 (EJB, JPA, JMS, JCA, JTA, Dependency Injection, Convention Over Configuration, Interceptors, REST)
- Principles of transactions, Isolation Levels, Remoting in context of Java EE 6
- Mapping of the Core J2EE patterns into Java EE
- Discussion of superfluous patterns and outdated best practices like DAOs, Business Delegates, Data Transfer Objects extensive layering, indirections etc.
- Business layer patterns for domain driven and service oriented architectures
- Patterns for integration of asynchronous, legacy, or incompatible resources
- Infrastructural patterns for eager-starting of services, thread tracking, pre-condition checks, Java EE 6 lookups or integration of third-party Dependency Injection frameworks like Guice
- Hints for efficient documentation and testing
- Lean and pragmatic service and domain driven architectures, based on the discussed patterns
- Fully functional Java Connector Architecture (JCA) implementation with source code
- EJB 2 - EJB 3 migration
"Excerpts" from this book are already published at javaworld: EJB 3: From legacy technology to secret weapon, Lean service architectures with Java EE 6 and Domain-driven design with Java EE 6
I also gave two Java One and one Devoxx talk with related content.
Real World Java EE Patterns - Rethinking Best Practices will benefit experienced developers and architects. Important architectural and design concepts are explained thoroughly but obvious basics and API discussions skipped entirely.
I will cover the topics in subsequent posts - so the content of the book will become more technical again :-). I check in all the samples incrementally into http://kenai.com/projects/javaee-patterns.
All samples were tested and developed with Glassfish v2 - v3 and Netbeans 6.5+ - but are not dependent on it. Reasons: Glassfish it the official Java EE reference implementation and Netbeans GF integration is superb. I tested the code partially on JBoss 5.1 and openEJB as well. The code is only dependent on the Java EE 5/6 APIs - there are no server dependencies included.
Posted at 09:26AM Jun 16, 2009 by Adam Bien in Real World Java EE Patterns - Rethinking Best Practices | Kommentare[20]
[my tweets]
Rss My book: Real World Java EE - Rethinking Best Practices


Hi Mr Bien,
I am to order your book.
I am not sure yet which form.
I recently bought 'Unlocking Android' published by Manning.
With the print copy, it is possible to download the ebook free of charge.
It would really be great if that could become an habit for technical books.
If ever there are corrections, there will be corrections. Will ebook buyers be provided the corrected versions free of charge.
Thanks for your time and answers.
Jerome
Gesendet von Jerome am June 16, 2009 at 10:15 AM CEST #
Hi Jerome,
a good point - it should be possible as well. Have to check that. Its all about infrastructure :-).
thank you for your interests! But I'm glad the editing process is over - back to hacking and blogging :-)
regards,
adam
Gesendet von Adam Bien am June 16, 2009 at 11:00 AM CEST #
Well done Adam. Writing a book is always a hard and long task. Well, I'll buy your book hoping to get it signed by you. And if you buy mine, I'll be happy to sign it for you ;o)
See you
Gesendet von Antonio Goncalves am June 16, 2009 at 11:31 AM CEST #
Hi Adam!
Congratulation!
I made some advertisement on my blog:
http://blog.jonasbandi.net/2009/06/new-book-by-adam-bien-real-world-java.html
I hope you dont mind beeing compared to Neo ;-)
Gesendet von Jonas Bandi am June 16, 2009 at 11:58 AM CEST #
congrats to your new book!
I like the cover, maybe you could refactor the title a bit:
Java EE 6 - The Salvation ;)
Gesendet von Michael Bien am June 16, 2009 at 01:56 PM CEST #
I'll take the paper version.
(And A.Goncalves' book too).
Lulu, Luuulluuu where art thou ?
Hope to receive a signed PDF someday :)
Jerome
Gesendet von Jerome am June 16, 2009 at 03:04 PM CEST #
@Antonio,
I actually really enjoyed the writing this time. Will blog about that. I saw you shortly at Geecon - nice conference - but had to fly back.
Btw. your talk was great (heard good stuff about it)
I have already your book. We could cross sign the books at the next J1 or O1 :-)
thanks for the nice comment!,
adam
Gesendet von Adam Bien am June 16, 2009 at 07:24 PM CEST #
@Jonas,
I have no problem with Neo - but Morpheus would be even better: "Knowing the way and going the way is a difference". A great title for a book :-). See you at ch-open?
thanks again!,
adam
Gesendet von Adam Bien am June 16, 2009 at 07:26 PM CEST #
@Jerome,
there is a story behind lulu.com. I will blog about it later :-).
thanks,
adam
Gesendet von Adam Bien am June 16, 2009 at 07:27 PM CEST #
Congrats on the publishing of the book Adam. I've placed an order for the print version at Lulu and looking very much forward to reading the book. You should write more English book, or maybe I should just brush up on my Germany. Anyway, looking forward to reading the book.
Gesendet von Allan Lykke Christensen am June 16, 2009 at 11:42 PM CEST #
@Allan,
or I could learn dutch. It would have advantages for the next JavaONE as well :-).
I'm especially interested in your feedback. Thanks for buying my book!,
thanks and regards,
adam
Gesendet von Adam Bien am June 17, 2009 at 10:42 AM CEST #
Did you do the translation yourself?
Gesendet von Stefan Tilkov am June 17, 2009 at 12:03 PM CEST #
@Stefan,
Translation? You mean into German? No there is only one English version.
regards,
adam
Gesendet von Adam Bien am June 17, 2009 at 02:10 PM CEST #
Sorry, I though this was a translation of your last German book. Never mind then.
Gesendet von Stefan Tilkov am June 17, 2009 at 05:26 PM CEST #
@Stefan,
no problem - I thought you expect me to translate it into German :-).
I just don't like translations in either direction - tedious work and you don't learn anything new...
thanks for the comment!,
adam
Gesendet von Adam Bien am June 17, 2009 at 10:14 PM CEST #
Hi Adam,
Is this book different to the german book "Java EE 5 Architekturen"?
Or is it a translation.
Martin
Gesendet von Martin am June 18, 2009 at 11:50 AM CEST #
@Martin,
is only loosely related. I just reused the names of some patterns. The new one covers Java EE 6 and a bunch of new stuff. There is some overlap - but I wrote it from scratch - it isn't translated. All examples are new... (just look at the javaworld.com articles...)
thanks for your interests!,
you liked the old one?
regards,
adam
Gesendet von Adam Bien am June 18, 2009 at 12:26 PM CEST #
Great ! I would be particularly interrested in the part "Discussion of superfluous patterns and outdated best practices like DAOs, Business Delegates, Data Transfer Objects extensive layering, indirections etc." since the organization I work for is still using these patterns with J2EE 5! Which works ... but is finally barely useless and unproductive in such an environment.
Gesendet von Hironico am June 19, 2009 at 06:38 PM CEST #
Hironico,
it is already discussed in the book, as well as in the blog (especially th e controversial DAO).
Btw. I forgot to mention the EJB 2 - EJB 3 migration - is covered in the book as well.
thanks for your feedback!,
regards,
adam
Gesendet von Adam Bien am June 20, 2009 at 06:42 PM CEST #
Errata ?
Hello,
is there any errata available yet ?
Gesendet von Mike am September 29, 2009 at 05:45 PM CEST #