Pattern-oriented software architecture, vol.4: patterns for distributed computing

Posted By: insetes

Pattern-oriented software architecture, vol.4: patterns for distributed computing By Frank Buschmann; Kevlin Henney; Douglas C Schmidt
2007 | 639 Pages | ISBN: 0470059028 | PDF | 3 MB


Offering an alternative approach to multiparadigm programming concepts, this work presents the four major language paradigms - imperative, object-oriented, functional and logical - through a new, common language called Leda. It: introduces the important emerging topic of multiparadigm programming - a concept that could be characterized as "the best of" programming languages; provides a coherent basis for comparing multiple paradigms in a common framework through a single language; and gives both a technical overview and summaries on important topics in programming-language development Foreword. About This Book. About The Authors. Guide To The Reader. PART I. SOME CONCEPTS. 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. PART. II A STORY. 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. PART III. THE LANGUAGE. 9. From Mud To Structure. Domain Model . Layers . Model-View-Controller . Presentation-Abstraction-Control. Microkernel . Reflection . Pipes and Filters . Shared Repository . Blackboard. 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 . Proactor. 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 . Interpreter. Interceptor . Visitor . Decorator. 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. Glossary. References. Index of Patterns. Index of Names. Index