Functional Requirements

The Debulking and Bulking sample application is intended as a demonstration of the use of the debulking and bulking patterns as described in sections 9.6 and 9.7 of the FTM Technical Overview Redbook.

The sample application debulks incoming batch messages and processes each transaction individually. Transactions are then bulked into outgoing batch messages based on a shared value, in the case of this application the value used is the Sender information, or the Debtor identification found in the inbound message. Debulking and Bulking System Interaction shows the system interaction between the system components.

Figure 1. Debulking and Bulking System Interaction
DebulkBulkSampAppSystemInteract.jpg
The client can submit a batch of payments for processing. The payments are processed as follows:
Single Payment

The payment is validated by the system and then placed in a waiting state until a bulking process is triggered.

Batch Payment

The batch and each transaction is validated and then each transaction is checked for a priority value. For each high priority transaction, an outbound transaction is created. The outbound transactions are grouped into a single outbound batch and delivered to the payments gateway immediately. The remaining inbound transactions are placed into a waiting state until the bulking process is triggered. The outbound messages are sent along a different channel dependent on their priority; high priority transactions are placed on a high priority channel while normal priority transactions are placed on a different channel.

The bulking process of the sample application is triggered either by a command issued by the client using the OAC or at a scheduled time. Once the bulking process is triggered, all inbound transactions in the waiting state are collected. No outbound transactions are created for the normal priority payments and are instead bulked directly into outbound batches based on the sender information of the transaction. The bulking process is triggered according to a schedule or can be also be triggered manually by sending an ISF command using the OAC to the Service Participant which bulks the transactions.