Loading...

Pattern-Oriented Software Architecture, Volume 4, A Pattern Language for Distributed Computing

ISBN: 978-0-470-06530-3

April 2007

640 pages

Description

Many patterns in the software literature focus on distributed computing. Until recently, there has been no holistic view of distributed computing that emphasizes how groups of patterns complete and complement each other. Building complex distributed systems has therefore been a craft that many have tried, but few have mastered. The eagerly anticipated Pattern-Oriented Software Architecture (POSA) Volume 4 provides the missing link in the development of software for distributed systems: it provides a holistic view for distributed computing.

Leading experts, Frank Buschmann, Kevlin Henney, and Douglas C. Schmidt describe a pattern language that links hundreds of patterns relevant for distributed computing. The authors guide you through the best practices in key areas of developing software for distributed computing systems. POSA 4 connects many stand-alone patterns, pattern collections, and languages from the existing body of literature found in the POSA series and other respected sources. The authors explain what pattern languages are and how to use them effectively, by comparing various patterns and distributed computing paradigms.

The material covers concepts, which provides the context of the book; a story, which describes how a real-world process control system for warehouse management was designed with the authors’ pattern language for distributed computing; and the language itself, which forms the main part of the book. The language addresses technical topics relevant for building distributed systems, such as:

  • Object interaction
  • Interface and component partitioning
  • Application control
  • Resource management
  • Concurrency and synchronization

POSA 4 is also the only book to offer practical advice demonstrating how to integrate patterns from key literature to provide a comprehensive pattern language for developing distributed computing middleware and applications.