Protocolo
El protocolo de Reverse Connections define la secuencia recomendada de operaciones que un daemon debe seguir al comunicarse con la plataforma de Talk2sync.
Este enfoque está diseñado para integraciones en las que el sistema externo se encuentra detrás de un firewall o cuando no es conveniente exponer una capa pública de integración. El daemon puede ejecutarse en un servidor con acceso a Internet mientras continúa comunicándose con el ERP, la base de datos heredada u otra aplicación interna.
Cómo funciona el protocolo
El flujo de reverse connections se basa en un ciclo continuo ejecutado por el daemon. Periódicamente, el daemon consulta a Talk2sync para determinar si la plataforma está solicitando información al sistema externo o si existen actualizaciones que deben almacenarse en el sistema externo.
El proceso general consta de cuatro etapas principales:
- Verificar si Talk2sync está solicitando cambios.
- Enviar productos y órdenes cuando sean solicitados.
- Verificar si Talk2sync está solicitando información para descargar.
- Obtener productos y órdenes y almacenarlos en el sistema externo.
Después de procesar la actividad de sincronización actual, el daemon entra en un período de espera antes de volver a consultar la plataforma de Talk2sync.
Operaciones del protocolo
El protocolo se divide en flujos independientes para productos y órdenes.
Carga de productos
El flujo de carga de productos se utiliza cuando Talk2sync solicita información de productos al sistema externo.
El daemon:
- Determina la marca de tiempo desde la cual deben considerarse los productos.
- Consulta los productos en el sistema externo.
- Transforma los productos al formato de Talk2sync.
- Envía los productos a Talk2sync por páginas.
- Determina si existen productos adicionales.
- Finaliza el envío de productos cuando todos han sido procesados.
Consulta Carga de productos para conocer el flujo completo.
Carga de órdenes
El flujo de carga de órdenes sigue el mismo patrón general que la carga de productos, pero trabaja con órdenes.
El daemon:
- Determina la marca de tiempo desde la cual deben considerarse las órdenes.
- Consulta las órdenes en el sistema externo.
- Transforma las órdenes al formato de Talk2sync.
- Envía las órdenes a Talk2sync por páginas.
- Determina si existen órdenes adicionales.
- Finaliza el envío cuando todas las órdenes han sido procesadas.
Consulta Carga de órdenes para conocer el flujo completo.
Descarga de productos
El flujo de descarga de productos se utiliza cuando Talk2sync tiene productos que deben insertarse o actualizarse en el sistema externo.
El daemon:
- Verifica si existen productos disponibles.
- Obtiene el siguiente producto.
- Transforma y almacena el producto en el sistema externo.
- Informa si la operación de almacenamiento fue exitosa o falló.
- Espera hasta que Talk2sync esté listo para la siguiente transacción.
- Continúa hasta que no haya más productos por procesar.
Consulta Descarga de productos para conocer el flujo completo.
Descarga de órdenes
El flujo de descarga de órdenes sigue el mismo modelo que la descarga de productos, pero trabaja con órdenes.
El daemon:
- Verifica si existen órdenes disponibles.
- Obtiene la siguiente orden.
- Transforma y almacena la orden en el sistema externo.
- Informa si la operación de almacenamiento fue exitosa o falló.
- Espera hasta que Talk2sync esté listo para la siguiente transacción.
- Continúa hasta que no haya más órdenes por procesar.
- Finaliza la transacción de descarga.
Consulta Descarga de órdenes para conocer el flujo completo.
Ciclo recomendado del daemon
El proceso completo de reverse connections puede representarse mediante el siguiente ciclo:
El daemon debe ejecutar este ciclo de manera continua. Cada operación es responsable de completar su transacción correspondiente antes de que el daemon continúe con la siguiente etapa.
Orden de las transacciones
El orden de las operaciones es importante porque el protocolo de reverse connections utiliza los estados de conexión de Talk2sync para coordinar el proceso de sincronización.
Un ciclo típico sigue esta secuencia:
Verificar estado de obtención de cambios
↓
Enviar productos, si son solicitados
↓
Enviar órdenes, si son solicitadas
↓
Verificar estado de descarga
↓
Descargar productos, si son solicitados
↓
Descargar órdenes, si son solicitadas
↓
Esperar
↓
Volver a verificar el estado de obtención
Las operaciones individuales están documentadas en las siguientes secciones:
Consideraciones de implementación
El protocolo de reverse connections es especialmente útil cuando el sistema externo no puede o no debe exponer una interfaz HTTP pública. En su lugar, el daemon inicia la comunicación con Talk2sync y ejecuta las operaciones de sincronización requeridas.
La implementación debe respetar el orden de transacciones definido por el protocolo y esperar al estado correspondiente de Talk2sync antes de continuar con la siguiente operación.
Siguientes pasos
Comienza con la Descripción general del protocolo para revisar el ciclo completo de sincronización.
Después, consulta los flujos específicos: