Principles of Transaction ProcessingBy
- Philip Bernstein, Lead Architect, Microsoft Corporation, Bellvue, WA, USA
- Eric Newcomer, Program manager, Digital Equipment Corporation, Groton, MA, USA
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 Web Application Servers, transactional communications paradigms, and mechanisms for recovering from transaction and system failures.
The use of transaction processing systems has changed in the years since publication of the first edition. Electronic commerce has become a major focus for business data processing investments, from banking and stock purchase on the web, to eBay auctions, to corporate database management. New standards, new technology and products, and new languages allow web services and SOA to become the leading style of design for enterprise applications. And with the help of this book and its rich examples, you will be able to produce the state-of-the-art applications discussed within.
For more information check out Eric Newcomer's blog:
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
Paperback, 400 Pages
Published: June 2009
Imprint: Morgan Kaufmann
- 1. Introduction1.1 The Basics1.2 TP System Architecture1.3 Atomicity, Consistency, Isolation, and Durability1.4 Two-Phase Commit1.5 Transaction Processing Performance1.6 Availability1.7 Styles of Systems1.8 TP System Configurations1.9 Summary2. Transaction Processing Abstractions2.1 Introduction2.2 Transactions2.3 Processes and Threads2.4 Remote Procedure Call2.5 Shared State2.6 Scalability2.7 Summary3. TP Application Architecture3.1 Introduction3.2 Application Architecture3.3 Front-End Program 3.4 Request Controller3.5 Transaction Servers3.6 Transactional middleware3.7 Database Servers vs. Transactional Middleware3.8 Summary4. Queued Transaction Processing4.1 Why Use Queues?4.2 The Queued Transaction Processing Model4.3 Client Recovery4.4 Handling Non-Undo-able Operations4.5 The Queue Manager4.6 Publish-Subscribe4.7 Other Message-Oriented Middleware 4.8 Queuing Products and Standards4.9 Summary5. Business Process Management5.1 Introduction5.2 Business Process Definition5.3 Business Process Execution5.4 Transactional Properties5.5 Making Process State Durable5.6 Other Models of Business Processes5.7 Products and Standards5.8 Summary6. Locking6.1 Introduction6.2 Implementation6.3 Deadlocks6.4 Performance6.5 Hot Spots6.6 Query-Update Problems6.7 Avoiding Phantoms6.8 Optimistic Concurrency Control 6.9 B-Tree Locking6.10 Multigranularity Locking6.11 Locking Nested Transactions6.12 Summary6.13 Appendix - Basic Serializability Theory7. System Recovery7.1 Causes of System Failure7.2 A Model for System Recovery7.3 Introduction to Database Recovery7.4 The System Model7.5 Database Recovery Manager7.6 Shadow-Paging Algorithm7.7 Log-Based Database Recovery Algorithms7.8 Optimizing Restart in Log-Based Algorithms7.9 Media Recovery7.10 Summary8. Two-Phase Commit8.1 Introduction8.2 The Two-Phase Commit Protocol8.3 Failure Handling8.4 Optimizations and Variations8.5 Process Structuring8.6 User Checklist8.7 Summary9. Replication9.1 Introduction9.2 Replicated Servers9.3 Synchronizing Updates to Replicated Data9.4 Single-Master Primary-Copy Replication9.5 Multi-Master Replication9.6 Other Replication Techniques9.7 Data Sharing Systems9.8 Summary10. Transactional Middleware Products and Standards10.1 Introduction10.2 Web Browser Front-End Programs10.3 .NET Framework 10.4 Java Enterprise Edition10.5 Service Oriented Architecture10.6 Persistence Abstraction Mechanisms10.7 Legacy TP Monitors10.8 TP Standards10.9 Summary11. Future Trends11.1 Introduction11.2 Cloud Computing11.3 Scalable Distributed Computing11.4 Memory Technology11.5 Streams and Event Processing11.6 Summary