| help | account  


Principles of Transaction Processing: for the Systems Professional
View Larger Image
Philip A. Bernstein, Eric Newcomer
Morgan Kaufmann, Paperback, Published November 1996, 358 pages, ISBN 1558604154
List Price: $71.95
Our Price: $49.95
You Save: $22.00 (31% Off)


FREE Shipping on Orders over $40!*
Availability: Out-Of-Stock

Be the First to Write a Review and tell the world about this title!

People who purchase this book frequently purchase:

Books on similar topics, in best-seller order:Books from the same publisher, in best-seller order:

Principles of Transaction Processing is a clear, concise guide for anyone involved in developing applications, evaluating products, designing systems, or engineering products. This book provides an understanding of the internals of transaction processing systems, describing how they work and how best to use them. It includes the architecture of transaction processing monitors, transactional communications paradigms, and mechanisms for recovering from transaction and system failures.

Use of transaction processing systems in business, industry, and government is increasing rapidly; the emergence of electronic commerce on the Internet is creating new demands. As a result, many developers are encountering transaction processing applications for the first time and need a practical explanation of techniques. Software engineers who build and market operating systems, communications systems, programming tools, and other products used in transaction processing applications will also benefit from this thorough presentation of principles. Rich with examples, it describes commercial transaction processing systems, transactional aspects of database servers, messaging systems, Internet servers, and object-oriented systems, as well as each of their subsystems.

Features:

  • Easy-to-read descriptions of fundamentals.
  • Real world examples illustrating key points.
  • Focuses on practical issues faced by developers.
  • Explains most major products and standards, including IBM’s CICS, IMS, and MQSeries; X/Open’s XA, STDL, and TX; BEA Systems’ TUXEDO; Digital’s ACMS; Transarc’s Encina; AT&T/NCR’s TOP END; Tandem’s Pathway/TS; OMG’s OTS; and Microsoft’s Microsoft Transaction Server.

Table of Contents

    Foreword
    Preface
    Chapter 1 Introduction
      1.1 The Basics
        The Problem
        What’s a Transaction
        Transaction Processing Applications
        A Transaction Program’s Main Functions
      1.2 The Transaction Processing Systems
      1.3 Atomicity, Consistency, Isolation, and Durability
        Atomicity
        Consistency
        Isolation
        Durability
      1.4 Two-Phase Commit
      1.5 Transaction Processing Performance
        The TPC-A and TPC-B Benchmarks
        The TPC-C Benchmark
      1.6 Availability
      1.7 Styles of Systems
        Batch Processing Systems
        Time-Sharing Systems
        Real-Time Systems
        Client-Server Systems
        Decision Support Systems
        Why Engineer a Transaction Processing System?
      1.8 Example Applications
        Automated Teller Machine
        Stock Exchange
      1.9 Summary

    Chapter 2: Transaction Processing Monitors
      2.1 Introduction
      2.2 Transaction Processing Monitor Architecture
        Two-tier vs. Three-tier Systems
        Transaction Processing Monitor Functions
        Three-tier Applications
        Simple Requests
      2.3 Presentation Server
        Presentation Server Layers
        Gathering Input
        Constructing Requests
        Authentication
        Communication
        Logging
      2.4 Workflow Control
        Routing
        Workflow Logic
        Transaction Bracketing
        Exception Handling
      2.5 Transaction Servers
      2.6 Operating System Processes
        Why We Need Threads
        Implementing Threads
        Mapping Servers to Processes
        Server Classes
      2.7 Database Servers vs. Transaction Processing Monitors
      2.8 Transactions over the Internet
      2.9 Summary

    Chapter 3: Transaction Processing Communications
      3.2 The Remote Procedure Call Model
        RPC Programming Model
        Transaction Bracketing
        Transparent Transaction Identifiers
        Binding Clients and Servers
        How to Compare RPC Systems
      3.3 An RPC Walkthrough
        Parameter Translation in RPC
        Security of RPC
        Fault Tolerance in RPC
        Performance of RPC
        System Management
      3.4 Peer-to-Peer Programming
        Programming Interfaces
        Syncpoint Rules
        An Example
        The ISO Transaction Processing Protocol
      3.5 Comparing RPC and Peer-to-Peer
        Allowed Message Sequences
        Termination Model
        Connection Model
        Current Trends
      3.6 Summary

    Chapter 4: Queued Transaction Processing
      4.1 Why Use Queues?
        Problems
        Queues as the Solution
      4.2 The Queued Transaction Processing Model
        Server’s View of Queuing
        Client’s View of Queuing
      4.3 Client Recovery
      4.4 Handling Non-Undoable Operations
      4.5 The Queue Manager
        Operations on Queue Elements
        Routing
        IBM’s MQSeries
      4.6 Multitransaction Workflow
        Motivation for Workflow Applications
        Managing Workflow Using Queued Requests
        Workflow and Atomicity
      4.7 Multitransaction Requests without Queues
        Pseudoconversations
        Fault-Tolerant Input Using Logging
      4.8 Summary

    Chapter 5: Transaction Processing Monitor Examples
      5.1 Introduction
      5.2 CICS
        System Architecture
        Presentation Server
        Transaction Processing Communications
        Database Access
        System Management
        Programming Example
      5.3 IMS
        System Architecture
        Presentation Server
        Transaction Processing Communications
        Database Access
        System Management
        Programming Example
      5.4 Standardization --X/OPEN, OSI, OMG, and MIA/SPIRIT
        X/OPEN
        OSI Transaction Processing
        Object Transaction Service
        STDL
      5.5 Tuxedo
        System Architecture
        Presentation Server
        Transaction Processing Communications
        Database Access
        System Management
        Programming Example
      5.6 ACMS
        System Architecture
        Presentation Server
        Transaction Processing Communications
        Database Access
        System Management
        Programming Example
      5.7 Encina
        System Architecture
        Presentation Server
        Transaction Processing Communications
        Database Access
        System Management
        Programming Example
      5.8 TOP END
        System Architecture
        Presentation Server
        Transaction Processing Communications
        Database Access
        System Management
        Programming Example
      5.9 Pathways/TS
        System Architecture
        Presentation Server
        Transaction Processing Communications
        Database Access
        System Management
        Programming Example

    Chapter 6: Locking
      6.1 Introduction
        Correctness and the Two-Phase Rule
        Automating Locking
      6.2 Implementation
        Lock Managers
        Granularity
        Multigranularity Locking
      6.3 Deadlocks
        Deadlock Prevention
        Deadlock Detection
        Distributed Deadlock Detection
      6.4 Performance
        Lock Thrashing
        Tuning to Reduce Lock Contention
        A Mathematical Model of Locking Performance
      6.5 Hot Spots
        Delaying Operations Until Commit
        Optimistic Methods
        Batching
      6.6 Query-Update Problems
        Degrees of Isolation
        Multiversion of Isolation
        Multiversion Data
        Multiversion Implementation Details
      6.7 Avoiding Phantoms
        Performance Implications
      6.8 Other Techniques
      6.9 Summary
      Appendix - Proof of Two-Phase Locking Theorem

    Chapter 7: High Availability
      7.1 Introduction
      7.2 Causes of Computer Failure
        The Environment
        System Management
        Hardware
        Software
      7.3 Availability in the Clien/Server Model
        Client/Server Architecture
        Detecting Process Failures
        Client Recovery
        Server Recovery
        Checkpoint-Based Recovery
        Transaction-Based Server Recovery
        Stateless Servers
      7.4 Using Backups
        Warm Backups
        Hot Backups
      7.5 Summary

    Chapter 8: Database System Recovery
      8.1 Introduction
        Types of Failure
        Recovery Strategies
      8.2 The System Model
        Locking Assumptions
        Storage Model
        The Log
      8.3 The Recovery Manager
        Implementing Abort
        Implementing Commit
      8.4 Log-Based Recovery Algorithms
        Implementing Commit
        Implementing Abort
        Implementing Restart
      8.5 Optimizing Restart in Log-Based Algorithms
        Fuzzy Checkpointing
        Operation Logging
        User Techniques
      8.6 Media Failures
        Shadowed Disks
        Archiving
      8.7 Summary

    Chapter 9: Two-Phase Commit
      9.1 Introduction
      9.2 The Two-Phase Commit Protocol
        Assumptions
        Being Prepared
        The Protocol
        Analysis
      9.3 Failure Handling
      9.4 Optimizations
        Presumed Abort
        Transfer of Coordination
        Reinfection
        Read-Only Transactions
        Cooperative Termination Protocol
      9.5 Process Structuring
        Independent Transaction Managers
        Enlisting in a Transaction
        The Tree-of-Processes Model
      9.6 User Checklist
      9.7 Summary

    Chapter 10: Replication
      10.1 Introduction
        Goals
        Implementation Challenges
      10.2 Single-Master Primary-Copy Replication
        Normal Operation
        Failures and Recoveries
        Majority and Quorum Consensus
      10.3 Multimaster Replication
        Partitioned Operation Can Be Useful
        Update Propagation with Multiple Masters
        Multimaster Replication Without a Primary
        Behavior of Multimaster Replication
      10.4 Other Techniques
      10.5 Summary

    Chapter 11: Conclusion
      11.1 Introduction
      11.2 Commodization
      11.3 Object-Oriented Programming
        Specifying Transaction Composition
        Optimizing Property Updates
        Organizing Functions
        Objects as Units of Computation
        Negotiating Interfaces
      11.4 Nested Transactions
        Programming Model
        Implementation
        Other Exotic Transaction Models
      11.5 The Internet and the World Wide Web
      11.6 Summary
    Bibliographic Notes
    Bibliography
    Glossary of Acronyms
    Index
    About the Authors



Forgot your password?
FAQs
Shipping Options
Returns
Your Orders
Your Account