Sincronización genérica de datos

El producto soporta un método de sincronización genérica de datos según el cual cada cambio en una entidad elegible dispara un flujo de sincronización que comunica los detalles sobre la entidad a uno o más sistemas externos.

En los puntos siguientes se describe la funcionalidad general:
  • La integración de una entidad específica (objeto de mantenimiento) y el sistema externo se activa y configura utilizando un registro de lista de valores ampliable de Control de sincronización de datos (F1-DataSyncControl).

  • Las reglas que soportan la integración residen en un script de sincronización al que se hace referencia en el registro de control.

  • Cuando se añade, se cambia o se suprime una entidad, se puede iniciar una solicitud de sincronización para cada integración, según las reglas de negocio definidas por el script de sincronización correspondiente.

  • Las solicitudes de sincronización se procesan en el siguiente proceso de lote de supervisión.

  • Cuando se procesa la solicitud de sincronización, los datos se sincronizan con el sistema externo según las reglas de negocio definidas por el script de sincronización correspondiente.

Esta funcionalidad se soporta con la lógica incluida en la solicitud de sincronización genérica de datos del objeto de negocio base (F1-GenericDataSync). El objeto de negocio no necesita ampliarse para soportar reglas de integración específicas, ya que estas reglas residen en el script de sincronización asociado con cada registro de control de sincronización de datos de integración.

En las secciones siguientes se describen los aspectos clave del enfoque de sincronización de datos.

Control de sincronización de datos

La lista de valores ampliable Control de sincronización de datos (F1-DataSyncControl) define la configuración necesaria para soportar la sincronización de datos en curso de una entidad con un sistema externo. La configuración define el objeto de mantenimiento de la entidad y el sistema externo con el que se sincroniza, además de hacer referencia a un script de sincronización que gestiona las reglas de sincronización específicas para esta integración. Una integración se considera activada cuando su registro de control correspondiente se encuentra en estado activo.

El script de sincronización de datos se llama de los modos siguientes:

  • Cuando se añade, se cambia o se suprime una entidad, el script se llama en modo de comprobación para determinar si debe crearse una solicitud de sincronización para la entidad cambiada y un sistema externo específico.  

  • Cuando se procesa la solicitud de sincronización, el script se llama en modo de proceso para preparar y enviar el mensaje saliente al sistema externo. El script también puede solicitar que se rechace la solicitud o bien indicar que debe procesarse más tarde. Esta última opción puede utilizarse si existe necesidad de esperar a que se cumplan determinadas condiciones antes de enviar el mensaje al sistema externo.

Debe tenerse en cuenta que la configuración de un objeto de mantenimiento y un sistema externo específico se pueden sustituir con otra configuración definida con un número de secuencia mayor. 

Confirmación de que se necesita una sincronización

El producto base incluye un algoritmo de captura de cambio de datos (auditoría de objeto de mantenimiento) F1ONGDATASYN, que se puede utilizar en los objetos de mantenimiento que necesiten sincronizarse mediante este método. El algoritmo consulta el script de sincronización asociado a cada registro de control de integración activo configurado para la entidad, para saber si debe notificarse el cambio al sistema externo. Una vez confirmado, el algoritmo crea un registro de solicitud de sincronización para el registro modificado, capturando el código de objeto de mantenimiento y la clave primaria, junto con el sistema externo correspondiente.

Debe tenerse en cuenta que la decisión relativa a si crear o no una solicitud de sincronización se controla mediante el script de sincronización específico de integración, mientras que la creación de la solicitud de sincronización es responsabilidad del algoritmo de auditoría. Como tal, se utiliza el mismo objeto de negocio de solicitud de sincronización para todas las integraciones, sin provisión para capturar detalles específicos de integración.

Es recomendable diseñar el script de sincronización de forma que solo se apruebe la creación de una solicitud de sincronización cuando sea necesario. De esta forma, se evita la creación innecesaria de estas solicitudes que, en caso contrario, se rechazarían al procesarse finalmente.

Gestión del proceso de sincronización

Cuando se captura una petición de sincronización, se realizan varios pasos antes de enviar cualquier información al sistema externo.

Nota: en esta sección solo se resaltan los pasos clave. Consulte la configuración del objeto de negocio, su ciclo de vida útil y los algoritmos para obtener una perspectiva general de la funcionalidad completa.
  • Cuando se crea un registro de solicitud de sincronización, su estado inicial (Pendiente) está configurado para pasar por un proceso de supervisión por lotes. De esta forma, los cambios que han disparado la solicitud se validan por completo antes de la comunicación con el sistema externo.

  • Cuando se procesa un registro de solicitud de sincronización, el algoritmo de supervisión llama al script de sincronización asociado con el registro de control de integración correspondiente para gestionar el proceso de sincronización. El script de sincronización puede indicar lo siguiente:

    • La solicitud no está preparada para su procesamiento, es decir, debe permanecer en el estado actual y procesarse de nuevo en la siguiente ejecución por lotes.

    • La solicitud debe cancelarse. Esta indicación da como resultado la transición del registro al estado Cancelado.

    • La solicitud se ha procesado correctamente. El script de sincronización ha preparado el mensaje saliente y ha dirigido la información al sistema externo correctamente. Esta indicación da como resultado la transición del registro al estado Enviado.

  • Si se produce un error al procesar la solicitud, se generará una entrada de tarea para capturar los detalles de error y el registro se definirá con estado Error. El reintento de procesamiento de la solicitud de sincronización continuará con cada proceso por lotes hasta que la solicitud se haya enviado o cancelado.

Comunicación con el sistema externo

Por lo general, la comunicación con un sistema externo finaliza cuando el mensaje se envía y procesa correctamente en el sistema externo. Según la integración específica, puede que el mensaje no se procese de forma inmediata en el sistema externo, sino que se ponga en cola y se procese más tarde. En tal situación, es posible que deba acusarse el recibo de la solicitud de sincronización como correctamente procesada (se define con estado Acuse de recibo recibido) hasta que se produzca un mecanismo de respuesta explícita del sistema externo. El producto suministra el servicio web F1-UpdateAndTransitionSyncRequest, que se puede utilizar para procesar los acuses de recibo.