This component works with the Store service (see Store) to provide store-and-forward functionality. A store-and-forward system in a financial institution allows host transaction data to be stored so that it can later be forwarded on to the host system. This enables applications to hold onto transaction data information when there is no host communication, and makes the application independent of any occasional failure in the host link.
A forwarder application transmits the stored transaction requests that accumulated while the host was in off-line mode. The Manual Forwarding component provides an example of how you can implement a forwarder. It assumes the transaction records have been added by the application to a specific database table using the Store service (JDBCStore).
Manual forwarding means that an explicit action of the user invokes the forwarding operation. The provided forwarder application is enabled when the system detects a change in the availability of an online resource or when it is initiated by user interaction with a client-side application. The forwarding operation provides the user with the ability to select the stored records that should be forwarded to the host when the host becomes available and to start the forwarding process. The user can select to forward stored transactions singly, by multiple selection, and by criteria, as well as to forward all.
The mode of operation, manual or automatic, does not affect the forwarding operation: it operates in the same way, regardless of how the operation is invoked. Any transaction present in the STORE table can be forwarded. Verification of the operation mode is the responsibility of the store process.
Not all transactions can be executed in off-line mode. Whether a transaction can be executed online versus off-line is determined by the system of the individual institution, which in turn affects the operation definition. An operation that can be executed off-line will include the StoreOperationStep in its definition. This step will enter the operation as a host-ready formatted string in the STORE table, which can be selectively accessed by the forwarder and sent on to the host. This is summarized in the following sequence diagram:
At the end of the forwarding process, the system displays any failed forwarded transactions, and it is up to the client application to determine the subsequent actions or options for resolving the failures.