
Pattern-Oriented Software Architecture, A Pattern Language for Distributed Computing
by Buschmann, Frank; Henney, Kevlin; Schmidt, Douglas C.-
This Item Qualifies for Free Shipping!*
*Excludes marketplace orders.
Buy New
Rent Book
Rent Digital
Used Book
We're Sorry
Sold Out
How Marketplace Works:
- This item is offered by an independent seller and not shipped from our warehouse
- Item details like edition and cover design may differ from our description; see seller's comments before ordering.
- Sellers much confirm and ship within two business days; otherwise, the order will be cancelled and refunded.
- Marketplace purchases cannot be returned to eCampus.com. Contact the seller directly for inquiries; if no response within two days, contact customer service.
- Additional shipping costs apply to Marketplace purchases. Review shipping costs at checkout.
Summary
Author Biography
Kevlin Henney, Curbralan, Bristol, UK
Douglas C. Schmidt, Vanderbilt University, Nashville, Tennessee, USA
Table of Contents
Foreword | p. xv |
About This Book | p. xvii |
About The Authors | p. xxiii |
Guide To The Reader | p. xxvii |
Some Concepts | p. 1 |
On Patterns and Pattern Languages | p. 3 |
Patterns Introduced | p. 4 |
Inside Patterns | p. 6 |
Between Patterns | p. 10 |
Into Pattern Languages | p. 13 |
Patterns Connected | p. 15 |
On Distributed Systems | p. 17 |
Benefits of Distribution | p. 18 |
Challenges of Distribution | p. 20 |
Technologies for Supporting Distribution | p. 22 |
Limitations of Middleware | p. 32 |
On the Pattern Language | p. 33 |
Intent, Scope, and Audience | p. 34 |
Origins and Genesis | p. 35 |
Structure and Content | p. 36 |
Presentation | p. 44 |
Practical Use | p. 49 |
A Story | p. 53 |
Warehouse Management Process Control | p. 57 |
System Scope | p. 58 |
Warehouse Management Process Control | p. 60 |
Baseline Architecture | p. 65 |
Architecture Context | p. 66 |
Partitioning the Big Ball of Mud | p. 67 |
Decomposing the Layers | p. 68 |
Accessing Domain Object Functionality | p. 71 |
Bridging the Network | p. 72 |
Separating User Interfaces | p. 76 |
Distributing Functionality | p. 79 |
Supporting Concurrent Domain Object Access | p. 82 |
Achieving Scalable Concurrency | p. 85 |
Crossing the Object-Oriented/Relational Divide | p. 87 |
Configuring Domain Objects at Runtime | p. 89 |
Baseline Architecture Summary | p. 90 |
Communication Middleware | p. 95 |
A Middleware Architecture for Distributed Systems | p. 96 |
Structuring the Internal Design of the Middleware | p. 100 |
Encapsulating Low-level System Mechanisms | p. 103 |
Demultiplexing ORB Core Events | p. 105 |
Managing ORB Connections | p. 108 |
Enhancing ORB Scalability | p. 111 |
Implementing a Synchronized Request Queue | p. 114 |
Interchangeable Internal ORB Mechanisms | p. 116 |
Consolidating ORB Strategies | p. 118 |
Dynamic Configuration of ORBs | p. 121 |
Communication Middleware Summary | p. 124 |
Warehouse Topology | p. 129 |
Warehouse Topology Baseline | p. 130 |
Representing Hierarchical Storage | p. 131 |
Navigating the Storage Hierarchy | p. 133 |
Modeling Storage Properties | p. 135 |
Varying Storage Behavior | p. 137 |
Realizing Global Functionality | p. 140 |
Traversing the Warehouse Topology | p. 142 |
Supporting Control Flow Extensions | p. 144 |
Connecting to the Database | p. 146 |
Maintaining In-Memory Storage Data | p. 147 |
Configuring the Warehouse Topology | p. 149 |
Detailing the Explicit Interface | p. 151 |
Warehouse Topology Summary | p. 153 |
The Story Behind The Pattern Story | p. 157 |
The Language | p. 163 |
From Mud To Structure | p. 167 |
Domain Model | p. 182 |
Layers | p. 185 |
Model-View-Controller | p. 188 |
Presentation-Abstraction-Control | p. 191 |
Microkernel | p. 194 |
Reflection | p. 197 |
Pipes and Filters | p. 200 |
Shared Repository | p. 202 |
Blackboard | p. 205 |
Domain Object | p. 208 |
Distribution Infrastructure | p. 211 |
Messaging | p. 221 |
Message Channel | p. 224 |
Message Endpoint | p. 227 |
Message Translator | p. 229 |
Message Router | p. 231 |
Publisher-Subscriber | p. 234 |
Broker | p. 237 |
Client Proxy | p. 240 |
Requestor | p. 242 |
Invoker | p. 244 |
Client Request Handler | p. 246 |
Server Request Handler | p. 249 |
Event Demultiplexing and Dispatching | p. 253 |
Reactor | p. 259 |
Proactor | p. 262 |
Acceptor-Connector | p. 265 |
Asynchronous Completion Token | p. 268 |
Interface Partitioning | p. 271 |
Explicit Interface | p. 281 |
Extension Interface | p. 284 |
Introspective Interface | p. 286 |
Dynamic Invocation Interface | p. 288 |
Proxy | p. 290 |
Business Delegate | p. 292 |
Facade | p. 294 |
Combined Method | p. 296 |
Iterator | p. 298 |
Enumeration Method | p. 300 |
Batch Method | p. 302 |
Component Partitioning | p. 305 |
Encapsulated Implementation | p. 313 |
Whole-Part | p. 317 |
Composite | p. 319 |
Master-Slave | p. 321 |
Half-Object plus Protocol | p. 324 |
Replicated Component Group | p. 326 |
Application Control | p. 329 |
Page Controller | p. 337 |
Front Controller | p. 339 |
Application Controller | p. 341 |
Command Processor | p. 343 |
Template View | p. 345 |
Transform View | p. 347 |
Firewall Proxy | p. 349 |
Authorization | p. 351 |
Concurrency | p. 353 |
Half-Sync/Half-Async | p. 359 |
Leader/Followers | p. 362 |
Active Object | p. 365 |
Monitor Object | p. 368 |
Synchronization | p. 371 |
Guarded Suspension | p. 380 |
Future | p. 382 |
Thread-Safe Interface | p. 384 |
Double-Checked Locking | p. 386 |
Strategized Locking | p. 388 |
Scoped Locking | p. 390 |
Thread-Specific Storage | p. 392 |
Copied Value | p. 394 |
Immutable Value | p. 396 |
Object Interaction | p. 399 |
Observer | p. 405 |
Double Dispatch | p. 408 |
Mediator | p. 410 |
Command | p. 412 |
Memento | p. 414 |
Context Object | p. 416 |
Data Transfer Object | p. 418 |
Message | p. 420 |
Adaptation and Extension | p. 423 |
Bridge | p. 436 |
Object Adapter | p. 438 |
Chain of Responsibility | p. 440 |
Interpreter | p. 442 |
Interceptor | p. 444 |
Visitor | p. 447 |
Decorator | p. 449 |
Execute-Around Object | p. 451 |
Template Method | p. 453 |
Strategy | p. 455 |
Null Object | p. 457 |
Wrapper Facade | p. 459 |
Declarative Component Configuration | p. 461 |
Modal Behavior | p. 463 |
Objects for States | p. 467 |
Methods for States | p. 469 |
Collections for States | p. 471 |
Resource Management | p. 473 |
Container | p. 488 |
Component Configurator | p. 490 |
Object Manager | p. 492 |
Lookup | p. 495 |
Virtual Proxy | p. 497 |
Lifecycle Callback | p. 499 |
Task Coordinator | p. 501 |
Resource Pool | p. 503 |
Resource Cache | p. 505 |
Lazy Acquisition | p. 507 |
Eager Acquisition | p. 509 |
Partial Acquisition | p. 511 |
Activator | p. 513 |
Evictor | p. 515 |
Leasing | p. 517 |
Automated Garbage Collection | p. 519 |
Counting Handle | p. 522 |
Abstract Factory | p. 525 |
Builder | p. 527 |
Factory Method | p. 529 |
Disposal Method | p. 531 |
Database Access | p. 533 |
Database Access Layer | p. 538 |
Data Mapper | p. 540 |
Row Data Gateway | p. 542 |
Table Data Gateway | p. 544 |
Active Record | p. 546 |
A Departing Thought | p. 549 |
Glossary | p. 553 |
References | p. 573 |
Index of Patterns | p. 587 |
Index of Names | p. 593 |
Subject Index | p. 595 |
Table of Contents provided by Ingram. All Rights Reserved. |
An electronic version of this book is available through VitalSource.
This book is viewable on PC, Mac, iPhone, iPad, iPod Touch, and most smartphones.
By purchasing, you will be able to view this book online, as well as download it, for the chosen number of days.
Digital License
You are licensing a digital product for a set duration. Durations are set forth in the product description, with "Lifetime" typically meaning five (5) years of online access and permanent download to a supported device. All licenses are non-transferable.
More details can be found here.
A downloadable version of this book is available through the eCampus Reader or compatible Adobe readers.
Applications are available on iOS, Android, PC, Mac, and Windows Mobile platforms.
Please view the compatibility matrix prior to purchase.