Previous Topic: Magic DatesNext Topic: Stateless and Conversational VSE Transactions


Understanding VSE Transactions

A transaction, as it applies to CA Service Virtualization, is a complete unit of work that a service performs. A transaction includes the request that the client sends to the service and the response that the service sends to the client.

With most service protocols, including web services, HTTP, and Java, transactions happen synchronously. The request and response are directly related to each other.

With web services and HTTP, the request and response are contained in a single socket connection, and the response typically follows the request. With Java, the request and response are contained in a single thread. The response (the return value) always follows the request (a method call).

Messaging is different because it is asynchronous. The request and response messages do not have to occur in the same socket connection, the same thread, or even in the same day. The client sends a request message and continues working while waiting for the response. When the response is sent from the service, the client receives it and matches it to the original response, completing the transaction.

A transaction typically has only one response (for example, in the case of an HTTP responder). However, the messaging protocol can return multiple responses from a single request.