Sincronización de Datos Acumulativa
El producto soporta un método de sincronización de datos mediante el cual es posible acumular varios cambios realizados en una entidad y enviarlos juntos como un solo mensaje al sistema externo.
-
Cuando se agrega, modifica o suprime una entidad, se captura una snapshot 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 se hace interface de los datos. La snapshot anterior a la actualización se utiliza como línea de base para detectar todos los cambios realizados desde entonces en el momento de enviar el mensaje al sistema externo.
-
Las solicitudes de sincronización se procesan mediante el siguiente proceso de lote de monitoreo.
-
El procesamiento de la solicitud de sincronización generalmente implica reglas de negocio que comparan la snapshot anterior a la actualización con el contenido actual de la entidad para detectar todos los cambios realizados. Si se realizaron cambios, la lógica puede decidir continuar con el envío del mensaje de sincronización; de lo contrario, se desecha la solicitud. Estas reglas también son responsables de manejar cualquier error encontrado durante la comunicación con el sistema externo y administrar los reintentos, según sea necesario.
Esta funcionalidad está respaldada por la lógica suministrada en el objeto de negocio base Solicitud de Sincronización (F1-SyncRequest). Tenga en cuenta que cada aplicación integrable ofrece un objeto de negocio secundario correspondiente a este Objeto de Negocio para cada escenario de sincronización específico soportado en el producto. Parte de la funcionalidad detallada a continuación se logra mediante la configuración en el Objeto de Negocio principal proporcionado por el marco, mientras que otra parte de la funcionalidad puede ser proporcionada por el Objeto de Negocio secundario. Además, puede haber casos de uso más complejos soportados por la integración específica de su producto. Para obtener más información, consulte la biblioteca de la aplicación específica del objeto de negocio de la Solicitud de Sincronización junto con la documentación relacionada con la integración específica del producto.
En las siguientes secciones, se describen los aspectos clave de este enfoque de sincronización de datos.
Captura del Cambio
El producto base proporciona un algoritmo de captura de datos cambiados (Auditoría de Objeto de Mantenimiento) F1-GCHG-CDCP que puede ser utilizado por los objetos de mantenimiento que necesitan sincronizarse mediante este método. Este algoritmo crea un registro de Solicitud de Sincronización para el registro modificado y, en caso de no encontrar una solicitud de sincronización existente para el mismo registro (y el mismo objeto de negocio) en el estado inicial, captura el código y la clave primaria del Objeto de Mantenimiento. El objeto de negocio de la solicitud de sincronización usado es el que se define en la opción Objeto de Negocio de Solicitud de Sincronización en el Objeto de Mantenimiento del registro que se modificó. Si existe más de una de estas opciones, se crean múltiples solicitudes de sincronización.
El producto específico también puede introducir algoritmos de Auditoría adicionales para proporcionar ejemplos más sofisticados.
Cuando se crea un registro de solicitud de sincronización, generalmente, el Objeto de Negocio de Solicitud de Sincronización tiene un conector de procesamiento previo que captura una snapshot de los datos del registro antes de efectuarse el cambio. Esta se utilizará en pasos posteriores para verificar si se debe informar el cambio al sistema externo.
Confirmación de que una sincronización es necesaria
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.
-
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 registros se agregan a la tabla de solicitudes de sincronización durante todo el día, pero se procesan todos juntos. El algoritmo de auditoría del Objeto de Mantenimiento garantiza que no se cree una nueva solicitud de sincronización si ya hay un registro Pendiente para una combinación de Objeto de Mantenimiento y Clave Primaria determinada (para el mismo objeto de negocio). Sin embargo, es posible que haya un registro para ese Objeto de Mantenimiento y esa Clave Primaria en un estado “no final” posterior (por ejemplo, En Espera de Confirmación). Este estado incluye un algoritmo de monitoreo que busca esa condición y permite saltar la transición si ya hay otro registro. Esto se realiza para garantizar que el registro existente esté completamente procesado antes de procesar el nuevo registro.
-
El próximo estado del ciclo de vida es Determinar si se Necesita Sincronización. Este paso usa un algoritmo para tomar una snapshot (denominada ‘snapshot final’) de los datos y compararla con la snapshot que se tomó inicialmente al crear el registro. Según la lógica del algoritmo, puede decidir continuar (realizar la transición a Enviar Solicitud o no continuar (realizar la transición a Desechado.
Comunicación con el sistema externo
Una vez confirmado que la sincronización se debe realizar, se debe enviar un mensaje al sistema externo. Los siguientes puntos realzan la funcionalidad básica:
-
Un algoritmo enlazado al estado Enviar Solicitud. Se espera que este algoritmo cree un mensaje de salida que envíe la información al sistema externo como corresponde. El algoritmo debe determinar el sistema externo y el tipo de mensaje de salida que se debe utilizar. Los objetos de negocio para la Solicitud de Sincronización soportan las opciones del Objeto de Negocio para definir el sistema externo y el tipo de mensaje de salida que se debe utilizar para este algoritmo.
-
Una vez activado el mensaje de salida, se realiza la transición del registro al estado En Espera de Confirmación. Este estado se usa para evitar transiciones de estado adicionales de la solicitud de sincronización hasta que se reciba una confirmación del sistema externo. Tenga en cuenta que este paso depende de la implementación de un mecanismo de respuesta del sistema externo. Se recomienza implementar una respuesta, puesto que esto ayuda a controlar el flujo cronológico de información. El producto proporciona el servicio de negocio F1-UpdateSyncRequest que hace pasar la solicitud de sincronización al siguiente estado por defecto (en este caso, el estado Sincronizado) si se recibe una confirmación positiva; o el estado está asociado con la condición de transición de Rechazo (en este caso, el estado Error) si se recibe una confirmación negativa. Además, este estado se puede configurar con un algoritmo de monitoreo que detecte cuando se alcance un límite de tiempo de espera.
-
Para los registros que ingresan al estado Error, se recomienda configurar un algoritmo que cree una entrada de Tarea para alertar a todos sobre el problema. Para obtener más información, consulte la documentación sobre integración. El estado ya está configurado previamente con un algoritmo que finaliza las Tareas al salir del estado.
-
El estado final Sincronizado se utiliza para marcar las sincronizaciones correctas. Sin embargo, en los casos de uso más complicados, este estado se puede utilizar para activar alguna acción adicional. Consulte la documentación para la integración específica del producto para obtener más información.