×

Uh-oh, it looks like your Internet Explorer is out of date.

For a better shopping experience, please upgrade now.

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

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

by Douglas C. Schmidt
 

See All Formats & Editions

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

Overview

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

Editorial Reviews

Booknews
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 (booknews.com)
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; www.msofficepro.com; (5/30/01)

Product Details

ISBN-13:
9781118725177
Publisher:
Wiley
Publication date:
04/22/2013
Series:
Wiley Software Patterns Series
Sold by:
Barnes & Noble
Format:
NOOK Book
Pages:
450
File size:
10 MB

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

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.

Customer Reviews

Average Review:

Post to your social network

     

Most Helpful Customer Reviews

See all customer reviews