Product SiteDocumentation Site

2.3. The Transaction Context

In order for a transaction to span a number of services, certain information has to be shared between those services in order to propagate information about the transaction. This information is known as the Context. The context is often automatically propagated and processed by transaction-aware components of an application:
Contents of a Context
Transaction Identifier
Guarantees global uniqueness for an individual transaction.
Transaction Coordinator Location
The endpoint address participants contact to enroll.
Context Flow
As shown in Figure 1, whenever an application message is sent, the Client API automatically creates a context and embeds it into the message. Similarly, any transaction-aware services are able to extract that context using the service-side infrastructure and use it to perform work within the context of a particular transaction – even though that transaction was initiated elsewhere! The value of this approach is that the business logic contained within the client application and services are not peppered with transaction-processing code.
Figure 2.1. Context Flow