Sincronizando datos de Microsoft Dynamics CRM con otras aplicaciones

Hoy vamos a hablar de Microsoft CRM Synchronization Tool, un nuevo ejemplo de la gran y activa comunidad que está surgiendo en torno a Microsoft Dynamics CRM. Se trata de una herramienta de sincronización de datos, creada por Justin Santa Barbara, que nos permitirá tener servidores web remotos (o aplicaciones) que utilicen los datos de Microsoft Dynamics CRM para lectura/escritura manteniendo la sincronización de los datos. Y todo ello mediante métodos soportados, sin comprometer las futuras actualizaciones de nuestro despliegue de CRM.


¿Cómo funciona?


La herramienta se basa en las vistas filtradas para obtener los datos de Microsoft Dynamics CRM 3.0 y en los servicios web para introducir las modificaciones de los datos al CRM. Microsoft CRM Synchronization Tool se encarga de crear una BBDD con tablas que tengan una estructura similar a las vistas filtradas de las entidades que queremos utilizar en la sincronización. Una vez creadas, la herramienta se encarga de comprobar los cambios en los datos las vistas para trasladarlos a las tablas, y viceversa, trasladar los cambios de las tablas al CRM mediante los servicios web.


Con esto conseguimos tener una BBDD con tablas sincronizadas con el CRM, pero aún falta algo, falta la posibilidad de que la aplicación se encuentre en un lugar remoto y que no se pueda asegurar una conexión de red de forma continua. Por ejemplo un servidor CRM en nuestras oficinas, y un servidor web en hosting externo que tiene un aplicación web que necesitamos que utilice datos del CRM. Para esto, la herramienta utiliza una característica de replicación de SQL Server, concretamente Merge Replication, que permite tener sincronizadas las tablas de dos BBDDs. Con esto conseguimos tener una BBDD en el servidor web que utilice datos del CRM, y se sincronice con el CRM cuando se encuentre disponible la conexión entre ambos servidores. En este pdf podéis encontrar un esquema sobre el funcionamiento de Microsoft CRM Synchronization Tool.


Pero la cosa no acaba ahí, también es posible limitar los registro que se utilizan de Microsoft CRM para evitar transmitir por la red datos innecesarios. Podemos, por ejemplo, hacer que las consultas de los usuarios en la web se carguen al CRM sin que sea necesario sincronizarlas de vuelta, es decir, sincronizando en un solo sentido.


En resumen…


La idea es sencilla, pero elegante y eficaz, con lo cual resulta una gran solución para establecer un mecanismo de sincronización de datos en Microsoft Dynamics CRM y otras aplicaciones. Sin embargo, aún no está madura y le falta la documentación, pero en cuanto se avance en su desarrollo seguro que será un “must-have” para Microsoft Dynamics CRM.


Podéis encontrar el código fuente de la herramienta en C# y un pdf aclaratorio de su funcionamiento en CRM SandBox y el blog de Justin Santa Barbara


Hasta la próxima,


Marco Amoedo Martínez

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *