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 ...

Get Architecting Distributed Transactional Applications now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.