Cliente y servidor de SWIFTNet
SWIFT usa los términos cliente y servidor para describir el envío y la recepción. Un cliente SWIFT es un proceso que llama a SWIFTNet Link (SNL) para iniciar la comunicación a través de SWIFTNet. En BizTalk Server, esto se denomina adaptador de envío. Un servidor SWIFT es un programa al que llama el SNL cuando el tráfico entra a través de SWIFTNet. En BizTalk Server, esto se denomina adaptador de recepción.
No confunda el cliente y el servidor SWIFT con el cliente empresarial y el servidor. Por ejemplo, un cliente (organización) se basa en los servicios proporcionados por un servidor (organización). Si el servidor (organización) quiere iniciar una comunicación con el cliente (organización), debe usar una aplicación cliente de SNL para hacerlo y el cliente (organización) debe tener una aplicación de servidor SNL para recibir el tráfico entrante. Esto se describe en la ilustración siguiente.
SNL supone que las aplicaciones cliente y servidor son ejecutables que se inician desde el símbolo del sistema. Ambos se vinculan al archivo DLL de la API de SNL, que se comunica con el proceso de instancia de SNL real.
Aplicaciones cliente de SNL
Las aplicaciones cliente de SNL se basan en la API SwCall que se describe a continuación. Técnicamente, una aplicación cliente típica se puede describir de la siguiente manera:
Main:
Initialize SNL API
Repeat
Call SwCall API
Until shutdown
Las aplicaciones cliente de SNL deben ejecutarse en un proceso dedicado, ya que SNL hace referencia al contexto de cliente por identificador de proceso. SNL sincroniza las llamadas que usan recursos de Tuxedo a SwCall. Como resultado, solo un único subproceso de cliente a la vez puede ejecutar de forma eficaz un SwCall.
El cliente admite el modo de comunicación sincrónica. Esto significa que la devolución en SWCall se produce cuando la respuesta vuelve del servidor. La siguiente SwCall solo se puede realizar después de este retorno.
Aplicaciones de servidor SNL
Las aplicaciones de servidor SNL son ligeramente más complejas que las aplicaciones cliente. Las aplicaciones de servidor registran las funciones de devolución de llamada antes de realizar una llamada de bloqueo en el archivo DLL de SNL. Técnicamente hablando, una aplicación de servidor típica se puede describir de la siguiente manera:
Main:
Initialize SNL API
Call SwRegisterSwCallback, registering the Callback function
Call SwServer, block and receive callbacks
Callback(Request):
Process Request
Return Response
La aplicación de servidor puede llamar a la API SwCall mientras se encuentra en la función de devolución de llamada. En algunos casos, debe llamar a SwCall para poder generar el resultado o la respuesta deseados. Sin embargo, una aplicación de servidor nunca puede iniciar una comunicación a través de la red. Una aplicación de servidor nunca puede ser una aplicación cliente.
En la ilustración siguiente, la llamada denominada Initialize es una abstracción para el proceso de inicialización de la API de SNL, que requiere varias llamadas. La llamada con la etiqueta SwCallback() se repetirá varias veces y la llamada con la etiqueta SwCall() es opcional.
Todas las llamadas entre el servidor y la DLL de la API de SNL son llamadas de función sincrónicas de convención de llamada de C estándar.
Consulte también
Descripción de la arquitectura de adaptador de FileAct e InterAct
Arquitectura del adaptador de envío de SWIFT
Arquitectura del adaptador de recepción de SWIFT