It became clear to me that I had a story to tell and that I had to write this book. It took a long time. They must be accessible by multiple users on internal networks' machines and the Internet, running both browser-based and custom client applications. They must use multiple server machines to handle a high volume of client requests concurrently. They must be robust in the face of failure.
Transactions are at the center of the programming model.
They provide a standard model for protecting distributed system state in the face of both concurrent access and system failure. The components in a system communicate using a variety of protocols. It first assumed this position in the Windows DNA framework, and it retains it as we move forward into the .NET arena. You cannot write software to solve a problem unless you understand the problem's essential nature and general solution, as well as the full details of the technology you are using. To that end, in the abstract, this book is about the design of scalable systems.