Integración de datos salientes
La integración de datos salientes consiste en poner datos de Microsoft Dataverse a disposición de sistemas externos.
Publicación de eventos de Dataverse
Microsoft Dataverse proporciona un modelo de eventos que permite la integración con sistemas externos. Este modelo, denominado marco de trabajo de eventos de Dataverse, admite el desencadenamiento de código personalizado y acciones externas en respuesta a eventos de plataforma.
El marco de trabajo de eventos permite a los arquitectos y los desarrolladores de soluciones registrar código personalizado o procesos que se ejecutan cuando se producen eventos específicos. Si bien a menudo se utiliza para desencadenar complementos personalizados, el marco de trabajo también puede facilitar integraciones salientes con otros sistemas.
Para utilizar el marco de trabajo de eventos de forma eficaz deberá estar familiarizado con:
- Tipos de eventos disponibles
- Cómo se procesan los eventos
- Qué datos están disponibles en cada fase
- Límites aplicables de tiempo y recursos
- Prácticas de supervisión de rendimiento
El marco de trabajo admite cuatro etapas de procesamiento:
- Validación previa: se produce antes de la operación principal y de las comprobaciones de seguridad. Utilice esta fase para validar o cancelar operaciones en fases iniciales.
- Antes de la operación: se ejecuta dentro del ámbito de la transacción antes de confirmar la operación. Utilice esta fase para modificar datos.
- Operación principal: está reservada para operaciones internas y solo se admite en API personalizadas y tablas virtuales.
- Después de la operación: se ejecuta cuando se completa la operación y dentro de la transacción. Se utiliza habitualmente para integración saliente.
Nota
La integración suele utilizar la fase Después de la operación con ejecución asincrónica.
El marco de trabajo de eventos puede desencadenar:
- Complementos
- Flujos de trabajo clásicos
- Flujos de nube de Power Automate
- Mensajes de Azure Service Bus y Event Hubs
- Webhooks
Comparación entre evento y lote
Los arquitectos de soluciones deben clasificar los escenarios de datos salientes como basados en eventos o en lotes. El siguiente diagrama compara estos dos enfoques:
Patrón de inserción
El patrón de inserción suele utilizarse para el procesamiento basado en eventos. En este modelo, un evento de Dataverse desencadena un proceso que envía datos a un sistema externo.
Para evitar problemas de rendimiento y un emparejamiento estrecho, asegúrese de que las llamadas externas desencadenadas desde Dataverse estén optimizadas y no sean de bloqueo.
Importante
Los complementos están sujetos a un tiempo de espera de dos minutos. Utilice procesamiento asincrónico para tareas de larga duración.
Patrón de extracción
El patrón de extracción se basa en sistemas externos que inician la recuperación de datos desde Dataverse, sea según programación o en respuesta a eventos externos.
Nota
El desencadenador Periodicidad de Power Automate se utiliza a menudo en la implementación del patrón de extracción.
Seguimiento de cambios
La característica de seguimiento de cambios de Dataverse permite la sincronización eficiente identificando los registros que han cambiado desde la última sincronización.
Cuando está habilitado en una tabla, el seguimiento de cambios permite recuperar solo las filas modificadas, lo que minimiza la transferencia de datos.
Nota
El seguimiento de cambios debe estar habilitado explícitamente en cada tabla.
Integración de Azure
Dataverse admite integración saliente con los servicios de Azure a través del marco de trabajo de eventos. El diagrama siguiente ilustra estos puntos de integración:
Azure Service Bus
Dataverse puede publicar mensajes en Microsoft Azure Service Bus, lo que permite una comunicación segura y desacoplada entre sistemas. Ofrece las siguientes ventajas:
- Equilibrio de carga entre todos los procesos de trabajo
- Enrutamiento seguro y transferencia de mensajes entre límites de servicio
- Coordinación de flujos de trabajo transaccionales de alta fiabilidad
Una aplicación de escucha, como una Azure Logic App o una función de Azure, recibe mensajes del Service Bus y los procesa en función del contexto del evento (por ejemplo, nombre de tabla, id. de registro, usuario iniciador y cambios de datos).
Los pasos de integración son:
- Registrar un punto de conexión de Azure Service Bus en Dataverse utilizando Plug-in Registration Tool
- Definir pasos para publicar mensajes sobre eventos de datos (como creación de registros)
Las implementaciones de escucha pueden incluir:
- Una aplicación C# que sondea mensajes de Service Bus
- Una Azure Logic App desencadenada por nuevos mensajes
- Una función de Azure que responda a mensajes publicados
Azure Service Bus es ideal cuando el sistema receptor tiene disponibilidad limitada o debe limitar volúmenes elevados de mensajes.
Métodos de publicación de mensajes:
- Basada en configuración (sin código):: defina un paso que envíe contexto del evento al Service Bus.
- Personalizada (código):: desarrolle y registre un complemento que publique un mensaje personalizado en el Service Bus.
Casos de uso:
- Crear aplicaciones escalables en la nube con mensajería
- Administrar tráfico en ráfagas con colas de mensajes
- Desacoplar sistemas para escalado independiente
- Apoyar la entrega ordenada de mensajes a distintos consumidores
Azure Relay
Azure Relay permite una comunicación segura y bidireccional entre la nube y los servicios locales sin abrir puertos de firewall ni modificar la infraestructura de red.
Relay admite escenarios como:
- Mensajería unidireccional y de solicitud/respuesta
- Publicar/suscribirse a distribución de eventos en el ámbito de Internet
- Comunicación de socket a través de los límites de la red
Importante
Azure Relay permite que los sistemas conectados intercambien respuestas y acuses de recibo a través de canales seguros sin necesidad de acceso directo a la red.
Azure Event Hubs
Azure Event Hubs es un servicio de ingesta de eventos de alto rendimiento capaz de gestionar millones de eventos por segundo.
Es una opción excelente para el streaming de macrodatos y se integra con soluciones de análisis en tiempo real. Utilice Event Hubs para:
- Transmitir eventos a diversos sistemas
- Filtrar mensajes a través de grupos de consumidores
- Transmitir eventos a servicios como Microsoft Power BI
Nota
Los temas de Azure Service Bus ofrecen una funcionalidad similar para el filtrado y la distribución de mensajes.
Webhooks y Azure Functions
Los webhooks proporcionan un patrón ligero basado en HTTP para la integración de Dataverse con servicios externos.
Los webhooks, registrados con la herramienta de registro de complementos, envían solicitudes POST con cargas JSON a puntos de conexión externos cuando se activan mediante eventos.
Webhooks:
- Admiten pasos sincrónicos y asincrónicos
- Utilizan tecnologías web estándar en todas las plataformas
- Se puede proteger con encabezados de autenticación o tokens de cadena de consulta
Las funciones de Azure pueden servir como puntos de conexión de webhook para implementar lógica de integración escalable.
Elegir entre webhooks y Service Bus
| Característica | Webhooks | Azure Service Bus |
|---|---|---|
| Escalabilidad | Limitado por la capacidad del punto de conexión | Colas de alto rendimiento |
| Persistencia de mensajes | Requiere reintento personalizado | Colas y reintentos integrados |
| Admite sincrónico | Admite sincrónico y asincrónico | Solo asincrónico |
| Sencillez | Ligero | Nivel empresarial |
| Hospedaje | Cualquier aplicación web | Infraestructura de Azure |
Integración de procesos: Power Automate frente a Azure Logic Apps
Los flujos de nube de Power Automate y Azure Logic Apps comparten un tiempo de ejecución común, pero difieren en características y casos de uso.
Power Automate:
- Incluye compatibilidad avanzada de conector de Dataverse
- Se puede empaquetar como parte de una solución
- Admite automatización robótica de procesos (RPA) con flujos de escritorio
- Ofrece aprobaciones y notificaciones integradas
- Sujeto a límites de ejecución de flujo mensuales
Azure Logic Apps:
- Diseñado para integración empresarial (incluido EDI)
- Ofrece procesamiento y rendimiento superiores
- Brinda un sólido control y supervisión de errores a través de herramientas de Azure
- No se empaqueta en soluciones Power Platform
- Utiliza un modelo de precio fijo o basado en el consumo a través de una suscripción a Azure