PRINCIPLES OF TRANSACTION PROCESSING FOR THE SYSTEMS PROFESSIONAL
To order this title, and for more information, click here
By Philip Bernstein Eric Newcomer
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.
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
Books and book related electronic products are priced in US dollars (USD), euro (EUR), and Great Britain Pounds (GBP). USD prices apply to the Americas and Asia Pacific. EUR prices apply in Europe and the Middle East. GBP prices apply to the UK and all other countries.