Pattern-Oriented Software Architecture: Patterns for Concurrent and Networked Objects

Published by Wiley & Sons in 2000, ISBN 0-471-60695-2, order from (US), (UK), (Germany), German translation, (Japan), (France), Chinese translation, or Fatbrain.

This book is the second volume in the highly acclaimed Pattern-Oriented Software Architecture (POSA) series, POSA1 was published in 1996 and hence this book is referred to as POSA2. View this page in Romanian courtesy of azoft.

POSA2 is written by
Douglas C. Schmidt
Michael Stal
Hans Rohnert and
Frank Buschmann

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 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.


Table of Contents

Pattern Language Map
About This Book
About The Authors
Guide To The Reader

1 Concurrent and Networked Objects

1.1 Motivation
1.2 Challenges of Concurrent and Networked Software
1.3 A Case Study: Designing a Concurrent Web Server
1.4 Wrapping Up

2 Service Access and Configuration Patterns

o Wrapper Facade
o Component Configurator
o Interceptor
o Extension Interface

3 Event Handling Patterns

o Reactor
o Proactor
o Asynchronous Completion Token
o Acceptor-Connector

4 Synchronization Patterns

o Scoped Locking
o Strategized Locking
o Thread-Safe Interface
o Double-Checked Locking Optimization

5 Concurrency Patterns

o Active Object
o Monitor Object
o Half-Sync/Half-Async
o Leader/Followers
o Thread-Specific Storage

6 Weaving the Patterns Together

6.1 From Individual Patterns to Pattern Languages
6.2 A Pattern Language for Middleware and Applications
6.3 Beyond Concurrency and Networking
6.4 Pattern Languages versus Pattern Systems

7 The Past, Present, and Future of Patterns

7.1 What Has Happened in the Past Four Years
7.2 Where Patterns are Now
7.3 Where Patterns are Going
7.4 A Parting Thought on Predicting the Future

8 Concluding Remarks

Index of Patterns
Index of Names

Related Material

Please send us email if you have any comments or suggestions for improving these documents.

Back to POSA patterns home page.