Skip to main content

Principles of Transaction Processing for the Systems Professional

  • 1st Edition - November 1, 1996
  • Latest edition
  • Authors: Philip A. Bernstein, Eric Newcomer
  • Language: English

Principles of Transaction Processing is a clear, concise guide for anyoneinvolved in developing applications, evaluating products, designing systems,or engineering products.… Read more

Purchase options

Sorry, this title is not available for purchase in your country/region.

World Book Day celebration

Where learning shapes lives

Up to 25% off trusted resources that support research, study, and discovery.

Description


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.

Key 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

Principles of Transaction Processing

by Philip Bernstein and Eric Newcomer


    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

Review quotes

"The best introduction to transaction processing systems I have ever read."—K.Torp, ACM Computing Reviews, November 1997

Product details

  • Edition: 1
  • Latest edition
  • Published: January 25, 1997
  • Language: English

About the authors

PB

Philip A. Bernstein

is a Principal Researcher at Microsoft Corporation and author of over 150 technical articles on database and transaction systems. He was previously lead architect for Digital Equipment Corporation’s transaction processing products group and was a professor at Harvard University. He is an ACM Fellow and member of the National Academy of Engineering.
Affiliations and expertise
Lead Architect, Microsoft Corporation, Bellvue, WA, USA

EN

Eric Newcomer

is an independent consultant working in the CTO Office at Progress Software. He was previously CTO of IONA Technologies and a TP Architect at Digital Equipment Corporation. He has contributed to multiple enterprise software products and standards.
Affiliations and expertise
Program manager, Digital Equipment Corporation, Groton, MA, USA