Pattern-Oriented Software Architecture: A Pattern Language for Distributed Computing / Edition 1

Hardcover (Print)
Used and New from Other Sellers
Used and New from Other Sellers
from $37.01
Usually ships in 1-2 business days
(Save 38%)
Other sellers (Hardcover)
  • All (9) from $37.01   
  • New (5) from $37.01   
  • Used (4) from $42.57   


The eagerly awaited Pattern-Oriented Software Architecture (POSA) Volume 4 is about a pattern language for distributed computing.

The authors will guide you through the best practices and introduce you to key areas of building distributed software systems. POSA 4 connects many stand-alone patterns, pattern collections and pattern languages from the existing body of literature found in the POSA series. Such patterns relate to and are useful for distributed computing to a single language.

  • The panel of experts provides you with a consistent and coherent holistic view on the craft of building distributed systems.
  • Includes a foreword by Martin Fowler
  • A must read for practitioners who want practical advice to develop a comprehensive language integrating patterns from key literature.
Read More Show Less

Product Details

  • ISBN-13: 9780470059029
  • Publisher: Wiley
  • Publication date: 5/11/2007
  • Series: Wiley Software Patterns Series , #8
  • Edition description: Volume 4
  • Edition number: 1
  • Pages: 636
  • Product dimensions: 7.78 (w) x 9.39 (h) x 1.61 (d)

Meet the Author

Frank Buschmann, Siemens AG, Germany

Kevlin Henney, Curbralan, Bristol, UK

Douglas C. Schmidt, Vanderbilt University, Nashville, Tennessee, USA

Read More Show Less

Table of Contents


About This Book.

About The Authors.

Guide To The Reader.


1. On Patterns and Pattern Languages.

1.1 Patterns Introduced.

1.2 Inside Patterns.

1.3 In Between Patterns.

1.4 Into Pattern Languages.

1.5 Patterns Connected.

2. On Distributed Systems.

2.1 Benefits of Distribution.

2.2 Challenges of Distribution.

2.3 Technologies for Supporting Distribution.

2.4 Limitations with Middleware.

3. On the Pattern Language.

3.1 Intent, Scope, and Audience.

3.2 Origins and Genesis.

3.3 Structure and Content.

3.4 Presentation.

3.5 Practical Use.


4. Warehouse Management Process Control.

4.1 System Scope.

4.2 Warehouse Management Process Control.

5. Base-line Architecture.

5.1 Architecture Context.

5.2 Partitioning the Big Ball of Mud.

5.3 Decomposing the Layers.

5.4 Accessing Domain Object Functionality.

5.5 Bridging the Network.

5.6 Separating User Interfaces.

5.7 Distributing Functionality.

5.8 Supporting Concurrent Domain Object Access.

5.9 Achieving Scalable Concurrency.

5.10 Crossing the Object-Oriented/Relational Divide.

5.11 Configuring Domain Objects at Run-Time.

5.12 Base-line Architecture Summary.

6. Communication Middleware.

6.1 A Middleware Architecture for Distributed Systems.

6.2 Structuring the Internal Design of the Middleware.

6.3 Encapsulating Low-level System Mechanisms.

6.4 Demultiplexing ORB Core Events.

6.5 Managing ORB Connections.

6.6 Enhancing ORB Scalability.

6.7 Implementing a Synchronized Request Queue.

6.8 Interchangeable Internal ORB Mechanisms.

6.9 Consolidating ORB Strategies.

6.10 Dynamic Configuration of ORBs.

6.11 Communication Middleware Summary.

7. Warehouse Topology.

7.1 Warehouse Topology Base-line.

7.2 Representing Hierarchical Storage.

7.3 Navigating the Storage Hierarchy.

7.4 Modeling Storage Properties.

7.5 Varying Storage Behavior.

7.6 Realizing Global Functionality.

7.7 Traversing the Warehouse Topology.

7.8 Supporting Control Flow Extensions.

7.9 Connecting to the Database.

7.10 Maintaining In-Memory Storage Data.

7.11 Configuring the Warehouse Topology.

7.12 Detailing the Explicit Interface.

7.13 Warehouse Topology Summary.

8. The Story Behind The Pattern Story.


9. From Mud To Structure.

Domain Model **.

Layers **.

Model-View-Controller **.


Microkernel **.

Reflection *.

Pipes and Filters **.

Shared Repository **.


Domain Object **.

10. Distribution Infrastructure.

Messaging **.

Message Channel **.

Message Endpoint **.

Message Translator **.

Message Router **.

Publisher-Subscriber **.

Broker **.

Client Proxy **.

Requestor **.

Invoker **.

Client Request Handler **.

Server Request Handler **.

11. Event Demultiplexing and Dispatching.

Reactor **.


Acceptor-Connector **.

Asynchronous Completion Token **.

12. Interface Partitioning.

Explicit Interface **.

Extension Interface **.

Introspective Interface **.

Dynamic Invocation Interface *.

Proxy **.

Business Delegate **.

Facade **.

Combined Method **.

Iterator **.

Enumeration Method **.

Batch Method **.

13. Component Partitioning.

Encapsulated Implementation **.

Whole-Part **.

Composite **.

Master-Slave *.

Half-Object plus Protocol **.

Replicated Component Group *.

14. Application Control.

Page Controller **.

Front Controller **.

Application Controller **.

Command Processor **.

Template View **.

Transform View **.

Firewall Proxy **.

Authorization **.

15. Concurrency.

Half-Sync/Half-Async **.

Leader/Followers **.

Active Object **.

Monitor Object **.

16. Synchronization.

Guarded Suspension **.

Future **.

Thread-Safe Interface *.

Double-Checked Locking.

Strategized Locking **.

Scoped Locking **.

Thread-Specific Storage.

Copied Value **.

Immutable Value **.

17. Object Interaction.

Observer **.

Double Dispatch **.

Mediator *.

Command **.

Memento **.

Context Object **.

Data Transfer Object **.

Message **.

18. Adaptation and Extension.

Bridge **.

Object Adapter **.

Chain of Responsibility *.


Interceptor **.

Visitor **.


Execute-Around Object **.

Template Method *.

Strategy **.

Null Object **.

Wrapper Facade **.

Declarative Component Configuration *.

19. Modal Behavior.

Objects for States *.

Methods for States *.

Collections for States **.

20. Resource Management.

Container *.

Component Configurator *.

Object Manager **.

Lookup **.

Virtual Proxy **.

Lifecycle Callback **.

Task Coordinator *.

Resource Pool **.

Resource Cache **.

Lazy Acquisition **.

Eager Acquisition **.

Partial Acquisition *.

Activator **.

Evictor **.

Leasing **.

Automated Garbage Collection **.

Counting Handle **.

Abstract Factory **.

Builder *.

Factory Method **.

Disposal Method **.

21. Database Access.

Database Access Layer **.

Data Mapper **.

Row Data Gateway **.

Table Data Gateway **.

Active Record.

22. A Departing Thought.



Index of Patterns.

Index of Names.


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)