Sincronización de Datos Genérica

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

En los siguientes puntos, se describe la funcionalidad en un nivel alto:
  • La integración de una entidad específica (objeto de mantenimiento) y un sistema externo se activa y se configura mediante un registro de lista de valores ampliada Control de Sincronización de Datos (F1-DataSyncControl).

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

  • Cuando se agrega, modifica o suprime una entidad, se puede iniciar una solicitud de sincronización para cada integración de acuerdo con las reglas de negocio definidas por el script de sincronización correspondiente.

  • Las solicitudes de sincronización se procesan mediante el siguiente proceso de lote de monitoreo.

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

Esta funcionalidad está respaldada por la lógica suministrada en el objeto de negocio base Solicitud de Sincronización de Datos Genérica (F1-GenericDataSync). No es necesario ampliar este objeto de negocio para soportar reglas de integración específicas, ya que estas reglas residen en el script de sincronización asociado con el registro de control de sincronización de datos de cada integración.

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

Control de Sincronización de Datos

La lista de valores ampliada Control de Sincronización de Datos (F1-DataSyncControl) define la configuración necesaria para soportar una sincronización de datos continua de una entidad a un sistema externo. La configuración define el objeto de mantenimiento de la entidad y el sistema externo con el que está sincronizado, y hace referencia a un script de sincronización que administra las reglas de sincronización específicas para esta integración. Una integración se considera activada cuando su registro de control correspondiente tiene el estado activo.

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

  • Cuando se agrega, modifica o suprime la entidad, se llama al script en modo de Control a fin de determinar si se debe crear una solicitud de sincronización para la entidad modificada y un sistema externo específico.

  • Cuando se procesa la solicitud de sincronización, se llama al script en modo de Proceso para preparar y enviar el mensaje de salida al sistema externo. De manera alternativa, el script puede solicitar desechar la solicitud o indicar que debe procesarse más tarde. Esta última opción puede utilizarse cuando es necesario esperar hasta que se cumplan ciertas condiciones antes de enviar el mensaje al sistema externo.

Tenga en cuenta que la configuración de un objeto de mantenimiento y un sistema externo específico puede ser sustituida por otra configuración definida con un número de secuencia más alto.

Confirmación de que una sincronización es necesaria

El producto base proporciona un algoritmo de captura de datos cambiados (Auditoría de Objeto de Mantenimiento) F1ONGDATASYN que puede ser utilizado por los objetos de mantenimiento que necesitan sincronizarse mediante este método. El algoritmo consulta el script de sincronización asociado con cada registro de control de integración activo configurado para la entidad para determinar si es necesario notificar al sistema externo sobre este cambio. Una vez confirmado, el algoritmo crea un registro de Solicitud de Sincronización para el registro modificado y captura su código de Objeto de Mantenimiento y la clave primaria, junto con el sistema externo correspondiente.

Tenga en cuenta que la decisión de crear o no una solicitud de sincronización está controlada por el script de sincronización específico de la integración, mientras que la creación de la solicitud de sincronización es responsabilidad del algoritmo de auditoría. Por lo tanto, se utiliza el mismo Objeto de Mantenimiento de solicitud de sincronización para todas las integraciones, sin ninguna disposición para capturar detalles específicos de la integración.

Se recomienda diseñar el script de sincronización para que apruebe la creación de una solicitud de sincronización solo cuando sea necesario. Esto evita la creación innecesaria de solicitudes de sincronización que, de otro modo, se desecharían al procesarse.

Administración del Proceso de Sincronización

Una vez que se captura una solicitud de sincronización, hay varios pasos que se deben realizar antes de enviar cualquier tipo de información al sistema externo.

Nota: Esta sección solamente realza los pasos clave. Consulte la configuración del objeto de negocio, su ciclo de vida y los algoritmos para obtener un panorama más claro de toda la funcionalidad que ofrece.
  • Cuando se crea una Solicitud de Sincronización, el estado inicial (Pendiente) se configura para que lo procese un monitoreo de lote. De esa manera, los cambios que activaron la solicitud se validan completamente antes de comunicarse a un sistema externo.

  • Cuando se procesa el registro de solicitud de sincronización, un algoritmo de monitoreo llama al script de sincronización asociado con el registro de control de la integración correspondiente para administrar el proceso de sincronización. El script de sincronización puede indicar cualquiera de los siguientes casos:

    • La solicitud aún no está lista para ser procesada, es decir, debe permanecer en su estado actual y procesarse nuevamente en la próxima ejecución de lote.

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

    • La solicitud se procesó exitosamente. El script de sincronización preparó el mensaje de salida y envió la información al sistema externo adecuadamente. Esta indicación da como resultado la transición del registro al estado Enviado.

  • Si ocurre un error durante el procesamiento de la solicitud, se genera una Tarea para capturar los detalles del error, y el registro se define en el estado Error. El reintento de procesamiento de la solicitud de sincronización continúa con cada proceso de lote hasta que la solicitud se envía o se cancela.

Comunicación con el sistema externo

Generalmente, la comunicación con un sistema externo finaliza cuando el mensaje se envía con éxito y el sistema externo lo procesa correctamente. Según la integración específica, es posible que el sistema externo no procese el mensaje inmediatamente, sino que lo ponga en cola y lo procese más tarde. En esta situación, posiblemente sea necesario confirmar la solicitud de sincronización como procesada exitosamente (definirla en el estado Confirmada) mediante un mecanismo de respuesta explícito del sistema externo. El producto proporciona el servicio web F1-UpdateAndTransitionSyncRequest, que puede utilizarse para procesar las confirmaciones.