We have already discussed the end user's view of transactions: transactions are ACID execution units that either commit or abort. If a transaction commits, its effects are durable. If a transaction aborts, its effects are undone. Applications,resource managers, and transaction managers cooperate to implement the ACID properties. Let's look at the role of each of these participants.