There are different common distributed transaction scenarios. An example of this scenario is a distributed transaction that uses two or more databases. We discussed other scenarios which include those that span a database and message queue together or only multiple message servers. In the end, we will see a scenario with a distributed transaction started by a Java EE client invoking different Java EE components.