Execution Mode

The execution mode is a setting that controls the runtime behavior of a virtual service.
dts101
The execution mode is a setting that controls the runtime behavior of a virtual service.
The number of execution modes that are available depends on the steps in the virtual service. For example, if a virtual service does not have a live invocation step, you cannot use the Live Invocation or Learning Mode options.
The execution modes are divided into four categories.
The first category provides virtualized responses:
  • Most Efficient
    This mode is the fastest mode. It does not execute the routing or tracking steps. This mode also restricts generated event tracking.
  • Stand In
    The virtual service environment (
    VSE
    ) responds like it does in Most Efficient mode, except that when it normally sends back an unknown response, it forwards the request to the live system instead.
  • Transaction Tracking
    Fires more events than Most Efficient and remembers transaction flow through sessions. This transactional information is used to help determine why a specific response was chosen for a specific request. This mode does not perform as efficiently as Most Efficient. This mode does not show live system responses; it only shows the response from the service image.
The second category passes requests to the live system:
  • Live Invocation
    Uses the live invocation step of the model to determine a response to the current request. Instead of using the response from the virtual service, it accesses the live service to get the response. The target system of the live invocation controls performance. This mode is also known as pass through or live system.
  • Failover
    The
    VSE
    responds like it does in Live Invocation mode, except that when the live system call fails, the
    VSE
    responds instead.
The third category allows for updating the virtual service as needed:
  • Learning Mode
    This mode is like Image Validation mode, but it automatically "heals" or corrects the virtual service to have the new or updated response from the live system. The next request that is passed into the virtual service automatically sees the new response that was "learned". Not only one system is being checked to learn, but both are, and the live system currently prevails.
  • Image Validation
    Uses both the
    VSE
    and the live system to derive a response to the current request. The responses are logged for applying later to the service image using the View Session and Tracking panel. This mode allows a live comparison between the responses that the
    VSE
    provides and a corresponding live system and, where differences exist, patches or heals the service image to keep in sync with the live system. This mode is also known as live healing mode. This mode is the least efficient mode.
The fourth category allows for dynamic behavior:
  • Dynamic
    Enables the model to determine for each request which of the other modes to use. Performance is, therefore, unpredictable. The only requirement is that the VS Routing step is present in the model after the protocol’s listen step or steps.
The following table shows which transport protocols support which execution modes.
Transport Protocols
Most Efficient
Transaction Tracking
Live Invocation
Learning Mode
Image Validation
Dynamic
Stand In
Failover
HTTP/S
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
IBM MQ Native
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
IBM WebSphere MQ
Yes
Yes
No
No
No
Yes
No
No
JMS
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Standard JMS
Yes
Yes
No
No 
No 
Yes
No
No
RabbitMQ
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Java
Yes
Yes
Yes
Yes
Yes
Yes
No
No
TCP
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
CICS (LINK DTP MRO)
Yes
Yes
No
No
No
Yes
No
No
CICS Transaction Gateway (ECI)
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
IMS Connect
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
SAP RFC via JCo
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
JCo IDoc
Yes
Yes
Yes
Yes
Yes
Yes
No
No
Opaque Data Processing
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes