With the 2PC protocol, a task is one invocation of a CICS transaction, and each task can update multiple database management systems (DBMSs).
The processing example in the following figure depicts a task. The CICS task establishes sessions on the appropriate DBMSs and issues the updates.
A set of updates, such as Updates 1A, 1B, and 1C in the example below, take the multiple databases from one state to another (in this case, from the initial state to State 1).
The set of updates is referred to as a logical unit of work. After each logical unit of work is completed, there is a commit or rollback.
If a failure occurs so that a logical unit of work cannot be completed, the logical unit of work becomes a unit of recovery.
The data can be recovered only back to the last completed logical unit of work.
Note that an update within a database session is occasionally referred to as a transaction.