
Integración con Dynamics 365 for Finance & Operations: cómo gestionar la falta de marcas de tiempo
Cualquiera que haya intentado hacer una integración de datos con Microsoft Dynamics 365 for Finance and Operations se ha topado con el obstáculo de que el sistema no admite marcas de tiempo. Eso hace que sea complicado identificar los datos nuevos y modificados. Hay varias formas de resolverlo.
El problema es que, si no quieres transferir una tabla entera cada vez que quieres sincronizar datos, necesitas una forma de detectar qué datos se han modificado o añadido.
Entonces, ¿cuál es la mejor forma de abordarlo?
Sincronicemos tus datos con las soluciones de integración de datos de Rapidi
Método 1: crear activadores (triggers) en el código que actualicen un campo de marca de tiempo en el registro
El primer método requiere que un desarrollador cree un campo de marca de tiempo en cada tabla, o que cree una funcionalidad similar que se actualice cada vez que se modifica un registro. Pero este método plantea varios problemas.
- Un registro puede modificarse a través de muchas acciones distintas. Puede ser una actualización manual realizada por un usuario, puede ser una importación que se ejecuta directamente sin pasar por el código, y puede ser una funcionalidad presente en muchos puntos distintos del código del sistema, todos los cuales hay que detectar para mantener la coherencia de la marca de tiempo. Puede resultar muy difícil prever si el código capta todos los cambios posibles, lo que hace que el sistema sea frágil ante cualquier cambio.
- La programación tiene que tener en cuenta todas las tablas, incluidas las tablas relacionadas, lo que significa que la programación, las pruebas y el mantenimiento pueden ser enormes, y la integración se vuelve frágil y cara de mantener porque añade otra capa de complejidad a un sistema que ya es complejo por naturaleza.
Método 2: crear tablas de comparación en AX
Otro método consiste en crear tablas de comparación en AX donde el desarrollador puede comparar los valores nuevos y los antiguos y así detectar qué registros se han modificado. En muchos sentidos, esta es una forma más sólida de detectar cambios, aunque también plantea algunos retos:
- Puede requerir un trabajo considerable programar esta lógica a medida y, como en el método uno, exige un esfuerzo importante crearla y mantenerla. Si solo es una tabla, puede que no sea gran cosa, pero imagina que tienes 30 tablas o más.
- La mayoría de las implementaciones de Microsoft Dynamics 365 Finance and Operations realizan muchas transacciones, por lo que hay muchos registros en los sistemas. Por eso, puede generar una gran sobrecarga en la lectura y escritura de datos que afecte negativamente al rendimiento del sistema, algo que no es fácil de resolver, y desde luego no es barato.
Método 3: usar la tecnología Rapidi Mirror
El mirror es una variante muy optimizada del método 2 anterior. El mirror es una base de datos SQL binaria independiente (MS SQL, MySQL o similar) diseñada para resolver el problema de la marca de tiempo sin las limitaciones de los métodos anteriores:
- Es completamente libre de programación, lo que significa que no tienes que escribir ni una sola línea de código.
- Apenas requiere esfuerzo de configuración porque todo está automatizado, independientemente de las personalizaciones o complementos que tenga Microsoft Dynamics 365 for Finance and Operations.
- Independientemente de cómo se modifique un registro, se detecta como un cambio y la plataforma de integración RapidiOnline puede usarlo para identificar los registros concretos que han cambiado.
- En otros escenarios de integración, tienes que crear campos en los registros para contener el enlace con el otro sistema u otros sistemas. Sin embargo, la solución RapidiOnline cuenta con una función de LinkStorage donde ese enlace se crea y se mantiene dentro de la plataforma de integración. De este modo, puedes tener una integración sin necesidad de crear manualmente ningún código ni campo, y tu ruta de actualización no se ve afectada.
- El mirror no solo funciona con Microsoft Dynamics 365 Finance and Operations: el problema de la marca de tiempo también se da en Microsoft Dynamics AX y puede aparecer en sistemas desarrollados a medida, por ejemplo sobre SQL. El RapidiMirror es genérico y también puede funcionar con otros sistemas (Microsoft Dynamics GP tiene el mismo reto), y funciona tanto con aplicaciones on-premise como en la nube.
Si quieres hablar sobre la integración con Microsoft Dynamics 365 for Finance and Operations o sobre cualquier reto relacionado con las marcas de tiempo, estaremos encantados de ayudarte.
¿Necesitas asesoramiento o un presupuesto?
Contáctanos para una evaluación gratuita o un presupuesto.
Lee también: OData: qué pasa con tu integración de Dynamics cuando necesitas actualizar a 365