Client et serveur SWIFTNet
SWIFT utilise les termes client et serveur pour décrire l’envoi et la réception. Un client SWIFT est un processus qui appelle swiftNet Link (SNL) pour lancer la communication via SWIFTNet. Dans BizTalk Server, il s’agit de l’adaptateur d’envoi. Un serveur SWIFT est un programme appelé par le SNL lorsque le trafic arrive sur SWIFTNet. Dans BizTalk Server, il s’agit de l’adaptateur de réception.
Ne confondez pas le client et le serveur SWIFT avec le client et le serveur d’entreprise. Par exemple, un client (organization) s’appuie sur les services fournis par un serveur (organization). Si le serveur (organization) souhaite initier une communication avec le client (organization), il doit utiliser une application cliente SNL pour ce faire, et le client (organization) doit disposer d’une application serveur SNL pour recevoir le trafic entrant. Ceci est décrit dans la figure suivante.
SNL suppose que les applications clientes et serveurs sont des exécutables démarrés à partir de l’invite de commandes. Ils sont tous deux liés à la DLL d’API SNL, qui communique avec le processus de instance SNL réel.
Applications clientes SNL
Les applications clientes SNL s’appuient sur l’API SwCall décrite ci-dessous. Techniquement parlant, une application cliente classique peut être décrite comme suit :
Main:
Initialize SNL API
Repeat
Call SwCall API
Until shutdown
Les applications clientes SNL doivent s’exécuter dans un processus dédié, car SNL référence le contexte client par ID de processus. SNL synchronise les appels qui utilisent des ressources Tuxedo avec SwCall. Par conséquent, un seul thread client à la fois peut exécuter efficacement un SwCall.
Le client prend en charge le mode de communication synchrone. Cela signifie que le retour sur le SWCall se produit lorsque la réponse revient du serveur. Le SwCall suivant ne peut être effectué qu’après ce retour.
Applications serveur SNL
Les applications serveur SNL sont légèrement plus complexes que les applications clientes. Les applications serveur inscrivent des fonctions de rappel avant d’effectuer un appel bloquant dans la DLL SNL. Techniquement parlant, une application serveur classique peut être décrite comme suit :
Main:
Initialize SNL API
Call SwRegisterSwCallback, registering the Callback function
Call SwServer, block and receive callbacks
Callback(Request):
Process Request
Return Response
L’application serveur peut appeler l’API SwCall dans la fonction de rappel. Dans certains cas, elle doit appeler SwCall pour pouvoir produire le résultat ou la réponse souhaités. Toutefois, une application serveur ne peut jamais initier une communication sur le réseau. Une application serveur ne peut jamais être une application cliente.
Dans la figure suivante, l’appel intitulé Initialize est une abstraction pour le processus d’initialisation de l’API SNL, qui nécessite plusieurs appels. L’appel intitulé SwCallback() est répété plusieurs fois, et l’appel intitulé SwCall() est facultatif.
Tous les appels entre le serveur et la DLL de l’API SNL sont des appels de fonction synchrone de convention d’appel C standard.
Voir aussi
Présentation de l’architecture des adaptateurs FileAct et InterAct
Architecture de l’adaptateur d’envoi SWIFT
Architecture de l’adaptateur de réception SWIFT