Forward a specified collection of records

The sequence diagram for forwarding a collection of records is shown below. The last two messages from the ForwardingServerOperation show the communication that occurs when the host returns a failed or timeout response.

UML sequence diagram. See the flow of events that follows.

Flow of events
  1. The forwarder application calls the ForwardingServerOperation, passing an Enumeration of record IDs.
  2. The ForwardingServerOperation takes the first record ID from the collection and retrieves the corresponding stored operation from the STORE table through the StoreService.
  3. The retrieved result, which is a Hashtable, is unformatted and mapped to the context data elements. The operation and the CommonCommunicationsService are passed to the forwarder.
  4. The forwarder uses the Common Communications service to send the host request.
  5. Upon receipt of a successful host response, the forwarder unformats the host response and updates the context before returning the host response to the ForwardingServerOperation.
  6. When the ForwardingServerOperation receives a successful host response, it deletes the record of the stored operation from the STORE table and commits the stored operation. See subflow 6.1 below.
  7. The result of the retrieved, forwarded, and committed stored operation is recorded in the Electronic Journal table. See subflow 7.1 below.
  8. Steps 2-7 are repeated until the last element of the enumeration has been processed.

Subflows

6.1 A failed or timeout host response message rolls back the stored operation in the STORE table.

7.1 The result of the retrieved, forwarded, and rolled-back operation is updated in the Electronic Journal table.