Traitement des transactions avec validation en deux phases

Cette rubrique explique ce qui se passe avec la transaction de validation en deux phases (2PC) pendant qu’elle est traitée par Microsoft Distributed Transaction Coordinator (DTC) dans COM+, Transaction Integrator (TI) et CICS.

Le processus commence lorsque l’application cliente appelle une méthode sur l’application .NET qui contient l’objet TI. .NET alloue ensuite un thread pour la transaction à partir de son pool de threads utilisateur, commence la transaction et passe les paramètres d’entrée de la méthode à l’environnement d’exécution TI. Ce thread est bloqué pour la transaction jusqu’à ce que la réponse soit renvoyée par l’hôte CICS. Il s’agit de l’unité de temps de travail, qui se compose principalement du temps nécessaire à l’application CICS pour traiter la logique métier des transactions et accéder à la base de données en fonction des besoins (en supposant que les vitesses de transmission se poursuivent avec la vitesse du réseau local). Lorsque les paramètres de sortie de la méthode sont renvoyés à .NET à partir de l’hôte, le message de validation est envoyé à DTC.

DTC active la phase de préparation des transactions, provoquant l’allocation d’un thread à partir de son pool de threads 2PC et le maintien du blocage jusqu’à ce que le message de validation de la demande arrive de l’hôte. Une fois que toutes les branches des transactions sont préparées, DTC envoie un message commit Complete à .NET, puis envoie les paramètres de sortie de la méthode et retournent les valeurs à l’application cliente appelante et libère le thread.

Cela termine la transaction pour l’utilisateur, mais les analyseurs de transactions (DTC et CICS) doivent toujours effectuer la deuxième phase de la validation, et une fois encore, un thread du pool de threads TI 2PC est alloué pour chaque transaction en cours de la deuxième phase de la validation.

Voir aussi

Programmes transactionnels avec durée d’exécution longue
Intégrateur de transactions - Guide des performances