Architecting Distributed Transactional Applications
by Guy Harrison, Andrew Marshall, Charles Custer
Chapter 1. Planning for a Distributed Transactional Application
This report is an architectural guide for software professionals who are considering implementing a distributed transactional application.
A distributed application is an application implemented on multiple networked computers. A transactional application is an application that can correctly process simultaneous updates from multiple users.
As we’ll see in subsequent sections, distributed applications—and increasingly transactional distributed applications—are rapidly becoming the new normal for modern software products. This is because the combination of transactional and distributed technologies allows for greater application resilience, scalability, and correctness—mandatory attributes for modern applications.
However, distributed applications pose unique challenges, and implementing transactional behavior in a distributed context is particularly tricky. The advantages of the distributed transactional architecture are undeniable—but so are the problems and the risks!
This report is for software developers, architects, and operational staff who want to understand the benefits and challenges of distributed transactional software architecture. We try not to assume any specific technology background, but some familiarity with databases, software development frameworks, and cloud services would be advantageous.
After reading this report, we hope you’ll have a good handle on the business and technology motivations for ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access