WS-AtomicTransaction – Sviluppo di applicazioni mobile, servizi web, architettura SOA - Codiclick

condividere

WS-AtomicTransaction: sviluppo di app mobili, servizi Web, architettura SOA

Annunci

WS-AtomicTransaction (WS-AT) è un protocollo di transazione interoperabile. Consente il flusso di transazioni distribuite attraverso l'uso di messaggi di servizio Web e si coordina in modo interoperabile attraverso infrastrutture di transazioni eterogenee. WS-AT utilizza il protocollo di esecuzione in due fasi per creare un risultato atomico tra applicazioni distribuite, gestori di transazioni e gestori di risorse.

L'implementazione fornita di WS-AT in Windows Communication Foundation (WCF) include un servizio di protocollo integrato nel gestore delle transazioni Microsoft Distributed Transaction Coordinator (MSDTC). Le applicazioni WCF possono passare le transazioni ad altre applicazioni tramite WS-AT, inclusi i servizi Web interoperabili creati utilizzando la tecnologia di terze parti.

Quando una transazione scorre tra un'applicazione client e un'applicazione server, il protocollo di transazione utilizzato è determinato dall'associazione che il server espone sul terminale client selezionato. Alcuni binding forniti per WCF per impostazione predefinita specificano il protocollo OleTransactions come formato di propagazione della transazione, mentre altri utilizzano per impostazione predefinita la specifica WS-AT. È inoltre possibile modificare a livello di codice la scelta del protocollo di transazione all'interno di un determinato binding.

La scelta del protocollo influenza:

  • Il formato delle intestazioni del messaggio utilizzato per trasferire la transazione dal client al server.
  • Il protocollo di rete utilizzato per eseguire il protocollo di esecuzione in due fasi tra il gestore delle transazioni del client e la transazione del server per risolvere l'esito della transazione.

Se sia il server che il client vengono scritti utilizzando WCF, non è necessario utilizzare WS-AT. È invece possibile utilizzare la configurazione NetTcpBinding predefinita con l'attributo TransactionFlow abilitato, che utilizzerà il protocollo OleTransactions.

Questa specifica definisce i seguenti protocolli per le transazioni atomiche.

conclusione: Il protocollo di terminazione avvia il processo di conferma. Sulla base dei partecipanti iscritti a ciascun protocollo, il Coordinatore inizia con 2PC Volatile e progredisce fino a 2PC Durable. Il risultato finale viene segnalato all'iniziatore.

Impegno in due fasi (2PC): Il protocollo 2PC coordina i partecipanti registrati per raggiungere una decisione di conferma o cancellazione e garantisce che tutti i partecipanti siano informati dell'esito finale. Il protocollo 2PC ha 2 varianti:

  • Volatile 2PC: IL I partecipanti che gestiscono risorse volatili come una cache devono registrarsi con questo protocollo.
  • Durevole 2PC: i partecipanti che gestiscono risorse durevoli come un database devono registrarsi con questo protocollo.

Un partecipante può registrarsi per più di uno di questi protocolli inviando più messaggi di registrazione.