Concevoir des applications pour fournir des transactions « toutes ou aucune » n’est pas beaucoup plus compliqué que d’incorporer une logique similaire à l’exemple précédent, dans votre structure applicative. Le point essentiel est qu’il faut concevoir la logique d’exécution de sorte qu’il y ait des points clairement identifiés qui définissent
Modèle d’application pour des transactions du genre « toutes ou aucune »
les « limites » des transactions, c’est-à-dire, les points de début et de fin pour chaque type de transaction. Beaucoup d’applications ne demandent qu’un point de contrôle de transaction qui marque l’endroit où la transaction précédente se termine et où la suivante commence.
Un point de fin de transaction est le seul endroit pour coder une opération Commit pour ce genre d’opération, à l’aide d’une logique semblable à celle-ci :
If transaction-successful { Commit } else { Rollback }
Dans ce cas, il faut initialiser la variable d’état au point de début de transaction, de la manière suivante :
transaction-successful = TRUE
Ensuite, dans le code qui exécute les étapes de la transaction (par exemple, calculs et mises à jour de la base de données), on peut utiliser une variante de la logique montrée plus haut :
Update savings table
If error { transaction-successful = FALSE }
else { Update checking table
If error { transaction-successful = FALSE } }
Bien entendu, on pourrait obtenir le même résultat par une variante de la logique de transaction. Il faut surtout éviter d’éparpiller les opérations Commit au fil du code. Tout flux d’exécution devrait aboutir à un point de « fin de transaction », et c’est précisément là que le Commit est à sa place. Veillez aussi à ce que l’exécution atteigne toujours une opération Rollback quand une erreur survient pendant le traitement de la transaction. Vous pouvez utiliser une variable d’état de transaction (comme montré ci-dessus), mettre des opérations Rollback au point de défaillance, ou combiner les deux. Il n’est pas gênant d’exécuter des Rollback superflus ou redondants, pour autant que l’environnement du contrôle de commitment reste actif.
Téléchargez cette ressource
Sécuriser Microsoft 365 avec une approche Zero-Trust
Découvrez comment renforcer la cyber-résilience de Microsoft 365 grâce à une approche Zero-Trust, une administration granulaire et une automatisation avancée. La technologie Virtual Tenant de CoreView permet de sécuriser et simplifier la gestion des environnements complexes, tout en complétant vos stratégies IAM, y compris dans les secteurs réglementés.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- IA dans les services financiers : priorité stratégique, mais passage à l’échelle sous tension
- Data streaming : le nouveau socle stratégique de l’IA en entreprise
- Ransomware en santé : la double extorsion fait exploser la facture en Europe
- Les fuites de données explosent en France, désormais pays le plus touché d’Europe
Articles les + lus
Model Context Protocol : le contexte, grand oublié du débat
Microsoft dévoile MAI-Thinking-1 : un modèle de raisonnement « enterprise-grade » en preview publique
Couchbase lance AI Data Plane pour industrialiser l’IA agentique
Windows 11 : Microsoft généralise le point-in-time restore pour accélérer la remise en service des PC
Computex 2026 : 5 signaux forts à retenir
À la une de la chaîne Tech
- Model Context Protocol : le contexte, grand oublié du débat
- Microsoft dévoile MAI-Thinking-1 : un modèle de raisonnement « enterprise-grade » en preview publique
- Couchbase lance AI Data Plane pour industrialiser l’IA agentique
- Windows 11 : Microsoft généralise le point-in-time restore pour accélérer la remise en service des PC
- Computex 2026 : 5 signaux forts à retenir
