Che cos’è un sistema di elaborazione delle transazioni?

Il sistema di elaborazione delle transazioni è un programma o un software che elabora tutte le transazioni in entrata e in uscita da un’azienda o da un’azienda. Il sistema esamina le transazioni una alla volta, come in un bancomat (ATM) che consente un solo utente alla volta. Il termine “transazione”, in questo caso, non si riferisce solo agli aspetti finanziari, ma alle richieste di informazioni nel loro insieme, come la prenotazione di un volo o il semplice accesso a un conto bancario online.

In contrasto diretto con un sistema di elaborazione delle transazioni è un sistema di elaborazione batch. Questo sistema elabora contemporaneamente più transazioni o un “batch” di transazioni. Lo svantaggio principale è che le transazioni elaborate non restituiscono risultati immediati.

Un’analogia moderna è un file torrent collegato a una cartella di file. L’utente non può accedere immediatamente a un file fino a quando tutti i file nella cartella non sono stati completamente scaricati. Il processo di transazione, al contrario, produce risultati in tempo reale che creano più convenienza e meno confusione. Ad esempio, un acquirente online può immediatamente vedere diminuire il numero di prodotti disponibili mentre altri acquirenti inseriscono i prodotti nel loro carrello della spesa online.

Il software o il programma di solito viene sottoposto a un test ACID per qualificarsi come sistema di elaborazione delle transazioni. ACID è l’acronimo di Atomicità, Coerenza, Isolamento e Durabilità. L’atomicità si riferisce alla capacità del sistema di eseguire o rinunciare a una transazione nella sua interezza. Ad esempio, la registrazione per un conto bancario online richiede all’utente di inserire le informazioni necessarie. Lasciando un campo vuoto o chiudendo la finestra, l’utente perderà la sua registrazione.

La coerenza in un sistema di elaborazione delle transazioni significa che il sistema dovrebbe operare sotto i limiti dei vincoli di integrità della gestione del database. In poche parole, la programmazione dovrebbe essere corretta. La caratteristica dell’isolamento significa che ogni transazione è trattata come separata e diversa, anche se le stesse transazioni avvengono contemporaneamente. La durabilità del sistema indica che se una transazione viene eseguita correttamente, non può essere annullata. In caso di guasto del sistema, il programma dovrebbe comunque conservare i dati attraverso un registro codificato.

A parte le funzionalità necessarie che superano il test ACID, anche un sistema di elaborazione delle transazioni dovrebbe essere affidabile. Ciò significa che il programma ha una probabilità minima o nulla di fallimento. In situazioni di avaria, il ripristino dovrebbe essere rapido e anche un sistema di backup dovrebbe intervenire immediatamente. Il sistema dovrebbe inoltre essere completamente accessibile solo agli utenti limitati. Ad esempio, un visitatore può scegliere quale posto prendere in un volo aereo, ma non può cancellare un posto riservato da un visitatore precedente, un’attività che solo un programmatore esperto o il personale può svolgere.