Details

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


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


Wiley Software Patterns Series, Band 9 Volume 4

von: Frank Buschmann, Kevlin Henney, Douglas C. Schmidt

34,99 €

Verlag: Wiley
Format: PDF
Veröffentl.: 04.04.2007
ISBN/EAN: 9780470065303
Sprache: englisch
Anzahl Seiten: 640

DRM-geschütztes eBook, Sie benötigen z.B. Adobe Digital Editions und eine Adobe ID zum Lesen.

Beschreibungen

The eagerly awaited <b>Pattern-Oriented Software Architecture (POSA) Volume 4</b> is about a pattern language for distributed computing. <p>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.</p> <ul> <li>The panel of experts provides you with a consistent and coherent holistic view on the craft of building distributed systems.</li> <li>Includes a foreword by Martin Fowler</li> <li>A must read for practitioners who want practical advice to develop a comprehensive language integrating patterns from key literature.</li> </ul>
<p>Foreword xv</p> <p>About This Book xvii</p> <p>About The Authors xxiii</p> <p>Guide To The Reader xxvii</p> <p><b>Part I Some Concepts 1</b></p> <p><b>1 On Patterns and Pattern Languages 3</b></p> <p>1.1 Patterns Introduced 4</p> <p>1.2 Inside Patterns 6</p> <p>1.3 Between Patterns 10</p> <p>1.4 Into Pattern Languages 13</p> <p>1.5 Patterns Connected 15</p> <p><b>2 On Distributed Systems 17</b></p> <p>2.1 Benefits of Distribution 18</p> <p>2.2 Challenges of Distribution 20</p> <p>2.3 Technologies for Supporting Distribution 22</p> <p>2.4 Limitations of Middleware 32</p> <p><b>3 On the Pattern Language 33</b></p> <p>3.1 Intent, Scope, and Audience 34</p> <p>3.2 Origins and Genesis 35</p> <p>3.3 Structure and Content 36</p> <p>3.4 Presentation 44</p> <p>3.5 Practical Use 49</p> <p><b>Part II A Story 53</b></p> <p><b>4 Warehouse Management Process Control 57</b></p> <p>4.1 System Scope 58</p> <p>4.2 Warehouse Management Process Control 60</p> <p><b>5 Baseline Architecture 65</b></p> <p>5.1 Architecture Context 66</p> <p>5.2 Partitioning the Big Ball of Mud 67</p> <p>5.3 Decomposing the Layers 68</p> <p>5.4 Accessing Domain Object Functionality 71</p> <p>5.5 Bridging the Network 72</p> <p>5.6 Separating User Interfaces 76</p> <p>5.7 Distributing Functionality 79</p> <p>5.8 Supporting Concurrent Domain Object Access 82</p> <p>5.9 Achieving Scalable Concurrency 85</p> <p>5.10 Crossing the Object-Oriented/Relational Divide 87</p> <p>5.11 Configuring Domain Objects at Runtime 89</p> <p>5.12 Baseline Architecture Summary 90</p> <p><b>6 Communication Middleware 95</b></p> <p>6.1 A Middleware Architecture for Distributed Systems 96</p> <p>6.2 Structuring the Internal Design of the Middleware 100</p> <p>6.3 Encapsulating Low-level System Mechanisms 103</p> <p>6.4 Demultiplexing ORB Core Events 105</p> <p>6.5 Managing ORB Connections 108</p> <p>6.6 Enhancing ORB Scalability 111</p> <p>6.7 Implementing a Synchronized Request Queue 114</p> <p>6.8 Interchangeable Internal ORB Mechanisms 116</p> <p>6.9 Consolidating ORB Strategies 118</p> <p>6.10 Dynamic Configuration of ORBs 121</p> <p>6.11 Communication Middleware Summary 124</p> <p><b>7 Warehouse Topology 129</b></p> <p>7.1 Warehouse Topology Baseline 130</p> <p>7.2 Representing Hierarchical Storage 131</p> <p>7.3 Navigating the Storage Hierarchy 133</p> <p>7.4 Modeling Storage Properties 135</p> <p>7.5 Varying Storage Behavior 137</p> <p>7.6 Realizing Global Functionality 140</p> <p>7.7 Traversing the Warehouse Topology 142</p> <p>7.8 Supporting Control Flow Extensions 144</p> <p>7.9 Connecting to the Database 146</p> <p>7.10 Maintaining In-Memory Storage Data 147</p> <p>7.11 Configuring the Warehouse Topology 149</p> <p>7.12 Detailing the Explicit Interface 151</p> <p>7.13 Warehouse Topology Summary 153</p> <p><b>8 The Story Behind The Pattern Story 157</b></p> <p><b>Part III The Language 163</b></p> <p><b>9 From Mud To Structure 167</b></p> <p>Domain Model ** 182</p> <p>Layers ** 185</p> <p>Model-View-Controller ** 188</p> <p>Presentation-Abstraction-Control 191</p> <p>Microkernel ** 194</p> <p>Reflection * 197</p> <p>Pipes and Filters ** 200</p> <p>Shared Repository ** 202</p> <p>Blackboard 205</p> <p>Domain Object ** 208</p> <p><b>10 Distribution Infrastructure 211</b></p> <p>Messaging ** 221</p> <p>Message Channel ** 224</p> <p>Message Endpoint ** 227</p> <p>Message Translator ** 229</p> <p>Message Router ** 231</p> <p>Publisher-Subscriber ** 234</p> <p>Broker ** 237</p> <p>Client Proxy ** 240</p> <p>Requestor ** 242</p> <p>Invoker ** 244</p> <p>Client Request Handler ** 246</p> <p>Server Request Handler ** 249</p> <p><b>11 Event Demultiplexing and Dispatching 253</b></p> <p>Reactor ** 259</p> <p>Proactor * 262</p> <p>Acceptor-Connector ** 265</p> <p>Asynchronous Completion Token ** 268</p> <p><b>12 Interface Partitioning 271</b></p> <p>Explicit Interface ** 281</p> <p>Extension Interface ** 284</p> <p>Introspective Interface ** 286</p> <p>Dynamic Invocation Interface * 288</p> <p>Proxy ** 290</p> <p>Business Delegate ** 292</p> <p>Facade ** 294</p> <p>Combined Method ** 296</p> <p>Iterator ** 298</p> <p>Enumeration Method ** 300</p> <p>Batch Method ** 302</p> <p><b>13 Component Partitioning 305</b></p> <p>Encapsulated Implementation ** 313</p> <p>Whole-Part ** 317</p> <p>Composite ** 319</p> <p>Master-Slave * 321</p> <p>Half-Object plus Protocol ** 324</p> <p>Replicated Component Group * 326</p> <p><b>14 Application Control 329</b></p> <p>Page Controller ** 337</p> <p>Front Controller ** 339</p> <p>Application Controller ** 341</p> <p>Command Processor ** 343</p> <p>Template View ** 345</p> <p>Transform View ** 347</p> <p>Firewall Proxy ** 349</p> <p>Authorization ** 351</p> <p><b>15 Concurrency 353</b></p> <p>Half-Sync/Half-Async ** 359</p> <p>Leader/Followers ** 362</p> <p>Active Object ** 365</p> <p>Monitor Object ** 368</p> <p><b>16 Synchronization 371</b></p> <p>Guarded Suspension ** 380</p> <p>Future ** 382</p> <p>Thread-Safe Interface * 384</p> <p>Double-Checked Locking 386</p> <p>Strategized Locking ** 388</p> <p>Scoped Locking ** 390</p> <p>Thread-Specific Storage 392</p> <p>Copied Value ** 394</p> <p>Immutable Value ** 396</p> <p><b>17 Object Interaction 399</b></p> <p>Observer ** 405</p> <p>Double Dispatch ** 408</p> <p>Mediator * 410</p> <p>Command ** 412</p> <p>Memento ** 414</p> <p>Context Object ** 416</p> <p>Data Transfer Object ** 418</p> <p>Message ** 420</p> <p><b>18 Adaptation and Extension 423</b></p> <p>Bridge ** 436</p> <p>Object Adapter ** 438</p> <p>Chain of Responsibility * 440</p> <p>Interpreter 442</p> <p>Interceptor ** 444</p> <p>Visitor ** 447</p> <p>Decorator 449</p> <p>Execute-Around Object ** 451</p> <p>Template Method * 453</p> <p>Strategy ** 455</p> <p>Null Object ** 457</p> <p>Wrapper Facade ** 459</p> <p>Declarative Component Configuration * 461</p> <p><b>19 Modal Behavior 463</b></p> <p>Objects for States * 467</p> <p>Methods for States * 469</p> <p>Collections for States ** 471</p> <p><b>20 Resource Management 473</b></p> <p>Container * 488</p> <p>Component Configurator * 490</p> <p>Object Manager ** 492</p> <p>Lookup ** 495</p> <p>Virtual Proxy ** 497</p> <p>Lifecycle Callback ** 499</p> <p>Task Coordinator * 501</p> <p>Resource Pool ** 503</p> <p>Resource Cache ** 505</p> <p>Lazy Acquisition ** 507</p> <p>Eager Acquisition ** 509</p> <p>Partial Acquisition * 511</p> <p>Activator ** 513</p> <p>Evictor ** 515</p> <p>Leasing ** 517</p> <p>Automated Garbage Collection ** 519</p> <p>Counting Handle ** 522</p> <p>Abstract Factory ** 525</p> <p>Builder * 527</p> <p>Factory Method ** 529</p> <p>Disposal Method ** 531</p> <p><b>21 Database Access 533</b></p> <p>Database Access Layer ** 538</p> <p>Data Mapper ** 540</p> <p>Row Data Gateway ** 542</p> <p>Table Data Gateway ** 544</p> <p>Active Record 546</p> <p><b>22 A Departing Thought 549</b></p> <p>Glossary 553</p> <p>References 573</p> <p>Index of Patterns 587</p> <p>Index of Names 593</p> <p>Subject Index 595</p>
"The authors' decision to include a real-life use case was a good strategy it illustrate the application of the pattern language." (<i>Computing Reviews</i>, February 15, 2008)
<b>Frank Buschmann</b>, Siemens AG, Germany <p><b>Kevlin Henney</b>, Curbralan, Bristol, UK</p> <p><b>Douglas C. Schmidt</b>, Vanderbilt University, Nashville, Tennessee, USA</p>
<p>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 <i>Pattern-Oriented Software Architecture (POSA) Volume 4</i> provides the missing link in the development of software for distributed systems: it provides a holistic view for distributed computing. </p> <p>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. <i>POSA 4</i> 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. <p>The material covers <i>concepts</i>, which provides the context of the book; a <i>story</i>, which describes how a real-world process control system for warehouse management was designed with the authors’ pattern <i>language</i> 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:<ul><li><i>Object interaction</i></li><li><i>Interface and component partitioning</i></li><li><i>Application control</i></li><li><i>Resource management</i></li><li><i>Concurrency and synchronization</i></li></ul><p><i>POSA 4</i> 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.

Diese Produkte könnten Sie auch interessieren:

Pattern-Oriented Software Architecture, On Patterns and Pattern Languages
Pattern-Oriented Software Architecture, On Patterns and Pattern Languages
von: Frank Buschmann, Kevlin Henney, Douglas C. Schmidt
PDF ebook
32,99 €
Security Patterns
Security Patterns
von: Markus Schumacher, Eduardo Fernandez-Buglioni, Duane Hybertson, Frank Buschmann, Peter Sommerlad
PDF ebook
33,99 €