WS-AtomicTransaction – Développement d'applications mobiles, services web, architecture SOA - Technologie
Aller au contenu

WS-AtomicTransaction – Développement d'applications mobiles, services Web, architecture SOA

Annonces

WS-AtomicTransaction (WS-AT) est un protocole de transaction interopérable. Il permet le flux de transactions distribuées grâce à l'utilisation de messages de service Web et coordonne de manière interopérable des infrastructures de transaction hétérogènes. WS-AT utilise le protocole d'exécution en deux phases pour créer un résultat atomique entre les applications distribuées, les gestionnaires de transactions et les gestionnaires de ressources.

L'implémentation fournie de WS-AT dans Windows Communication Foundation (WCF) inclut un service de protocole intégré au gestionnaire de transactions Microsoft Distributed Transaction Coordinator (MSDTC). Les applications WCF peuvent transmettre des transactions à d'autres applications via WS-AT, y compris des services Web interopérables créés à l'aide de technologies tierces.

Lorsqu'une transaction circule entre une application cliente et une application serveur, le protocole de transaction utilisé est déterminé par la liaison que le serveur expose sur le terminal client sélectionné. Certaines liaisons fournies pour WCF spécifient par défaut le protocole OleTransactions comme format de propagation de transaction, tandis que d'autres utilisent par défaut la spécification WS-AT. Vous pouvez également modifier par programmation le choix du protocole de transaction dans une liaison donnée.

Le choix du protocole influence :

  • Format des en-têtes de message utilisés pour faire passer la transaction du client au serveur.
  • Protocole réseau utilisé pour exécuter le protocole d'exécution en deux phases entre le gestionnaire de transactions client et la transaction serveur afin de résoudre le résultat de la transaction.

Si le serveur et le client sont écrits à l'aide de WCF, vous n'avez pas besoin d'utiliser WS-AT. Au lieu de cela, vous pouvez utiliser la configuration NetTcpBinding par défaut avec l'attribut TransactionFlow activé, qui utilisera le protocole OleTransactions.

Cette spécification définit les protocoles suivants pour les transactions atomiques.

conclusion: Le protocole de terminaison démarre le processus de confirmation. En fonction des participants inscrits à chaque protocole, le coordinateur commence par 2PC Volatile et progresse jusqu'à 2PC Durable. Le résultat final est signalé à l'initiateur.

Engagement en deux phases (2PC) : Le protocole 2PC coordonne les participants inscrits pour parvenir à une décision de confirmation ou d'annulation et garantit que tous les participants sont informés du résultat final. Le protocole 2PC a 2 variantes :

  • Volatil 2PC : Le Les participants gérant des ressources volatiles telles qu'un cache doivent s'enregistrer auprès de ce protocole.
  • 2 pièces durables: Les participants gérant des ressources durables telles qu'une base de données doivent s'enregistrer auprès de ce protocole.

Un participant peut s'inscrire à plusieurs de ces protocoles en envoyant plusieurs messages d'inscription.