BN.com Gift Guide

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 $24.71
Usually ships in 1-2 business days
(Save 58%)
Other sellers (Hardcover)
  • All (7) from $24.71   
  • New (4) from $34.18   
  • Used (3) from $24.71   

Overview

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

Editorial Reviews

From the Publisher
"The authors' decision to include a real-life use case was a good strategy it illustrate the application of the pattern language." (Computing Reviews, February 15, 2008)
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
  • Sales rank: 1,191,770
  • 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

Foreword xv

About This Book xvii

About The Authors xxiii

Guide To The Reader xxvii

Part I Some Concepts 1

1 On Patterns and Pattern Languages 3

1.1 Patterns Introduced 4

1.2 Inside Patterns 6

1.3 Between Patterns 10

1.4 Into Pattern Languages 13

1.5 Patterns Connected 15

2 On Distributed Systems 17

2.1 Benefits of Distribution 18

2.2 Challenges of Distribution 20

2.3 Technologies for Supporting Distribution 22

2.4 Limitations of Middleware 32

3 On the Pattern Language 33

3.1 Intent, Scope, and Audience 34

3.2 Origins and Genesis 35

3.3 Structure and Content 36

3.4 Presentation 44

3.5 Practical Use 49

Part II A Story 53

4 Warehouse Management Process Control 57

4.1 System Scope 58

4.2 Warehouse Management Process Control 60

5 Baseline Architecture 65

5.1 Architecture Context 66

5.2 Partitioning the Big Ball of Mud 67

5.3 Decomposing the Layers 68

5.4 Accessing Domain Object Functionality 71

5.5 Bridging the Network 72

5.6 Separating User Interfaces 76

5.7 Distributing Functionality 79

5.8 Supporting Concurrent Domain Object Access 82

5.9 Achieving Scalable Concurrency 85

5.10 Crossing the Object-Oriented/Relational Divide 87

5.11 Configuring Domain Objects at Runtime 89

5.12 Baseline Architecture Summary 90

6 Communication Middleware 95

6.1 A Middleware Architecture for Distributed Systems 96

6.2 Structuring the Internal Design of the Middleware 100

6.3 Encapsulating Low-level System Mechanisms 103

6.4 Demultiplexing ORB Core Events 105

6.5 Managing ORB Connections 108

6.6 Enhancing ORB Scalability 111

6.7 Implementing a Synchronized Request Queue 114

6.8 Interchangeable Internal ORB Mechanisms 116

6.9 Consolidating ORB Strategies 118

6.10 Dynamic Configuration of ORBs 121

6.11 Communication Middleware Summary 124

7 Warehouse Topology 129

7.1 Warehouse Topology Baseline 130

7.2 Representing Hierarchical Storage 131

7.3 Navigating the Storage Hierarchy 133

7.4 Modeling Storage Properties 135

7.5 Varying Storage Behavior 137

7.6 Realizing Global Functionality 140

7.7 Traversing the Warehouse Topology 142

7.8 Supporting Control Flow Extensions 144

7.9 Connecting to the Database 146

7.10 Maintaining In-Memory Storage Data 147

7.11 Configuring the Warehouse Topology 149

7.12 Detailing the Explicit Interface 151

7.13 Warehouse Topology Summary 153

8 The Story Behind The Pattern Story 157

Part III The Language 163

9 From Mud To Structure 167

Domain Model ** 182

Layers ** 185

Model-View-Controller ** 188

Presentation-Abstraction-Control 191

Microkernel ** 194

Reflection
• 197

Pipes and Filters ** 200

Shared Repository ** 202

Blackboard 205

Domain Object ** 208

10 Distribution Infrastructure 211

Messaging ** 221

Message Channel ** 224

Message Endpoint ** 227

Message Translator ** 229

Message Router ** 231

Publisher-Subscriber ** 234

Broker ** 237

Client Proxy ** 240

Requestor ** 242

Invoker ** 244

Client Request Handler ** 246

Server Request Handler ** 249

11 Event Demultiplexing and Dispatching 253

Reactor ** 259

Proactor
• 262

Acceptor-Connector ** 265

Asynchronous Completion Token ** 268

12 Interface Partitioning 271

Explicit Interface ** 281

Extension Interface ** 284

Introspective Interface ** 286

Dynamic Invocation Interface
• 288

Proxy ** 290

Business Delegate ** 292

Facade ** 294

Combined Method ** 296

Iterator ** 298

Enumeration Method ** 300

Batch Method ** 302

13 Component Partitioning 305

Encapsulated Implementation ** 313

Whole-Part ** 317

Composite ** 319

Master-Slave
• 321

Half-Object plus Protocol ** 324

Replicated Component Group
• 326

14 Application Control 329

Page Controller ** 337

Front Controller ** 339

Application Controller ** 341

Command Processor ** 343

Template View ** 345

Transform View ** 347

Firewall Proxy ** 349

Authorization ** 351

15 Concurrency 353

Half-Sync/Half-Async ** 359

Leader/Followers ** 362

Active Object ** 365

Monitor Object ** 368

16 Synchronization 371

Guarded Suspension ** 380

Future ** 382

Thread-Safe Interface
• 384

Double-Checked Locking 386

Strategized Locking ** 388

Scoped Locking ** 390

Thread-Specific Storage 392

Copied Value ** 394

Immutable Value ** 396

17 Object Interaction 399

Observer ** 405

Double Dispatch ** 408

Mediator
• 410

Command ** 412

Memento ** 414

Context Object ** 416

Data Transfer Object ** 418

Message ** 420

18 Adaptation and Extension 423

Bridge ** 436

Object Adapter ** 438

Chain of Responsibility
• 440

Interpreter 442

Interceptor ** 444

Visitor ** 447

Decorator 449

Execute-Around Object ** 451

Template Method
• 453

Strategy ** 455

Null Object ** 457

Wrapper Facade ** 459

Declarative Component Configuration
• 461

19 Modal Behavior 463

Objects for States
• 467

Methods for States
• 469

Collections for States ** 471

20 Resource Management 473

Container
• 488

Component Configurator
• 490

Object Manager ** 492

Lookup ** 495

Virtual Proxy ** 497

Lifecycle Callback ** 499

Task Coordinator
• 501

Resource Pool ** 503

Resource Cache ** 505

Lazy Acquisition ** 507

Eager Acquisition ** 509

Partial Acquisition
• 511

Activator ** 513

Evictor ** 515

Leasing ** 517

Automated Garbage Collection ** 519

Counting Handle ** 522

Abstract Factory ** 525

Builder
• 527

Factory Method ** 529

Disposal Method ** 531

21 Database Access 533

Database Access Layer ** 538

Data Mapper ** 540

Row Data Gateway ** 542

Table Data Gateway ** 544

Active Record 546

22 A Departing Thought 549

Glossary 553

References 573

Index of Patterns 587

Index of Names 593

Subject Index 595

Read More Show Less

Customer Reviews

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

5 Star

(0)

4 Star

(0)

3 Star

(0)

2 Star

(0)

1 Star

(0)

Your Rating:

Your Name: Create a Pen Name or

Barnes & Noble.com 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 & Noble.com 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 & Noble.com 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 BN.com 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

Reminder:

  • - By submitting a review, you grant to Barnes & Noble.com and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Noble.com Terms of Use.
  • - Barnes & Noble.com reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & Noble.com 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 BN.com. 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)