A typical enterprise application accesses and stores information in one or more databases. Because this information is critical for business operations, it must be accurate, current, and reliable. Data integrity would be lost if multiple programs were allowed to simultaneously update the same information. Also, it would be lost if a system that failed while processing a business transaction were to leave the affected data only partially updated. By preventing both of these scenarios, software transactions ensure data integrity.
Transactions control the concurrent access of data by multiple programs.
In the event of a system failure, transactions make sure that after recovery the data will be in a consistent state. Currently, this chapter discusses transactions only for enterprise beans. Subsequent versions will also discuss transactions for web components.