Professional Java EE design patterns /
Yener, Murat.