Patterns of enterprise application architecture. - Fowler, Martin (Addison-Wesley, 2003)