Description

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

Trade Review
"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)

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

PatternOriented Software Architecture A Pattern

    Product form

    £32.80

    Includes FREE delivery

    RRP £41.00 – you save £8.20 (20%)

    Order before 4pm today for delivery by Mon 22 Jun 2026.

    A Hardback by Frank Buschmann, Kevlin Henney, Douglas C. Schmidt

    1 in stock

      Trusted by thousands of customers. See 2,385+ Customer Reviews

      View other formats and editions of PatternOriented Software Architecture A Pattern by Frank Buschmann

      Publisher: John Wiley & Sons Inc
      Publication Date: 16/03/2007
      ISBN13: 9780470059029, 978-0470059029
      ISBN10: 0470059028

      Description

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

      Trade Review
      "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)

      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

      Recently viewed products

      © 2026 Book Curl

        • American Express
        • Apple Pay
        • Diners Club
        • Discover
        • Google Pay
        • Maestro
        • Mastercard
        • PayPal
        • Shop Pay
        • Union Pay
        • Visa

        Login

        Forgot your password?

        Don't have an account yet?
        Create account