Real World Java EE Patterns - Rethinking Best Practices Book And Project

A new "edition" or Real World Java EE Patterns, with focus on Java EE 6 (actually a completely new book) is available: Thanks for reading the first iteration--it is a best seller!

Now back to the announcement of the, already retired, first edition :-):

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:

  1. An introduction into the core principles and APIs of Java EE 6 (EJB, JPA, JMS, JCA, JTA, Dependency Injection, Convention Over Configuration, Interceptors, REST)
  2. Principles of transactions, Isolation Levels, Remoting in context of Java EE 6
  3. Mapping of the Core J2EE patterns into Java EE
  4. Discussion of superfluous patterns and outdated best practices like DAOs, Business Delegates, Data Transfer Objects extensive layering, indirections etc.
  5. Business layer patterns for domain driven and service oriented architectures
  6. Patterns for integration of asynchronous, legacy, or incompatible resources
  7. 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
  8. Hints for efficient documentation and testing
  9. Lean and pragmatic service and domain driven architectures, based on the discussed patterns
  10. Fully functional Java Connector Architecture (JCA) implementation with source code
  11. EJB 2 - EJB 3 migration

"Excerpts" from this book are already published at javaworldEJB 3: From legacy technology to secret weaponLean 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

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. 

You might also like: Real World Java EE Night Hacks--Dissecting the Business Tier.


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.


Posted by Jerome on June 16, 2009 at 12:15 PM 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 :-)



Posted by Adam Bien on June 16, 2009 at 01:00 PM 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

Posted by Antonio Goncalves on June 16, 2009 at 01:31 PM CEST #

Hi Adam!


I made some advertisement on my blog:

I hope you dont mind beeing compared to Neo ;-)

Posted by Jonas Bandi on June 16, 2009 at 01:58 PM CEST #

congrats to your new book!

I like the cover, maybe you could refactor the title a bit:
Java EE 6 - The Salvation ;)

Posted by Michael Bien on June 16, 2009 at 03: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 :)


Posted by Jerome on June 16, 2009 at 05:04 PM CEST #


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!,


Posted by Adam Bien on June 16, 2009 at 09:24 PM CEST #


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!,


Posted by Adam Bien on June 16, 2009 at 09:26 PM CEST #


there is a story behind I will blog about it later :-).



Posted by Adam Bien on June 16, 2009 at 09: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.

Posted by Allan Lykke Christensen on June 17, 2009 at 01:42 AM CEST #


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,


Posted by Adam Bien on June 17, 2009 at 12:42 PM CEST #

Did you do the translation yourself?

Posted by Stefan Tilkov on June 17, 2009 at 02:03 PM CEST #


Translation? You mean into German? No there is only one English version.



Posted by Adam Bien on June 17, 2009 at 04:10 PM CEST #

Sorry, I though this was a translation of your last German book. Never mind then.

Posted by Stefan Tilkov on June 17, 2009 at 07:26 PM CEST #


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!,


Posted by Adam Bien on June 18, 2009 at 12:14 AM CEST #

Hi Adam,

Is this book different to the german book "Java EE 5 Architekturen"?

Or is it a translation.


Posted by Martin on June 18, 2009 at 01:50 PM CEST #


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 articles...)

thanks for your interests!,

you liked the old one?



Posted by Adam Bien on June 18, 2009 at 02: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.

Posted by Hironico on June 19, 2009 at 08:38 PM CEST #


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!,



Posted by Adam Bien on June 20, 2009 at 08:42 PM CEST #

Errata ?

is there any errata available yet ?

Posted by Mike on September 29, 2009 at 07:45 PM CEST #

Its very useful book. I have referred constructor patterns from this book ..

Posted by Prashant on August 05, 2010 at 10:07 AM CEST #

I am convinced , I am gonna read this book you seems to be writing pretty exciting stuff buddy , look like I came very late to your blog.


Posted by Javin Paul @ Tibco RV Tutorial on February 13, 2011 at 01:50 PM CET #

I need help configuration Jboss 5 with EJB 3 in Netbean 6.9.1 ?Please help me!

Posted by TaiKim on May 11, 2011 at 08:33 PM CEST #


Is it ok to use JEE 6 container testing while our servers are on JEE 5?

Posted by Chris Shayan on July 26, 2011 at 10:04 PM CEST #


it is o.k., but risky. I would use exactly the same server, on the same OS for tests as well as for production. At least your CI environment should be identical to production,

enjoy Java EE!


Posted by Adam Bien on July 27, 2011 at 12:53 AM CEST #

Hi Adam,

I am just curious, why you didn't document about Presentation Tier patterns (Front Controller, Composite View etc). Are they retired? Please tell your opinion about modern presentation tier patterns. Thanks

Posted by Senthil on August 23, 2011 at 12:20 PM CEST #

So what's up with getting a free or discounted ebook if you already own the printed version? I'd (like to) pay ~8-10 EUR, but not the full $30.

Posted by Kawu on September 03, 2011 at 01:20 PM CEST #


the problem is already solved:



Posted by Adam Bien on September 05, 2011 at 03:57 PM CEST #

I feel that design patterns as well anti patterns is a topic which every developer should know but alas that is not the case. Good work in that book.

Posted by Java Experience on December 18, 2012 at 02:26 PM CET #

Hi Adam,

I bought your book last week and reading the first chapter about Boundary opened my eyes dramatically - hope this continues ;-)

But, the site has closed - so where can I download the source code to your book?

Regards, Rainer

Posted by Rainer on October 07, 2017 at 09:10 AM CEST #

Post a Comment:
  • HTML Syntax: NOT allowed
...the last 150 posts
...the last 10 comments