Orchestration FRR
A4SWIFT implémente FRR via l’orchestration FRR. L’orchestration détermine si le jeton de corrélation de la réponse FIN correspond à l’ID de message du message d’origine. Il traite le message en parallèle avec les fonctions d’envoi effectuées par le port d’envoi qui envoie le message à SAA, et avec les fonctions de réception effectuées par l’emplacement de réception qui reçoit le message de SAA.
Au niveau le plus élevé, un instance de l’orchestration effectue les traitements suivants :
Met en cache une copie du message sortant d’origine lié à SAA en écoutant le MessageBox.
Notes
BizTalk Server crée un instance de l’orchestration quand A4SWIFT achemine le message d’origine vers messageBox.
Attend que A4SWIFT publie une réponse FIN de SAA dans MessageBox.
Définit les propriétés promues de la copie du message d’origine en fonction de la nature de la réponse FIN.
Publie la copie du message d’origine dans messageBox. Les gestionnaires personnalisés peuvent ensuite s’abonner, récupérer et gérer le message en fonction des besoins.
Abonnement aux messages sortants
L’orchestration FRR est directement liée à MessageBox. L’orchestration FRR s’abonne à tous les messages sortants liés au réseau SWIFT qui ne contiennent pas d’erreurs de validation, en s’abonnant aux propriétés suivantes :
A4SWIFT_Failed==False (tel que défini par le processus de validation du désassembleur SWIFT)
A4SWIFT_Swiftbound==True (défini par le processus de configuration du désassembleur SWIFT)
Corrélation message/réponse
BizTalk Server met en corrélation le message FIN sortant d’origine avec le message de réponse FIN entrant en comparant les propriétés suivantes :
Propriété de contexte MQMD_CorrelID de la réponse FIN
Propriété A4SWIFT_FRRCorrelationToken du message MTXYY sortant. Cette propriété est promue par l’étape de résolution de partie du pipeline de réception.
Les valeurs de ces propriétés doivent être identiques. L’étape d’encodeur du pipeline d’envoi des messages liés à SWIFT définit la propriété MQMD_MsgID du message sortant sur la valeur de la propriété A4SWIFT_FRRCorrelationToken. SAA définit la propriété MQMD_CorrelID du message de réponse sur la valeur de MQMD_MsgID.
Définition des propriétés promues
Après avoir reçu une réponse FIN et l’avoir corrélée à la copie du message d’origine, l’orchestration FRR définit les propriétés promues suivantes de la copie du message d’origine en fonction de la nature de la réponse :
A4SWIFT_FRRFailed à True si la réponse était un ACK ou False si la réponse était un NAK
A4SWIFT_FRRFailedReason à l’une des valeurs suivantes, si la réponse était un NAK :
<ErrorCode> (à partir du champ 405 du MTS21_FIN_ACKNAK message d’accusé de réception négatif)
TransportError (à partir d’un message PAN/NAN de série MQ)
DelayedNAK (à partir d’un message MT015 (DNK) )
AbortReceived (à partir d’un message MT019 (notification d’abandon)
A4SWIFT_FRRFailedReason à TimedOut si A4SWIFT n’a pas reçu de réponse dans le délai imparti. Pour plus d’informations sur le délai d’attente frr, consultez la section « Délai d’attente de rapprochement » ci-dessous ou Définition du délai d’expiration du délai d’attente frr.
A4SWIFT_SendingServiceType à A4SWIFT_FrrService
BTS. Opération sur la valeur correspondant au type de réponse de message. Pour plus d’informations, consultez Création des ports d’envoi FRR pour l’envoi aux gestionnaires personnalisés.
A4SWIFT_FrrSendTransport pour un message PAN/NAN de série MQ (ACK/NAK de la série MQ)
A4SWIFT_FrrSend010NDW pour un message MT010 (avertissement de non-remise)
A4SWIFT_FrrSend011Delivered pour un message MT011 (notification de remise)
A4SWIFT_FrrSend012SenderACK pour un message MT012 (notification de l’expéditeur)
A4SWIFT_FrrSend015DNK pour un message MT015 (DNK ou NAK retardé)
A4SWIFT_FrrSend019Abort pour un message MT019 (notification d’abandon)
A4SWIFT_FrrSendS21ACK pour un message d’accusé de réception MTS21_FIN_ACKNAK (ACK d’un message FIN envoyé par un LT)
A4SWIFT_FrrSendS21NAK pour un message d’accusé de réception négatif MTS21_FIN_ACKNAK (NAK d’un message FIN envoyé par un LT)
Liaison directe
Les entrées de réception pour l’orchestration sont définies par les abonnements que l’orchestration effectue à MessageBox. Les propriétés de contexte et les valeurs promues par l’orchestration définissent les sorties d’envoi d’un message que l’orchestration publie dans MessageBox. En raison de cette liaison directe à MessageBox, l’orchestration est dissociée des éléments suivants :
Emplacements de réception physiques qui reçoivent des messages sortants de l’application back-end pour le routage vers SAA
Les ports d’envoi qui envoient des messages FIN sortants à partir de A4SWIFT à SWIFT Alliance Access (SAA)
Emplacements de réception qui reçoivent les messages de réponse FIN entrants de SAA
Files d’attente MQSeries physiques dans lesquelles les réponses FIN sont déposées par SAA
Time-Out de réconciliation
Quand BizTalk Server crée une instance de l’orchestration FRR, l’orchestration commence à attendre des réponses FIN. Au moment de l’exécution, vous devez configurer l’orchestration pour qu’elle expire après une certaine durée, afin qu’elle n’attende pas la réponse indéfiniment. Lorsque la durée du délai d’expiration expire, l’orchestration FRR promeut la propriété A4SWIFT_FRRFailedReason et la définit sur TimedOut. Il publie ensuite des messages dans MessageBox et se termine. Si vous expirez, l’ID de corrélation a disparu.
Vous pouvez créer un gestionnaire personnalisé pour traiter les messages expirés (la copie du message sortant d’origine). A4SWIFT le faire à l’aide d’une forme Écouter dans l’orchestration. Pour plus d’informations, consultez Définition du délai d’attente frr.