How the Sterling B2B Integrator Supports the Use of Input Channels and Queues
To support the use of input channel, the Sterling B2B Integrator includes the following functionality:
- Ability to create a new input channel
- Ability to delete an existing input channel
- Ability to open an input channel
- Ability to close an input channel
- Ability to monitor input channel status. The input channel status resides in an application database table (SWNET_CHANNEL) to allow the message traffic to be synchronized with SWIFT. Each operation related to the input channel checks this status before proceeding to the next step.
- Support for local processing. If a message was sent when the input channel is closed or down, the message is stored locally in a database. When the input channel is open again, it is resent to SWIFT. This local processing support is only available when the message is sent using the input channel.
- An automatic process to resend messages. The Sterling B2B Integrator provides a predefined scheduler business process to automate the resend process. This business process checks both unsent messages (stored in local processing) as well as unacknowledged messages to be resent when the input channel is available again.
- An automatic process to resolve sequence gaps. SWIFT only acknowledges messages when all messages that have a lower sequence number have been acknowledged by SWIFT. However, when there is a persistent error, it creates a gap because there is not an acknowledgement for a subsequent message number, and this error will eventually become a bottleneck. The only way to resolve this gap is by sending a Resolve Gap request to SWIFT. So, when the Sterling B2B Integrator resend attempts exceed the maximum resend attempts setting that you have configured, Sterling B2B Integrator automatically sends the Resolve Gap request to SWIFT to resolve the gap, so SWIFT will then continue processing with the subsequent sequence number.
- Ability to automatic open the input channel when the SWIFTNet Server Adapter or SWIFTNet7 Adapter is started and closing the input channel when the SWIFTNet Server Adapter or SWIFTNet7 Adapter is stopped. When the SWIFTNet Server is started, it triggers a callback to the Sterling B2B Integrator that bootstraps a predefined business process to open the input channel (if you have configured it to use input channel). During the shutdown process, the SWIFTNet Server is not stopped immediately. The request to shut down is delayed to ensure that there is no gap in the input channel and all requests has been acknowledged. Once all gaps are resolved, the Sterling B2B Integrator automatically triggers a predefined business process to close the input channel and then automatically disables the SWIFTNet Server Adapter or SWIFTNet7 Adapter and shuts down the SWIFTNet Server.
- Automatic synchronization after the input channel is opened (in force mode) and before the input channel is closed, to ensure all gaps are resolved and each sequence number is acknowledged. This also ensures that the messaging interface assigns the correct sequence number for new messages each time a new input session begins.
- Automatic traffic throttling, which is used in conjunction with the input channel status monitoring to provide an automatic switch to local processing mode when the message traffic has exceeded SWIFT capacity. The resend scheduler business process handles the resend operation of the unsent messages when the capacity resume to normal.
Support for Local Processing
If a message is sent when the input channel is closed, down, or during synchronization, the message is temporarily stored locally in the Sterling B2B Integrator database. When the input channel is open, the message is resent to SWIFT.
The SWIFTNet Client or SWIFTNet7 Client service indicates if a message is stored locally in the Advance Status column when you view the service instance.
Automatic Process to Resend a Message
The resend scheduler automatically handles the resend process for both unacknowledged messages and unsent messages (from local processing) when the input channel status allows it. The resend scheduler invokes the predefined SWIFTNetClientResend or SWIFTNet7ClientResend business process to perform the resend of the message.
You do not need to supply any parameters to the predefined SWIFTNetClientResend or SWIFTNet7ClientResend business process because all necessary information is passed dynamically by the resend scheduler. Therefore, all resend processes are handled automatically.
Automatic Process to Resolve a Sequence Gap
SWIFT only acknowledges messages when all messages with a lower sequence number have already been accounted for (acknowledged) by SWIFT. However, when there is a persistent error, this creates a gap (no acknowledgement for the subsequent message number) and may eventually become a bottleneck. The only way to resolve this gap is to send a Resolve Gap request to SWIFT.
When this occurs, the resend scheduler automatically sends a Resolve Gap request when the retry count has exceeded the maximum retry attempts configured in the SWIFTNet Server Adapter or SWIFTNet7 Adapter. The resend scheduler invokes the predefined SWIFTNetClientResend or SWIFTNet7ClientResend business process to send the Resolve Gap request to SWIFT.
You can track the Resolve Gap request in the SWIFTNet Correlation Search Interface if you wish.