Principles of Transaction Processing

Principles of Transaction Processing

2nd Edition - June 9, 2009

Write a review

  • Authors: Philip Bernstein, Eric Newcomer
  • eBook ISBN: 9780080948416

Purchase options

Purchase options
DRM-free (PDF, EPub, Mobi)
Sales tax will be calculated at check-out

Institutional Subscription

Free Global Shipping
No minimum order


Principles of Transaction Processing is a comprehensive guide to developing applications, designing systems, and evaluating engineering products. The book provides detailed discussions of the internal workings of transaction processing systems, and it discusses how these systems work and how best to utilize them. It covers the architecture of Web Application Servers and transactional communication paradigms. The book is divided into 11 chapters, which cover the following: Overview of transaction processing application and system structure Software abstractions found in transaction processing systems Architecture of multitier applications and the functions of transactional middleware and database servers Queued transaction processing and its internals, with IBM's Websphere MQ and Oracle's Stream AQ as examples Business process management and its mechanisms Description of the two-phase locking function, B-tree locking and multigranularity locking used in SQL database systems and nested transaction locking System recovery and its failures Two-phase commit protocol Comparison between the tradeoffs of replicating servers versus replication resources Transactional middleware products and standards Future trends, such as cloud computing platforms, composing scalable systems using distributed computing components, the use of flash storage to replace disks and data streams from sensor devices as a source of transaction requests. The text meets the needs of systems professionals, such as IT application programmers who construct TP applications, application analysts, and product developers. The book will also be invaluable to students and novices in application programming.

Key Features

  • Complete revision of the classic "non mathematical" transaction processing reference for systems professionals.
  • Updated to focus on the needs of transaction processing via the Internet-- the main focus of business data processing investments, via web application servers, SOA, and important new TP standards.
  • Retains the practical, non-mathematical, but thorough conceptual basis of the first edition.
  • Readership

    systems professionals: IT application programmers that build TP applications for use in IT or on web sites; application analysts who design applications for deployment on TP systems; and product developers

    Table of Contents

    • Preface


      Chapter 1 Introduction

      1.1 The Basics

      1.2 TP System Architecture

      1.3 Atomicity, Consistency, Isolation, and Durability

      1.4 Two-Phase Commit

      1.5 Transaction Processing Performance

      1.6 Availability

      1.7 Styles of Systems

      1.8 TP System Configurations

      1.9 Summary

      Chapter 2 Transaction Processing Abstractions

      2.1 Introduction

      2.2 Transactions

      2.3 Processes and Threads

      2.4 Remote Procedure Call

      2.5 Shared State

      2.6 Scalability

      2.7 Summary

      Chapter 3 Transaction Processing Application Architecture

      3.1 Introduction

      3.2 Application Architecture

      3.3 Front-End Program

      3.4 Request Controller

      3.5 Transaction Servers

      3.6 Transactional Middleware

      3.7 Database Servers Versus Transactional Middleware

      3.8 Summary

      Chapter 4 Queued Transaction Processing

      4.1 Why Use Queues?

      4.2 The Queued Transaction Processing Model

      4.3 Client Recovery

      4.4 Handling Non-Undoable Operations

      4.5 The Queue Manager

      4.6 Publish-Subscribe

      4.7 Other Message-Oriented Middleware

      4.8 Queuing Products and Standards

      4.9 Summary

      Chapter 5 Business Process Management

      5.1 Introduction

      5.2 Business Process Definition

      5.3 Business Process Execution

      5.4 Transactional Properties

      5.5 Making Process State Durable

      5.6 Other Models of Business Processes

      5.7 Products and Standards

      5.8 Summary

      Chapter 6 Locking

      6.1 Introduction

      6.2 Implementation

      6.3 Deadlocks

      6.4 Performance

      6.5 Hot Spots

      6.6 Query-Update Problems

      6.7 Avoiding Phantoms

      6.8 Optimistic Concurrency Control

      6.9 B-Tree Locking

      6.10 Multigranularity Locking

      6.11 Locking Nested Transactions

      6.12 Summary

      6.13 Appendix: Basic Serializability Theory

      Chapter 7 System Recovery

      7.1 Causes of System Failure

      7.2 A Model for System Recovery

      7.3 Introduction to Database Recovery

      7.4 The System Model

      7.5 Database Recovery Manager

      7.6 Shadow-Paging Algorithm

      7.7 Log-Based Database Recovery Algorithms

      7.8 Optimizing Restart in Log-Based Algorithms

      7.9 Media Recovery

      7.10 Summary

      Chapter 8 Two-Phase Commit

      8.1 Introduction

      8.2 The Two-Phase Commit Protocol

      8.3 Failure Handling

      8.4 Optimizations and Variations

      8.5 Process Structuring

      8.6 User Checklist

      8.7 Summary

      Chapter 9 Replication

      9.1 Introduction

      9.2 Replicated Servers

      9.3 Synchronizing Updates to Replicated Data

      9.4 Single-Master Primary-Copy Replication

      9.5 Multimaster Replication

      9.6 Other Replication Techniques

      9.7 Data Sharing Systems

      9.8 Summary

      Chapter 10 Transactional Middleware Products and Standards

      10.1 Introduction

      10.2 Web Browser Front-End Programs

      10.3 .NET Framework

      10.4 Java Enterprise Edition

      10.5 Service-Oriented Architecture

      10.6 Persistence Abstraction Mechanisms

      10.7 Legacy TP Monitors

      10.8 TP Standards

      10.9 Summary

      Chapter 11 Future Trends

      11.1 Introduction

      11.2 Cloud Computing

      11.3 Scalable Distributed Computing

      11.4 Memory Technology

      11.5 Streams and Event Processing

      11.6 Summary

      Glossary of Acronyms

      Bibliographic Notes



    Product details

    • No. of pages: 400
    • Language: English
    • Copyright: © Morgan Kaufmann 2009
    • Published: June 9, 2009
    • Imprint: Morgan Kaufmann
    • eBook ISBN: 9780080948416

    About the Authors

    Philip 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

    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

    Ratings and Reviews

    Write a review

    There are currently no reviews for "Principles of Transaction Processing"