Rubrique précédente: Introduction aux transactions de VSERubrique suivante: Tolérance de navigation


Transactions sans état et conversationnelles du VSE

Les transactions du VSE sont classées comme stateless (Sans état) ou conversational (Conversationnelle).

Stateless Transactions (Transactions sans état)

Les transactions sans état n'incluent aucune relation logique entre les transactions. Par exemple, HTTP et SOAP sont des protocoles sans état. Une transaction sans état contient toujours une réponse statique, indépendamment des appels précédents.

Dans une conversation sans état, chaque appel du service est indépendant des autres. Par exemple :

Conversational/Stateful Transactions (Transactions conversationnelles/avec état)

Les conversations comprennent des transactions avec état. Les conversations comprennent la transaction logique qui, en cas de correspondance, démarre une session unique et les informations nécessaires à la création et l'identification de cette session. Une transaction dans une conversation dépend toujours du contexte créé par les conversations précédentes.

Voici un exemple d'une conversation avec état qui implique l'utilisation d'un guichet automatique.

  1. Connectez-vous au guichet automatique. (Opération : connexion)
  2. Quel compte voulez-vous utiliser ? (arg1-vérification)
  3. Quel est mon solde ? (Opération : solde)
  4. Réponse
  5. Retirer une somme d'argent (Opération : retrait)
  6. Combien ? (arg2-montant)
  7. Quel est mon solde ? (Opération : solde)
  8. Réponse (différente en fonction du montant retiré dans la demande précédente).
  9. Terminer la session (Opération : déconnexion)
Démarreurs de conversations

La première transaction d'une conversation est appelée démarreur de conversations. Lorsque le VSE reçoit une demande entrante, il consulte les démarreurs de conversations pour déterminer si cette transaction signifie une nouvelle conversation.

Toutes les transactions d'une conversation étant liées les unes aux autres, le VSE doit pouvoir déterminer cette relation. En général, un type de jeton spécial est utilisé dans les transactions (par exemple, jsessionid), un cookie dans les transactions Web, ou un identificateur personnalisé dans le trafic de messages.

DevTest prend en charge les types de conversations suivants :

Conversations basées sur une instance

La couche de protocole est chargée d'identifier la chaîne unique, basée sur différentes instances du client. Cette chaîne est utilisée pour identifier des sessions côté serveur pour l'enregistrement et la lecture de l'image de service.

Conversations basées sur une jeton

Le VSE génère le jeton à l'aide d'un modèle de génération de chaînes, stocké avec la conversation dans l'image de service. Une fois le jeton généré, il fonctionne de la même manière qu'une conversation basée sur une instance. Vous ne pouvez pas déduire automatiquement des conversations basées sur le jeton pendant l'enregistrement. Pour spécifier l'emplacement des jetons, utilisez l'enregistreur d'image de service virtuel.