O que é um sistema de processamento de transações?
O sistema de processamento de transações é um programa ou software que processa todas as transações que entram e saem de um negócio ou empresa. O sistema repassa as transações uma a uma, como em um caixa eletrônico (ATM) que permite apenas um usuário por vez. O termo “transação”, neste caso, não se refere apenas a aspectos financeiros, mas a solicitações de informações como um todo, como reservar um voo ou simplesmente fazer login em uma conta bancária on-line.
Em contraste direto com um sistema de processamento de transações, existe um sistema de processamento em lote. Este sistema processa várias transações - ou um "lote" de transações - simultaneamente. A principal desvantagem é que as transações processadas não retornam resultados imediatos.
Uma analogia moderna é um arquivo torrent conectado a uma pasta de arquivos. O usuário não pode acessar imediatamente um arquivo até que todos os arquivos da pasta sejam completamente baixados. O processo de transação, pelo contrário, produz resultados em tempo real que criam mais comodidade e menos confusão. Por exemplo, um comprador on-line pode instantaneamente ver o número de produtos disponíveis diminuir à medida que outros compradores estão colocando os produtos no carrinho de compras on-line.
O software ou programa geralmente passa por um teste ACID para se qualificar como um sistema de processamento de transações. ACID significa Atomicidade, Consistência, Isolamento e Durabilidade. Atomicidade refere-se à capacidade do sistema de executar ou renunciar a uma transação na sua totalidade. Por exemplo, o registro em uma conta bancária on-line exige que o usuário insira as informações necessárias. Deixar um campo em branco ou fechar a janela fará com que o usuário perca seu registro.
A consistência em um sistema de processamento de transações significa que o sistema deve operar sob as limitações das restrições de integridade do gerenciamento de banco de dados. Simplificando, a programação deve estar correta. A característica de isolamento significa que cada transação é tratada como separada e diferente, mesmo se as mesmas transações estiverem ocorrendo ao mesmo tempo. A durabilidade do sistema indica que, se uma transação for realizada com sucesso, ela não poderá ser revertida. Em caso de falha do sistema, o programa ainda deve reter os dados por meio de um log codificado.
Além dos recursos necessários que passam no teste ACID, um sistema de processamento de transações também deve ser confiável. Isso significa que o programa tem uma chance mínima ou nula de falhar. Em situações de avaria, a recuperação deve ser rápida e um sistema de backup também entra em ação imediatamente. O sistema também deve ser totalmente acessível apenas a usuários limitados. Por exemplo, um visitante pode escolher qual assento tomar em um voo de avião, mas não pode cancelar um assento reservado por um visitante anterior, uma tarefa que apenas um programador ou equipe experiente pode executar.