O software de gerenciamento de transações para automação do fluxo de trabalho é uma parte essencial de qualquer setor que envolva o processamento de transações, incluindo comércio eletrônico, finanças, hotelaria e qualquer negócio que exija o gerenciamento preciso de bancos de dados.
Essencialmente, o software de gerenciamento de transações depende do conceito de atomicidade para definir uma transação singular como uma série de operações que devem ser todas concluídas, ou nenhuma será considerada concluída. Em outras palavras, para manter a consistência dos dados, um sistema de gerenciamento de transações garante que uma transação nunca possa ser parcialmente concluída.
Por exemplo, quando uma pessoa tenta sacar dinheiro em um caixa eletrônico, um software de gerenciamento de transações processa as consultas e alterações necessárias no banco de dados para verificar o saldo de sua conta, subtrair o valor solicitado, atualizar os registros do banco e liberar o dinheiro dispensado. Todas essas etapas são consideradas como uma nova transação, e o sistema de gerenciamento de transações garante que todo o processo seja concluído para evitar inconsistências no banco de dados e preservar a exatidão dos registros.
Durante uma transação, o estado do banco de dados correlacionado está em fluxo e é considerado inconsistente. Durante esse período, uma transação pode executar qualquer número de operações de leitura e/ou gravação, seja lendo o banco de dados para fornecer informações (como verificar o saldo de uma conta bancária) e/ou gravando novas informações no banco de dados (como atualizar o saldo de uma conta após um saque). Somente depois que a transação for totalmente concluída, o banco de dados poderá retornar a um novo estado consistente.