Previous Topic: Understanding VSE TransactionsNext Topic: Navigation Tolerance


Stateless and Conversational VSE Transactions

VSE transactions are classified as stateless or conversational.

Stateless Transactions

Stateless transactions include no logical relationships between transactions. For example, HTTP and SOAP are stateless protocols. A stateless transaction always has a static response, regardless of what calls were made previously.

In a stateless conversation, each service call is independent of the others. For example:

Conversational or Stateful Transactions

Conversational transactions (conversations) are stateful. Conversations consist of:

A transaction in a conversation always depends on the context that earlier conversations create.

For example, the following stateful conversation involves using an ATM:

  1. Connect to the ATM. (Operation: logon)
  2. Which account do you want? (arg1-checking)
  3. What is my balance? (Operation: balance)
  4. Response.
  5. Withdraw an amount of money. (Operation: withdrawal)
  6. How much? (arg2-amount)
  7. What is my balance? (Operation: balance)
  8. Response (different based on the amount that was withdrawn in the previous request).
  9. End session (Operation: log out)
Conversation Starters

The first transaction in a conversation is the conversation starter. When VSE receives an incoming request, it reviews the conversation starters to determine whether the transaction means we are starting a new conversation.

Because all the transactions in a conversation are related to each other, VSE must have a way of determining this relationship. This determination is typically made by using some kind of special token such as "jsessionid" or a cookie in web transactions, or a custom identifier in message traffic.

DevTest supports the following types of conversations:

Instance-based conversations

The protocol layer is responsible for identifying the unique string, which is based on different instances of the client. The string identifies server-side sessions for both recording and playback of the service image.

Token-based conversations

VSE generates the token using a string generation pattern that is stored with the conversation in the service image. After the token is generated, it operates the same as an instance-based conversation. Token-based conversations cannot be automatically inferred during recording. To specify where tokens are found, use the VS Image Recorder.