Understanding and analyzing software architecture (of distributed systems) using patterns / Michael Stal

Understanding and analyzing software architecture (of distributed systems) using patterns / Michael Stal