The eagerly awaited Pattern-Oriented Software Architecture (POSA) Volume 4 is about a pattern language for distributed computing. The authors will guide you through the best practices and introduce you to key areas of building distributed software systems. POSA 4 connects many stand-alone patterns, pattern collections and pattern languages from the existing body of literature found in the POSA series. Such patterns relate to and are useful for distributed computing to a single language.
The panel of experts provides you with a consistent and coherent holistic view on the craft of building distributed systems. Includes a foreword by Martin Fowler A must read for practitioners who want practical advice to develop a comprehensive language integrating patterns from key literature.
I knew a lot about the topic so I read it very selectively. The book is very thorough. Maybe a bit too long, but it offers good insights into distributed systems.
Probably the most boring software development book I've ever read. It's known as a classic book for software architects and indeed covers a wide range of patterns for distributed systems. But it's was really hard to read it from cover to cover. Probably it's not supposed to be read in a such way. I think that better usage of this book would be to seek for a particular pattern when needed and read reference documentation further.
What I did not liked, is that patterns are only briefly described with rare diagrams and with no code samples. Most of the diagrams show relations between patterns, but not the invocation sequence or classes relations, which is way more interesting. And the book language itself is too academic. That really surprised me, as I've seen several talks by Kevin Henny (one of the author) and they were fun and easy to understand.
The book describes 114 patterns, which are put into the following sections: * From Mud To Structure * Distribution Infrastructure * Event Demultiplexing and Dispatching * Interface Partitioning * Component Partitioning * Application Control * Concurrency * Synchronization * Object Interaction * Adaptation and Extension * Modal Behavior * Resource Management * Database Access
In the beginning of each section authors explain the context where corresponding patterns might be used, their cons and pros.
Also book has a huge reference list, which is really useful for everyone interesting in software patterns.
Summarizing - this book contains valuable information, but I can't recommend reading it from cover to cover.