Transaction processing system is a program or software that processes all transactions that go in and out of a business or a company. The system goes over the transactions one by one, like in an automated teller machine (ATM) that permits only one user at a time. The term “transaction,” in this case, does not only refer to financial aspects, but to requests for information as a whole, such as booking a flight or just logging into an online bank account.
In direct contrast to a transaction processing system is a batch processing system. This system processes multiple transactions—or a “batch” of transactions—simultaneously. The main disadvantage is that the processed transactions do not return immediate results.
A modern analogy is a torrent file connected to a folder of files. The user cannot immediately access a file until all the files in the folder are completely downloaded. The transaction process, on the contrary, yields real-time results that create more convenience and less confusion. For example, an online shopper can instantly see the number of available products decrease as other shoppers are putting the products into their online shopping cart.
The software or program usually undergoes an ACID test to qualify as a transaction processing system. ACID stands for Atomicity, Consistency, Isolation, and Durability. Atomicity refers to the system’s ability to carry out or forgo a transaction in its entirety. For example, registering for an online bank account requires the user to input necessary information. Leaving a field blank or closing the window will make the user forfeit his registration.
Consistency in a transaction processing system means that the system should operate under the limitations of integrity constraints of database management. Simply put, the programming should be correct. The characteristic of isolation means that each transaction is treated as separate and different, even if the same transactions are occurring at the same time. Durability of the system indicates that if a transaction is successfully carried out, it cannot be reversed. In case of a systems failure, the program should still retain the data through an encoded log.
Aside from the necessary features that pass the ACID test, a transaction processing system should also be reliable. This means the program has a minimum or zero chance of failing. In situations of a breakdown, recovery should be swift, and a backup system also immediately kicks in. The system should also be fully accessible to limited users only. For example, a visitor can choose which seat to take in an airplane flight, but cannot cancel a reserved seat by a previous visitor, a task only an experienced programmer or staff can perform.