Home | Site map | Elsevier websites | Alerts
Elsevier
Product information search
Search all Elsevier sites
Search
Advanced Product Search
Go to Elsevier home page
SiteStat.jsp
PRINCIPLES OF TRANSACTION PROCESSING FOR THE SYSTEMS PROFESSIONAL
Principles of Transaction Processing for the Systems ProfessionalTo 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

Bibliographic details
Paperback, 364 pages, publication date: NOV-1996
ISBN-13: 978-1-55860-415-5
ISBN-10: 1-55860-415-4
Imprint: MORGAN KAUFFMAN

Price and Ordering
Price:
EUR 61.95
GBP 40.99
USD 71.95
order now
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.
See also information about conditions of sale & ordering procedures, and links to our regional sales offices.

077/762
Last update: 27 Sep 2008
Book contents
Table of contents
Reviews
View other people's reviews
Submit your review
Bookmark this page
Recommend this publication
Overview of all books
Printer-friendly version   Printer-friendly version
 Home | Site map | Privacy policy | Terms and Conditions | Feedback | A Reed Elsevier company
 Copyright © 2008 Elsevier B.V. All rights reserved.