The forwarder uses the Store service to retrieve transactions for posting and for removing each successfully forwarded entry from the STORE table. It uses the Journal service to update the record in the Journal table with the result of each forward request. From a larger perspective, it relies on the Common Communications Service interface to send transactions in string format and to receive availability information from the communications middleware.
The forwarder provides the core ability to retrieve and transmit the string-formatted host requests from the STORE table, with some flexibility in the selection options for groups of records. To facilitate this functionality, all operations to be forwarded must be stored in the same table, even though different types of operations may have different data fields. The forwarder is responsible for recording the proper status for each transaction in the STORE table and the Journal, which it accomplishes by using the forwarding-specific APIs supplied by the JDBCStore service and Journal service. It is also responsible for ensuring that database operations against the STORE table and journal table are appropriately committed or rolled back.
The forwarder requires the JDBCStore service and its interface to retrieve the transaction records that need to be forwarded. Although it also uses the JDBCJournal service, to update records in the journal table, this is not so strong a dependency and you may remove this dependency if required.