Sincronización de datos en entornos de Dataverse mediante Power Platform

Esta arquitectura de referencia muestra cómo sincronizar los datos maestros entre dos entornos de Dataverse mediante Power Automate y flujos de datos en Power Platform. Muestra un patrón de sincronización uno a uno en el que un entorno actúa como origen autoritativo y otro recibe datos.

Tip

En este artículo se proporciona un escenario de ejemplo y una arquitectura de ejemplo generalizada para ilustrar cómo mantener los datos maestros en un entorno de Dataverse y sincronizarlos con otro. El ejemplo de arquitectura se puede modificar para muchos escenarios y sectores diferentes.

Diagrama de arquitectura

Diagrama de sincronización de datos maestros desde un entorno Dataverse primario a secundario utilizando flujos en la nube de Power Automate y flujos de datos de Power Platform.

Flujo de trabajo

En los pasos siguientes se describe el flujo de trabajo que se muestra en el diagrama de arquitectura de ejemplo:

  1. Sincronización controlada por eventos a través de Power Automate

    • Las operaciones CRUD (crear, leer, actualizar, eliminar) en el entorno principal de Dataverse desencadenan flujos de Power Automate.

    • La sincronización controlada por eventos usa una cadena de flujo de dos pasos:

      1. Un flujo de nube envía un HTTP POST a un punto de conexión publicado.
      2. El webhook desencadena un flujo de nube de suscriptor, procesa la carga y aplica la actualización en el entorno secundario de Dataverse casi en tiempo real.
    • Los puntos de conexión se parametrizan para la administración del ciclo de vida de las aplicaciones (ALM) y los grupos de seguridad administran el acceso.

  2. Sincronización masiva mediante flujos de datos

    • El entorno secundario de Dataverse contiene los flujos de datos.

    • Cada flujo de datos se conecta al entorno principal de Dataverse como origen de datos.

    • Los flujos de datos se ejecutan según una programación fija (por ejemplo, por noche o después de que otro flujo de datos se ejecute correctamente) o a petición (por ejemplo, para la configuración inicial).

    • Las operaciones de upsert se realizan con una clave alternativa, para evitar duplicados. Este método actualiza los datos existentes e inserta registros nuevos cuando no existe ninguna coincidencia.

    • Los campos de estado se administran a través de una columna dedicada "estado de sincronización". Un flujo de Power Automate actualiza el campo de estado real en consecuencia. Este flujo se ejecuta después del flujo de datos y es necesario porque un flujo de datos no puede cambiar los estados de fila ni eliminar registros que se quitan (ausentes) en el entorno principal de Dataverse.

  3. Control de errores y conciliación

    • Los flujos de datos nocturnos en el entorno secundario corrigen las actualizaciones impulsadas por eventos que se hayan perdido o fallado.

    • La intervención manual puede ser necesaria para problemas de calidad de datos (por ejemplo, claves que faltan).

Components

  • Microsoft Dataverse: admite el requisito de dos entornos.

  • Flujos de datos para Power Platform: Ideal para operaciones masivas, como la población inicial de datos y la sincronización. Utiliza la extracción, transformación y carga masiva (ETL) para la sincronización programada, configurada en el entorno secundario.

  • Power Automate cloud flows: proporcionan actualizaciones rápidas y específicas al registro y compensan las limitaciones de los flujos de datos. Los flujos de nube pueden desencadenar un flujo de datos cuando se completa correctamente otro flujo de datos (por ejemplo, cuando una tabla contiene un campo de búsqueda a otro y ese registro al que se hace referencia ya debe existir en el entorno secundario de Dataverse), enviar un mensaje de error cuando se produce un error en un flujo de datos, actualizar los estados de registro y eliminar registros.

  • Grupos de seguridad y cuentas de servicio: proporcione administración de acceso y propiedad.

Detalles del escenario

Esta arquitectura está diseñada para una relación uno a uno: un único entorno de administración de datos maestros (MDM) vinculado a otro único entorno. Los escenarios en los que un entorno maestro debe sincronizarse con varios otros entornos requieren una solución más escalable o distribuida.

Problema de negocio

Esta solución aborda el desafío de sincronizar varias tablas entre dos entornos distintos de Dataverse. El entorno principal actúa como origen autoritativo, mientras que el entorno secundario contiene tablas existentes que debe rellenar y actualizar con datos maestros.

El uso de tablas virtuales no es factible cuando las tablas del sistema secundario ya existen y requieren seguridad de nivel de fila.

Ejemplo de caso de uso

Una organización de ocio y hospitalidad administra sus principales datos maestros, como hoteles y inventarios de habitaciones, en un entorno dedicado de Dataverse. El entorno principal incluye una aplicación basada en modelos que el equipo de administración de datos maestros usa exclusivamente para mantener información operativa precisa y actualizada.

Un departamento independiente dentro de la misma organización es responsable de varios procesos financieros y de conciliación. Para simplificar estos procesos, el departamento quiere crear su propia aplicación controlada por modelos en un entorno aislado de Dataverse. Sin embargo, su aplicación sigue necesitando acceso a datos maestros fundamentales, como los detalles del hotel y de la habitación.

El equipo rechazó las tablas virtuales porque el equipo financiero necesitaba enriquecer los registros con atributos específicos del departamento regidos por una seguridad estricta de nivel de fila.

La inserción de la aplicación financiera dentro del entorno mdm principal tampoco es una opción. Permitir que los fabricantes financieros o administradores entren en el entorno MDM puede exponer conectores, soluciones, permisos de API e información sensible que debe permanecer restringida al equipo de desarrollo de MDM.

Estos requisitos llevaron a la organización a adoptar la arquitectura de sincronización descrita en este artículo.

Valor creado

Esta arquitectura ofrece una solución sólida y fácil de mantener para sincronizar los datos maestros entre dos entornos de Dataverse cuando las tablas virtuales no son una opción. Rellenar y actualizar directamente las tablas existentes en el entorno secundario garantiza la coherencia de los datos y la confiabilidad operativa.

El enfoque usa solo componentes de Power Platform, como flujos de datos y Power Automate, lo que da lugar a una solución sencilla de implementar, fácil de administrar y evita una complejidad innecesaria.

Dado que la arquitectura está adaptada para una relación de entorno uno a uno, minimiza la sobrecarga y maximiza la transparencia. Es ideal para las organizaciones que necesitan una sincronización de datos maestras sencilla y confiable sin una administración multi-entorno a gran escala.

Considerations

Estas consideraciones implementan los pilares de Power Platform Well-Architected, un conjunto de principios rectores que mejoran la calidad de una carga de trabajo. Obtenga más información en Microsoft Power Platform Well-Architected.

Reliability

  • Los flujos de datos nocturnos garantizan la coherencia.

  • Los flujos controlados por eventos proporcionan actualizaciones rápidas.

  • La supervisión manual detecta problemas de calidad de datos.

Seguridad

  • Cuentas de servicio y grupos de seguridad para el control de acceso. Al usar flujos de datos, no se pueden asignar entidades de servicio como propietarios.

  • Puntos de conexión HTTP con parámetros para la compatibilidad con ALM.

  • Flujos de datos en soluciones aisladas para evitar el trabajo manual innecesario. Hay un motivo específico para aislar los flujos de datos en una solución dedicada: después de cada implementación, debe volver a establecer manualmente la conexión de flujo de datos. Al colocar flujos de datos en una solución independiente que solo se implementa cuando se cambian los flujos de datos, se evita el trabajo manual innecesario al implementar otros componentes de la solución principal.

Excelencia operativa

  • Programación y orquestación automatizadas de flujos de datos.

  • Supervisión y alertas de sincronizaciones con errores.

Eficiencia en el rendimiento

  • Flujos de datos optimizados para operaciones masivas.

  • Los flujos de Power Automate controlados por eventos minimizan la latencia de las actualizaciones críticas y de nivel de registro. Al diseñar flujos controlados por eventos, asegúrese de que el volumen de acciones y la simultaneidad permanecen dentro de los límites del servicio Power Automate. La actividad CRUD de alta frecuencia puede desencadenar restricciones, especialmente en escenarios donde los flujos ejecutan decenas de miles de acciones a diario. Para las integraciones críticas para la empresa o de alto rendimiento, aplique las licencias adecuadas de Power Automate, para aumentar los límites de rendimiento y evitar una limitación inesperada. Este enfoque reduce los riesgos de escalación y garantiza un rendimiento predecible.

Optimización de la experiencia

  • Requiere una intervención manual mínima.

  • Separa claramente las sincronizaciones masivas y controladas por eventos.

Colaboradores

Microsoft mantiene este artículo. Los siguientes colaboradores escribieron este artículo.

Autores principales: