O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Principles of Transaction Processing, 2nd Edition

Book Description

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.

  • 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.
  • Table of Contents

    1. Cover image
    2. Title page
    3. Table of Contents
    4. Copyright
    5. Dedication
    6. Preface
      1. Why Read this Book?
      2. What’s New in this Second Edition?
      3. Summary of Topics
      4. Guidance for Instructors
      5. Acknowledgments
    7. Trademarks
    8. Chapter 1. Introduction
      1. 1.1 The Basics
      2. 1.2 TP System Architecture
      3. 1.3 Atomicity, Consistency, Isolation, and Durability
      4. 1.4 Two-Phase Commit
      5. 1.5 Transaction Processing Performance
      6. 1.6 Availability
      7. 1.7 Styles of Systems
      8. 1.8 TP System Configurations
      9. 1.9 Summary
    9. Chapter 2. Transaction Processing Abstractions
      1. 2.1 Introduction
      2. 2.2 Transactions
      3. 2.3 Processes and Threads
      4. 2.4 Remote Procedure Call
      5. 2.5 Shared State
      6. 2.6 Scalability
      7. 2.7 Summary
    10. Chapter 3. Transaction Processing Application Architecture
      1. 3.1 Introduction
      2. 3.2 Application Architecture
      3. 3.3 Front-End Program
      4. 3.4 Request Controller
      5. 3.5 Transaction Servers
      6. 3.6 Transactional Middleware
      7. 3.7 Database Servers Versus Transactional Middleware
      8. 3.8 Summary
    11. Chapter 4. Queued Transaction Processing
      1. 4.1 Why Use Queues?
      2. 4.2 The Queued Transaction Processing Model
      3. 4.3 Client Recovery
      4. 4.4 Handling Non-Undoable Operations
      5. 4.5 The Queue Manager
      6. 4.6 Publish-Subscribe
      7. 4.7 Other Message-Oriented Middleware
      8. 4.8 Queuing Products and Standards
      9. 4.9 Summary
    12. Chapter 5. Business Process Management
      1. 5.1 Introduction
      2. 5.2 Business Process Definition
      3. 5.3 Business Process Execution
      4. 5.4 Transactional Properties
      5. 5.5 Making Process State Durable
      6. 5.6 Other Models of Business Processes
      7. 5.7 Products and Standards
      8. 5.8 Summary
    13. Chapter 6. Locking
      1. 6.1 Introduction
      2. 6.2 Implementation
      3. 6.3 Deadlocks
      4. 6.4 Performance
      5. 6.5 Hot Spots
      6. 6.6 Query-Update Problems
      7. 6.7 Avoiding Phantoms
      8. 6.8 Optimistic Concurrency Control
      9. 6.9 B-Tree Locking
      10. 6.10 Multigranularity Locking
      11. 6.11 Locking Nested Transactions
      12. 6.12 Summary
      13. 6.13 Appendix: Basic Serializability Theory
    14. Chapter 7. System Recovery
      1. 7.1 Causes of System Failure
      2. 7.2 A Model for System Recovery
      3. 7.3 Introduction to Database Recovery
      4. 7.4 The System Model
      5. 7.5 Database Recovery Manager
      6. 7.6 Shadow-paging Algorithm
      7. 7.7 Log-based Database Recovery Algorithms
      8. 7.8 Optimizing Restart in Log-based Algorithms
      9. 7.9 Media Recovery
      10. 7.10 Summary
    15. Chapter 8. Two-Phase Commit
      1. 8.1 Introduction
      2. 8.2 The Two-Phase Commit Protocol
      3. 8.3 Failure Handling
      4. 8.4 Optimizations and Variations
      5. 8.5 Process Structuring
      6. 8.6 User Checklist
      7. 8.7 Summary
    16. Chapter 9. Replication
      1. 9.1 Introduction
      2. 9.2 Replicated Servers
      3. 9.3 Synchronizing Updates to Replicated Data
      4. 9.4 Single-Master Primary-Copy Replication
      5. 9.5 Multimaster Replication
      6. 9.6 Other Replication Techniques
      7. 9.7 Data Sharing Systems
      8. 9.8 Summary
    17. Chapter 10. Transactional Middleware Products and Standards
      1. 10.1 Introduction
      2. 10.2 Web Browser Front-End Programs
      3. 10.3 .NET Framework
      4. 10.4 Java Enterprise Edition
      5. 10.5 Service-Oriented Architecture
      6. 10.6 Persistence Abstraction Mechanisms
      7. 10.7 Legacy TP Monitors
      8. 10.8 TP Standards
      9. 10.9 Summary
    18. Chapter 11. Future Trends
      1. 11.1 Introduction
      2. 11.2 Cloud Computing
      3. 11.3 Scalable Distributed Computing
      4. 11.4 Memory Technology
      5. 11.5 Streams and Event Processing
      6. 11.6 Summary
    19. Glossary of Acronyms
    20. Bibliographic Notes
    21. Bibliography
    22. Index