Cuando las organizaciones buscan una plataforma de integración para Microsoft Dynamics 365 Finance & Operations/Finance & Supply Chain Management (F&O/F&SCM), es posible que no siempre conozcan la complejidad de todos los escenarios que tendrían que tener en cuenta para las integraciones. Además, los proyectos complejos requieren personalizaciones y conocimientos especializados adicionales que es probable que no tenga internamente. A menos que encuentre un socio que pueda ofrecerle una herramienta de integración sin código fácil de usar pero también brindarle soporte durante la implementación de proyectos de integración complejos, es posible que incluso las soluciones de integración mejor valoradas no lleguen a su lista de soluciones de integración empresarial que está considerando actualmente. En To-Increase, hemos estado trabajando en estrecha colaboración con Microsoft y construyendo soluciones que resuelven los desafíos diarios de los clientes durante los últimos 17+ años. Contamos con un equipo apasionado de expertos que han ayudado a más de 2200 clientes en 45 países diferentes a implementar nuestras soluciones con éxito, incluida nuestra plataforma de integración Connectivity Studio. Lanzamos nuestra solución Connectivity Studio para ayudar a los clientes a simplificar la integración para Dynamics 365 F&O/F&SCM, D365 BC, AX y NAV. Por lo tanto, en este blog, compartimos escenarios de integración complejos que implementamos con éxito para nuestros clientes utilizando la experiencia de nuestros Consultores de Integración Empresarial de To-Increase. Nuestros Consultores guiaron a los clientes con capacitación, soporte de implementación y documentación basada en el informe y los requisitos de la organización. Aunque ofrecemos Connectivity Studio para varias versiones de las plataformas de Microsoft mencionadas anteriormente, en este blog nos centraremos en escenarios de integración complejos utilizando D365 F&O/F&SCM y AX 2012.

4 Integraciones complejas utilizando Connectivity Studio

Escenario 1

Problema: Se nos pidió llevar información de reparación y mantenimiento dentro de AX 2012 en formato XML. Era un formato que se había diseñado hace casi 15 años y era difícil de comprender. Había una gran cantidad de datos almacenados en una estructura de documento XML muy compleja con casi 15,000 líneas. Los datos estaban dispersos en todo tipo de nodos XML diferentes. No era posible encontrar un patrón de datos ya que estaban dispersos en el archivo. Esto habría agregado una capa adicional de complejidad si se transferían estos datos sin organizarlos. Además, es importante tener en cuenta que no todas las aplicaciones y soluciones pueden leer archivos XML grandes y complicados, ya que el búfer puede quedarse sin memoria.

Solución: Por lo general, vemos archivos XML que tienen los datos en el segundo o tercer nivel, pero en este caso tuvimos que llegar hasta el nivel 15 para recuperar los datos que necesitábamos de diferentes nodos. Gracias a un buen tamaño de búfer en nuestra plataforma de integración, logramos leer los datos. Resolvimos este desafío utilizando XLST, que es una hoja de estilo. Tomamos un registro de alrededor de 900 líneas y buscamos patrones de datos con los datos más críticos y construimos un script XLST que podía recuperar dinámicamente el nivel más bajo, llevarlo hacia arriba, renombrarlo y eliminar el resto. Esto redujo la carga en el archivo XML y facilitó su lectura y comprensión. Esto ayudó a mejorar el rendimiento de la lectura de un archivo de integración de manera drástica.

El papel de Connectivity Studio: Connectivity Studio le permite no solo leer diferentes formatos estandarizados, sino también XML que no tiene pautas o un formato y que puede ser difícil de leer y comprender. Pudimos aprovechar la plataforma para aplicar un script, por lo que hicimos una transformación de los datos para segmentar lo que necesitábamos del archivo, pero incluso entonces, Connectivity Studio pudo leer el archivo antes de que se le aplicara el script. Este proceso ayudó a nuestro cliente a transferir datos complicados desde un archivo XML desactualizado. En una integración más simple, puede usar Connectivity Studio para leer todos los datos y asignarlos a campos correspondientes en el software con el que está integrando, a menos que agregue condiciones. Por lo tanto, puede usar Connectivity Studio para leer un archivo y luego se va a la tabla de búfer, y a partir de esta tabla de búfer, se pueden asignar los datos.

Escenario 2

Problema: Había información en el servidor SQL local de nuestro cliente almacenada fuera de la nube. Por lo tanto, el primer desafío fue llevar la información de un servidor de almacén que estaba en las instalaciones y intercambiar esos datos con el ERP, que era Microsoft Dynamics 365 F&O/F&SCM y estaba en la nube. Después de integrar los dos sistemas, el cliente también quería automatizar el proceso y establecer una comunicación bidireccional entre el servidor SQL local y D365 para que pudieran intercambiar datos de ida y vuelta y completar acciones como leer instrucciones de selección de D365 en el servidor SQL.

Solución: Dado que también podemos utilizar componentes de Azure para interactuar con Connectivity Studio, utilizamos el servicio de bus de Azure para llevar los datos a la nube. En este caso, lo hicimos para construir un puente digital para que los datos viajen entre el servidor local y D365 que está en la nube. D365 no puede leer datos de una base de datos local en las instalaciones por sí solo. Para garantizar la comunicación bidireccional, de modo que sea posible realizar acciones como leer instrucciones de selección de D365 en el servidor SQL, tuvimos que compartir datos desde la nube hasta el servidor local. Se utilizó un controlador personalizado para permitir la interacción entre el sistema local y D365 con lógica específica. Al personalizar un controlador, puede interactuar con la lógica incorporada de D365, por lo que puede realizar acciones como la selección.

El papel de Connectivity Studio: Además de poder transferir datos a D365, Connectivity Studio puede activar lógica avanzada desde D365, lo que significa que puede publicar un diario o un informe. El desafío era que cuando el servidor SQL selecciona un elemento, D365 necesita activar la lógica empresarial para registrar esa acción en su base de datos. Para hacerlo, tuvimos que llamar a la lógica de D365. Por lo tanto, desarrollamos un controlador que podía leer los datos del servidor SQL y luego llamar a la lógica de selección de D365. Tenemos flujos de documentos en Connectivity Studio que se pueden utilizar para lograr la comunicación entre sistemas. Entonces, tan pronto como se selecciona algo, agregamos los registros a la cola de mensajes y esta cola de mensajes es capaz de llamar al servidor SQL y luego enviar la información al servidor SQL local. Connectivity Studio hace que las personalizaciones sean realmente seguras porque con solo hacer clic en un botón, le permite volver al comportamiento estándar.

Escenario 3

Problema: El problema era que este cliente estaba en AX2012 y quería una plataforma para que sus propios clientes pudieran verificar el estado de sus maquinarias, imágenes, estado de mantenimiento, etc. El sitio web estaba en la nube y toda la información y arquitectura estaba en las instalaciones en Microsoft AX2012. Por lo tanto, tuvimos que construir toda esta información entre el servidor y la nube. Uno de los mayores desafíos al hacer esto era garantizar la seguridad al integrar una aplicación heredada con una aplicación basada en la nube.

Solución: Tuvimos que hacer muchas cosas para sincronizar un sistema antiguo como AX 2012 con una aplicación moderna basada en la nube como PowerApps, lo cual incluía autenticación, comunicación del servidor y desarrollo y prueba de API. Por lo tanto, lo primero que hicimos fue retroportar la última tecnología para API a AX2012. Cuidar de la autenticación fue un gran desafío, por lo que retroportamos a una plataforma que permite la autenticación para aplicaciones modernas en la nube. Registramos la aplicación en Azure y recibimos un token para autenticarnos. Lo siguiente fue encontrar un medio para enviar información desde un servidor en AX2012 hasta el Dataverse donde se alojaba el sitio web. Dado que Dataverse utiliza API, pudimos llamar a la API para compartir datos entre el ERP AX 2012 local y el sitio web que estaba en la nube. La estructura del sitio web se entregó a través de Dataverse, que es una base de datos inteligente que le permite almacenar datos utilizando un conjunto de tablas con campos para valores como pedidos de alquiler, clientes, artículos, facturas, etc. Dataverse le permite conectarse a API, por lo tanto, construimos una API para conectarse a AX 2012 utilizando Azure en el medio para enviar datos de vuelta a este sitio web que se alojaba en la nube.

El papel de Connectivity Studio: Dado que ayudamos a construir una arquitectura para sincronizar un servidor AX 2012 con una aplicación en la nube en Dataverse autenticándose a través de Azure, que puede comunicarse a través de API, ¿cuál es el papel de Connectivity Studio en todo esto? Utilizamos Connectivity Studio de dos formas, la primera es ayudar al cliente a llamar a un mensaje que se mapeó utilizando Connectivity Studio para producir un archivo. La segunda forma fue llamar a un mensaje utilizando Connectivity Studio vinculado a una API. La plataforma de integración le permite activar un evento configurado que luego activa una API. Veamos un ejemplo para explicarlo, si necesita enviar un pedido de alquiler utilizando AX 2012 y desea que se cree en el sitio web que está en la nube, podemos ayudarlo con ese escenario. Lo que hicimos fue activar desencadenadores SQL que capturan eventos como la creación de pedidos de alquiler. Utilizando Connectivity Studio, puede enviar un mensaje que le permite activar un evento que llama a la API, lo que a su vez le permite enviar el pedido de alquiler específico creado al Dataverse.

Escenario 4

Problema: Nuestro cliente estaba sincronizando D365 con un servidor SQL de Azure. Dado que las interfaces separadas estaban intercambiando constantemente datos entre D365 y Azure SQL, esto afectaba el rendimiento de esos mensajes con 30-40 mensajes defectuosos que se intercambiaban, lo que ralentizaba los procesos.

Solución: Utilizamos el servicio de bus de Azure para mover la información de D365 al servidor SQL en Azure. Pero vimos que el tiempo para procesar los registros era muy alto. Tuvimos que asegurarnos de poder enviar los datos sin sobrecargar el sistema D365. Dado que los procesos de D365 pueden utilizar un servidor de lotes, tuvimos que encontrar una forma de dividir ciertos procesos utilizando cada servidor de lotes disponible en D365 para mejorar el tiempo de procesamiento de los registros sin ralentizar el sistema.

El papel de Connectivity Studio: Lo que fue posible hacer con Connectivity Studio fue ejecutar estas interfaces en paralelo. Para cada mil registros que necesitaba procesar nuestra solución, tuvimos que dividir el procesamiento utilizando cada servidor de lotes disponible en D365. De unas pocas horas, pudimos mejorar la velocidad de procesamiento y alcanzar un objetivo de menos de 2 minutos.

¿Desea explorar la solución Connectivity para Dynamics 365? La solución Connectivity Studio de To-Increase proporciona un conjunto de herramientas, pero también hay algunas cosas que deben hacerse fuera de la solución que pueden ayudarnos a integrar proyectos y sistemas complejos. Y podemos ayudarlo con personalizaciones, documentación, soporte de implementación y soporte extendido. Dicho esto, sin importar cuán complicado sea su escenario, nuestra solución y nuestro equipo de Consultores experimentados pueden ayudarlo. Entonces, incluso si no tiene un especialista en integración o un especialista en D365 dentro de su organización, To-Increase puede ayudarlo a simplificar las integraciones. Además de las integraciones, Connectivity Studio también puede ayudarlo con la migración de datos desde sistemas heredados como AX 2012 a D365. Puede utilizar la solución de integración para actualizar y eliminar datos y sincronizar cambios en su ecosistema de aplicaciones rápidamente. Si está interesado en nuestra versátil plataforma de integración, puede programar una demostración o comunicarse con nuestros expertos. También recomendamos descargar la hoja de datos desde el siguiente enlace.