Pattern-Oriented Software Architecture: Patterns for Concurrent and Networked Objects
Published by Wiley & Sons in 2000, ISBN 0-471-60695-2, order from amazon.com (US), amazon.com (UK), amazon.com (DE), or Fatbrain.
This book is the second volume in the highly acclaimed Pattern-Oriented Software Architecture (POSA) series, POSA1 as published in 1996 and hence this new book is referred to as POSA2.
Designing application and middleware software to run in concurrent and networked environments is a significant challenge facing software developers. This document presents an overview of the contents in the book Pattern-Oriented Software Architecture: Patterns for Concurrent and Networked Objects (POSA2) that address this challenge. The patterns in POSA2 form the basis of a pattern language that addresses issues associated with concurrency and networking. The book presents 17 interrelated patterns: Wrapper Facade, Acceptor-Connector, Extension Interface, Interceptor, Component Configurator, Reactor, Proactor, Asynchronous Completion Token, Scoped Locking, Strategized Locking, Thread-Safe Interface, Double-Checked Locking Optimization, Active Object, Monitor Object, Leader/Followers, Half-Sync/Half-Async, and Thread-Specific Storage. This material represents a range of patterns from ranging idioms to architecture designs. The patterns cover core elements of building concurrent and networked systems: service access and configuration, event handling, synchronization, and concurrency. All patterns present extensive examples and the pattern known uses are presented in various programming languages, including C++, C, and Java.
The book can be used to tackle specific software development problems or read from cover to cover to provide a fundamental understanding of the best practices for constructing concurrent and networked applications and middleware.