Sincronización acumulativa de datos

El producto soporta un método de sincronización de datos mediante el cual los diversos cambios efectuados en una entidad se pueden acumular y enviar juntos como un mensaje simple al sistema externo.

En los puntos siguientes se describe la funcionalidad general:
  • Cuando se añade, se cambia o se suprime una entidad, se captura una instantánea de los datos de la entidad antes del cambio en una o más solicitudes de sincronización, una para cada sistema externo al que deben transferirse los datos. La instantánea previa a la actualización se utiliza como línea base para detectar todos los cambios efectuados desde el momento en que se envió el mensaje al sistema externo.

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

  • Por lo general, el procesamiento de la solicitud de sincronización implica reglas de negocio que comparan la instantánea anterior a la actualización con el contenido actual de la entidad, para detectar todos los cambios efectuados. Si se han realizado cambios, la lógica puede decidir si continuar con el envío del mensaje de sincronización; en caso contrario, se rechaza la solicitud. Estas reglas también se encargan de gestionar los errores detectados durante la comunicación con el sistema externo y procesar los reintentos según sea necesario.

Esta funcionalidad se soporta con la lógica incluida en la solicitud de sincronización del objeto de negocio base (F1-SyncRequest). Tenga en cuenta que cada aplicación integrable entrega un objeto de negocio secundario adecuado para este objeto de negocio para cada escenario de sincronización específico soportado en ese producto. Algunas de las funcionalidades que se indican a continuación se realizan usando la configuración del objeto de negocio principal proporcionada por el marco, mientras que otras funcionalidades puede ser entregadas por el objeto de negocio secundario. Además, puede haber casos de uso más complejos soportados por su integración de productos específica. Consulte en biblioteca de su aplicación específica el objeto de negocio Solicitud de sincronización junto con la documentación relacionada con su integración de producto específica para obtener más información.

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

Captura del cambio

El producto base incluye un algoritmo de captura de cambio de datos (auditoría de objeto de mantenimiento) F1-GCHG-CDCP, que se puede utilizar en los objetos de mantenimiento que necesiten sincronizarse mediante este método. Este algoritmo crea un registro de solicitud de sincronización para el registro modificado y captura el código de objeto de mantenimiento y la clave primaria si no encuentra una solicitud de sincronización existente para el mismo registro (y el mismo objeto de negocio) en el estado inicial. El objeto de negocio de solicitud de sincronización usado es el que se ha definido en la opción Objeto de negocio de solicitud de sincronización del objeto de mantenimiento para el registro que ha cambiado. Si existe más de una opción, se crearán varias solicitudes de sincronización.

Su producto específico también puede introducir algoritmos de auditoría adicionales para incluir ejemplos más sofisticados.

Al crear el registro de solicitud de sincronización, lo habitual es que el objeto de negocio de solicitud de sincronización tenga un plug-in de preprocesamiento que captura una instantánea de los datos del registro antes de que se produjera el cambio. Esta instantánea se usará en pasos posteriores para verificar que el sistema externo necesita recibir una notificación del cambio.

Confirmación de que se necesita una 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 manera, los registros se añaden a la tabla de solicitud de sincronización a lo largo del día, pero todos se procesan juntos. El algoritmo de auditoría de objeto de mantenimiento verifica que no se cree una nueva solicitud de sincronización si ya existe un registro en estado pendiente para una combinación de objeto de mantenimiento y clave primaria determinada para el mismo objeto de negocio. Sin embargo, es posible que un registro de esa combinación de objeto de mantenimiento y clave primaria exista en un estado “no final” posterior (como, por ejemplo, En espera de acuse de recibo). Este estado incluye un algoritmo de supervisión para comprobar esa condición y omitir la transición si existe otro registro. Esto se hace para asegurar que el registro existente se procese en su totalidad antes de procesar este nuevo registro.

  • El siguiente estado del ciclo de vida útil es Determinar necesidad de sincronización. Este paso usa un algoritmo para capturar una instantánea (denominada ‘instantánea final’) de los datos y compararla con la instantánea inicial que se capturó al crear el registro. En función de la lógica del algoritmo, puede decidir continuar (transición a Enviar solicitud o discontinuar (transición a Rechazado.

Comunicación con el sistema externo

Cuando se confirme que debe producirse la sincronización, debe enviarse un mensaje al sistema externo. En los puntos siguientes se destaca la funcionalidad básica.

  • Un algoritmo enlazado con el estado Enviar solicitud. Se espera que este algoritmo cree un mensaje saliente que enrute la información al sistema externo de forma adecuada. El algoritmo debe determinar el sistema externo y el tipo de mensaje saliente que se usará. Los objetos de negocio de solicitud de sincronización soportan opciones de objeto de negocio para definir el sistema externo y el tipo de mensaje saliente que se usarán para este algoritmo.

  • Una vez activado el mensaje saliente, el registro pasa al estado En espera de acuse de recibo. Este estado se usa para evitar que se realicen otras transiciones de estado en la solicitud de sincronización hasta que se reciba un acuse de recibo del sistema externo. Tenga en cuenta que este paso se basa en la implantación de un mecanismo de respuesta por parte del sistema externo. Se recomienda implantar una respuesta, ya que ayuda a controlar el flujo cronológico de la información. El producto proporciona el servicio de negocio F1-UpdateSyncRequest que realiza la transición de la solicitud de sincronización al siguiente estado por defecto (en este caso, el estado Sincronizado) si se recibe un acuse de recibo positivo, o al estado asociado con la condición de transición de rechazo (en este caso, el estado Error) si se recibe un acuse de recibo negativo. Además, este estado se puede configurar con un algoritmo de supervisión que detecte si se ha alcanzado un límite de tiempo de espera.

  • Para los registros que pasen al estado Error, se recomienda configurar un algoritmo que cree una entrada de tarea para alertar a alguien del problema. Consulte la documentación de integración del producto para obtener más información. El estado ya está preconfigurado con un algoritmo para finalizar las tareas al salir de ese estado.

  • El estado final Sincronizado se usa para marcar las sincronizaciones correctas. Sin embargo, para casos de uso más complejos, este estado se puede usar para activar alguna acción adicional. Consulte la documentación de su integración de producto específica para obtener más información.