Chapter 2. Transaction Processing Abstractions
Introduction
Transactions
Processes and Threads
Remote Procedure Call
Shared State
Scalability
Summary
2.1. Introduction
This chapter discusses five software abstractions that are used heavily in TP systems:
-
Transactions
-
Processes and threads
-
Remote procedure calls
-
Transaction context, sessions, and other techniques for managing shared state
-
Caching, resource pooling, partitioning, and replication
These
abstractions involve both the application programming interface and
mechanisms to support it. Understanding them is fundamental to
developing and engineering a TP system.
We
start with the transaction abstraction, where we focus on the semantics
of the programming model. We present pseudocode that illustrates how a
transaction is delimited and thus establishes the relationship between
a program and the TP infrastructure. This sets the stage to discuss the
significant abstractions relevant to that infrastructure-processes,
threads, and remote procedure call-where the focus shifts from the
programming model to how the mechanisms work. Then we present the main
abstractions involved in state management, which are at the core of the
leading programming and deployment models used in transactional
middleware. Finally, we talk about abstractions that are used to
enhance the performance and scalability of TP applications: caching of
state; pooling of sessions, threads, and other resources; and
partitioning and replication of databases and server processes.
|