Pages enfant
  • 3.3.1 Le modèle (one-sessionper- request, one-sessionper- command)

Relu

Relecture RB faite le 17/02/2011

On considère comme atomique les opérations suivantes :

  • Une requête HTTP de l'utilisateur,
  • Une commande batch de l'administrateur.

Cela veut dire que s'il se produit quoi que ce soit d'imprévu (une exception)  au cours d'une de ces opérations atomiques, alors on rejette l'opération complète, sinon on la valide. On est ainsi sûr de la cohérence de la base de données.

De manière schématique, une de ces opérations, en interne dans esup-commons, se traduit par la succession des actions suivantes :

  1. Commencer
  2. Ouvrir ou récupérer une connexion aux bases de données
  3. Ouvrir une session
  4. Ouvrir une transaction
  5. Faire ce qu'il y a à faire
  6. Annuler la transaction (rollback, en cas d'exception) ou la valider (commit, sinon)
  7. Fermer la session
  8. Finir
  • Aucune étiquette