Condividi tramite


Transazioni distribuite

I sistemi distribuiti di elaborazione delle transazioni (TP) hanno lo scopo di facilitare le transazioni che interessano risorse eterogenee e che supportano la transazione in ambienti distribuiti. Supportata da un sistema TP distribuito, l'applicazione è in grado di combinare in un'unità transazionale attività molto diverse tra loro, quali il recupero di un messaggio da una coda MSMQ (Microsoft Message Queuing), la memorizzazione del messaggio in un database di Microsoft SQL Server e la rimozione di tutti i riferimenti esistenti a tale messaggio da un database di Oracle Server. Dal momento che interessano più risorse di dati, è importante che le transazioni distribuite applichino le proprietà ACID al fine di garantire la coerenza dei dati tra tutte le risorse.

Un sistema TP distribuito consiste di varie entità cooperanti, come descritto nelle sezioni che seguono. Queste entità sono logiche e possono trovarsi sia su uno stesso computer che su computer differenti.

Monitor di elaborazione delle transazioni (TP)

I monitor TP sono prodotti software collocati tra un'applicazione che supporta le transazioni e un insieme di risorse. Questi monitor consentono di aumentare il più possibile le attività del sistema operativo, semplificare le connessioni di rete e connettere più client a più applicazioni potenzialmente in grado di accedere a più risorse di dati.

Anziché scrivere un'applicazione che gestisca un ambiente distribuito e multiutente, si scrive un'applicazione composta da singole richieste di transazione. Il monitor modifica le dimensioni dell'applicazione come necessario.

Il DTC (Distributed Transaction Coordinator) è il monitor TP di Microsoft Windows 2000.

Gestori delle transazioni

In una transazione distribuita ciascuna risorsa interessata dispone di un gestore delle transazioni (TM) locale che tiene traccia delle transazioni in entrata e in uscita sul computer. Il monitor TP assegna a un TM il compito supplementare di coordinare tutte le attività dei TM locali. Il TM che coordina le attività di transazione è detto TM di primo livello o di coordinazione.

I TM sono in grado di coordinare e gestire tutte le funzioni correlate all'elaborazione delle transazioni, ma non di gestire i dati direttamente. Le attività che interessano direttamente i dati vengono gestite dai gestori delle risorse.

Gestori delle risorse

Un gestore delle risorse è un servizio di sistema che gestisce i dati persistenti o durevoli nei database, le code di messaggi durevoli o i file system transazionali. Il gestore delle risorse memorizza i dati ed esegue il recupero da errori.

SQL Server e il servizio di accodamento dei messaggi offrono gestori delle risorse che prendono parte a transazioni distribuite. Oracle, Sybase, Informix, IBM (per IBM DB2) e Ingres forniscono a loro volta gestori delle risorse compatibili per i propri prodotti di database.

Distributori di risorse

Un distributore di risorse gestisce lo stato non durevole che può essere condiviso. Il distributore di risorse ODBC, ad esempio, gestisce pool di connessioni di database, recuperando ogni connessione quando non è più necessaria.

Vedere anche

Nozioni fondamentali sull'elaborazione delle transazioni