From the authors' Preface
This book will show you how large, distributed heterogeneous computer systems can be
mode to work reliably. The design, implementation, and operation of large application
systems-with thousands of terminals, employing hundreds of computers with absolutely
no downtime-cannot be realized from a single perspective. The distributed systems prob-
lem requires an integrated (and integrating) methodology. Transactions provide this inte-
grative conceptual framework, and distributed transaction-oriented operating systems are
the enabling technology.
In short, without transactions, distributed systems cannot be made to work for typical real-life
applications-a lesson many system implementors and application developers have
learned the hard way. This book shows how to apply transaction concepts to distributed
systems and how to use them to build high-performance, high availability applications with
finite budgets and risk.
Our goal is to help you solve real problems and our presentation is focused on only one
or two viable approaches to each problem, together with the reasons why they are viable.
The presentation is also broad in that it presents transaction processing from a systems
perspective. Making large systems work requires a genuine end-to-end attitude, from the
point at which a request comes in until the final result is safely delivered. This necessarily
involves presentation management in the terminals, communication subsystems, operating
systems, databases, programming language run-time systems, and the application devel-
opment environment. Key decisions depend on educated judgment and adherence to
good engineering principles-pragmatic criteria. We believe that these principles, derived
from the basic concept of transaction-oriented processing, will be the basis of computing
for many years to come.