Pattern-Oriented Software Architecture, Patterns for Concurrent and Networked Objects / Edition 1

Hardcover (Print)
Used and New from Other Sellers
Used and New from Other Sellers
from $3.61
Usually ships in 1-2 business days
(Save 96%)
Other sellers (Hardcover)
  • All (19) from $3.61   
  • New (8) from $34.48   
  • Used (11) from $3.61   


Designing application and middleware software to run in concurrent and networked environments is a significant challenge to software developers. The patterns catalogued in this second volume of Pattern-Oriented Software Architectures (POSA) form the basis of a pattern language that addresses issues associated with concurrency and networking.

The book presents 17 interrelated patterns ranging from idioms through architectural designs. They cover core elements of building concurrent and network systems: service access and configuration, event handling, synchronization,

and concurrency. All patterns present extensive examples and known uses in multiple 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.

About the Authors

This book has been written by the award winning team responsible for the first POSA volume "A System of Patterns", joined in this volume by Douglas C. Schmidt from University of California, Irvine (UCI), USA.

Visit our Web Page

Read More Show Less

Editorial Reviews

From the Publisher
"This book is one of the more important contributions to the literature on 'patterns' and deserves to become a standard text on its specified area of interest."
— Overload, September 2000

"Let me Start by saying that I highly recommend this book. If you are a reader of the expanding literature on pattern-oriented software design, rush out and buy this book! This book has the potential to be a seminal volume." —Glenn E. Mitchell II, Ph.D.: Microsoft Office Pro;; (5/30/01)

This guide for software designers and advanced students presents 17 interrelated patterns ranging from idioms through architectural designs and covering core elements of building concurrent and network systems, including service access and configuration, event handling, synchronization, and concurrency. The focus here on concurrency and networking complements the general-purpose patterns from the previous volume, , though many can be applied outside the context of concurrency and networking. The patterns presented are general, domain-independent, rather than those specific to a particular application domain (such as telecommunications). All patterns are accompanied by examples and known uses in multiple programming languages, including C++, C, and Java. Annotation c. Book News, Inc., Portland, OR (
Read More Show Less

Product Details

  • ISBN-13: 9780471606956
  • Publisher: Wiley
  • Publication date: 10/28/2000
  • Series: Wiley Software Patterns Series, #2
  • Edition description: New Edition
  • Edition number: 1
  • Pages: 666
  • Product dimensions: 7.91 (w) x 9.35 (h) x 1.66 (d)

Meet the Author

This book has been written by the award-winning team responsible for the first POSA volume A System of Patterns, joined in this volume by Douglas C. Schmidt from University of California, Irvine (UCI), USA.
Read More Show Less

Read an Excerpt

Chapter 1: Concurrent andNetworked Objects

"With the exception o/music, we have been trained to think of patterns as fixed affairs. It's easier and The right way to begin to think of the pattern which connects is to think of a dance o/'interacting parts, Gregory Bateson - Cultural Anthropologist This chapter introduces topics related to concurrent and networked objects. We first motivate the need for advanced software development techniques in this area. Next, we present an overview of key design challenges faced by developers of concurrent and networked objectoriented applications and middleware. To illustrate how patterns can be applied to resolve these problems, we examine a case study of an object-oriented framework and a high-performance Web server implemented using this framework. In the case study we focus on key patterns presented in this book that help to simplify four important aspects of concurrent and networked applications:
  • Service access and configuration
  • Event handling
  • Synchronization and Concurrency
During the past decade advances in VLSI technology and fiber-optics have increased computer processing power by 3-4 orders of magnitude and network link speeds by 6-7 orders of magnitude. Assuming that these trends continue, by the end of this decade
Desktop computer clock speeds will run at - 100 Gigahertz
Local area network link speeds will run at - 100 Gigabits/second
Wireless link speeds will run at - 100 Megabits/ second and
The Internet backbone link speeds will run at - 10 Terabits/ second Moreover, there will be billions of interactive and embedded computing and communication devices in operation throughout the world. These powerful computers and networks will be available largely at commodity prices, built mostly with robust common-off the-shelf (COTS) components, and will inter-operate over an increasingly convergent and pervasive Internet infrastructure. To maximize the benefit from these advances in hardware technology, the quality and productivity of technologies for developing concurrent and networked middleware and application software must also increase. Historically, hardware has tended to become smaller, faster, and more reliable. It has also become cheaper and more predictable to develop and innovate, as evidenced by 'Moore's Law'. In contrast, concurrent and networked software has often grown larger, slower, and more error-prone. It has also become very expensive and timeconsuming to develop, validate, maintain, and enhance.

Although hardware improvements have alleviated the need for some low-level software optimizations, the lifecycle cost [Boe81] and effort required to develop software-particularly mission-critical concurrent and networked applications-continues to rise. The disparity between the rapid rate of hardware advances versus the slower software progress stems from a number of factors, including:

Inherent and accidental complexities. There are vexing problems with concurrent and networked software that result from inherent and accidental complexities...

Read More Show Less

Table of Contents

About This Book

About The Authors

Guide To The Reader

1 Concurrent and Distributed Objects

2 The Patterns

2.1 Introduction

2.2 Service Access Patterns

Wrapper Facade

Extension Interface


2.3 Event Handling Patterns



Asynchronous Completion Token

2.4 Initialization Patterns



Component Configurator

2.5 Synchronization Patterns

Scoped Locking

Strategized Locking

Thread-Safe Interface

Double Checked Locking Optimization

2.6 Concurrency Patterns

Active Object

Monitor Object


Half Sync/Half-Async

Thread-Specific Storage

3 Tying the Patterns Together

3.1 From Individual Patterns To Pattern Languages

3.2 A Pattern Language for Distributed

Object Computing

3.3 Beyond Networking, Distribution,

and Concurrency




Index of Patterns


Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star


4 Star


3 Star


2 Star


1 Star


Your Rating:

Your Name: Create a Pen Name or

Barnes & Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation


  • - By submitting a review, you grant to Barnes & and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Terms of Use.
  • - Barnes & reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously

    If you find inappropriate content, please report it to Barnes & Noble
    Why is this product inappropriate?
    Comments (optional)