Previous Topic: Virtual IMS Connect ResponderNext Topic: JMS VSE Listen Step


JMS VSE Steps

The following steps are specific to virtual service models that are created using the JMS transport protocol:

During normal operation, the execution flow of the virtual service model is like any other VSE service.

The following graphic uses an overlay to illustrate the flow.

Screen capture of normal operation.

The step with the name Listen is the JMS VSE Listen step. The step with the name Respond is the JMS VSE Respond step. The JMS VSE Live Invocation step is not used.

  1. The Listen step receives a request message and converts it into a VSE request.
  2. The Virtual Service Router step routes the flow to the response selection step.
  3. The VS Image Response Selection step selects a matching transaction from the service image and produces a VSE response.
  4. The Respond step sends one or more response messages in the VSE response.
  5. Return to Step 1.

During live invocation, the execution flow of the virtual service model is more complicated.

The following aspects of asynchronous messaging make live invocation difficult:

As a result, the Live Invocation step and the Respond step are run in a loop.

The following graphic uses an overlay to illustrate the flow.

Screen capture of live invocation.

The step with the name Listen is the JMS VSE Listen step. The step with the name Live Invocation is the JMS VSE Live Invocation step. The step with the name Respond is the JMS VSE Respond step.

  1. The Listen step receives a request message and converts it into a VSE request.
  2. The Virtual Service Router step routes the flow to the live invocation step.
  3. The Live Invocation step forwards the request to the live service.
  4. The Live Invocation step starts listening on every live response queue.
  5. The Live Invocation step receives a single response from any of the live response queues and converts it into a VSE response.
  6. The Respond step returns one response message to the client.
  7. Return to Step 5 and repeat until the Live Invocation step determines that the transaction is complete. Any of the following conditions can cause the Live Invocation step to make this determination:
  8. The Live Invocation step constructs a final VSE response that contains all of the response messages that went through the loop. The step loops a final time to the Respond step.
  9. The Respond step does not send any messages on the final loop. Instead, the Respond step completes the typical VSE state cleanup tasks.
  10. Return to Step 1.