Trabajar con cualquier tipo de aplicación

Microsoft Dataverse proporciona múltiples formas de integrarse en cualquier tipo de aplicación (móvil, web, escritorio), dispositivo, sistema o servicio. Para las soluciones en la nube, hay formas de integrarse independientemente del modelo en el que se implemente su solución — infraestructura como servicio (IaaS), plataforma como servicio (PaaS) o software como servicio (SaaS). Para las soluciones basadas en IaaS, el enfoque de integración también funciona bien si las soluciones se ejecutan dentro de contenedores.

En algunos casos, la integración con una aplicación se puede lograr mediante el uso de la lógica empresarial contenida en Dataverse. En otros casos, implicará la integración a través de eventos, la API de Dataverse OData, o usando complementos.

Definición de lógica de negocios

Las tablas en Dataverse pueden usar la lógica y validación enriquecidas de servidor para garantizar la calidad de los datos y reducir código repetitivo en cada aplicación que crea y usa datos en una tabla.

  • Reglas de negocio: validan los datos de varias columnas y tablas y proporcionan advertencias y mensajes de error, independientemente de la aplicación usada para crear los datos. Más información: Crear una regla de negocio para una tabla

  • Flujos de proceso de negocio: guían a los usuarios para asegurarse de que introducen los datos de forma coherente y de que siguen los mismos pasos cada vez. Actualmente, los flujos de proceso de negocio solo se admiten para aplicaciones controladas por modelo. Más información: Información general sobre flujos de proceso de negocio

  • Flujos de trabajo: automatizan los procesos de negocio sin interacción del usuario. Más información: Flujos de trabajo de Dataverse clásico

  • Lógica de negocios con código: admite escenarios avanzados de desarrollador para ampliar la aplicación directamente con código. Más información: Aplicar lógica de negocios usando código

Integración con aplicaciones mediante el uso de eventos

Un enfoque común de integración de aplicaciones es a través del uso de eventos. Por ejemplo, un evento como agregar una nueva fila ocurre en Dataverse, y esto debe comunicarse a un sistema asociado para que se pueda tomar una acción. Por ejemplo, si se planteó una nueva solicitud de soporte, podría provocar que se envíe un mensaje SMS al personal de soporte asignado.

Esta interactividad también puede ocurrir en la dirección opuesta — una actualización en un sistema externo puede resultar en la adición, actualización o eliminación de datos de un entorno de Power Platform.

Los enfoques más populares en Dataverse involucran webhooks, mensajes de Azure (Service Bus, Event Hubs), Azure Logic Apps o Power Automate.

Eventos en Dataverse.

Webhooks

Con Dataverse, puede enviar datos sobre eventos que tienen lugar en el servicio a una aplicación web mediante webhooks. Un webhook es un patrón HTTP ligero para conectar las API y los servicios web con un modelo de publicación y suscripción. Los remitentes de webhook envían a los receptores notificaciones sobre eventos realizando solicitudes a los extremos de los receptores con información sobre los eventos.

Los webhooks permiten a desarrolladores e ISV integrar datos de Dataverse en su propio código personalizado hospedado en servicios externos. Con el modelo de webhooks, puede proteger el extremo usando un encabezado de autenticación o claves de parámetro de string de consulta. Esto es más simple que la firma de acceso compartido Modelo de autenticación utilizado con la integración Azure Service Bus.

  • Los webhooks solo se pueden escalar al punto en el que el servicio web hospedado puede controlar los mensajes.

  • Los webhooks permiten pasos sincrónicos y asincrónicos.

  • Los webhooks envian solicitudes POST con carga útil JSON y puede consumirlos cualquier lenguaje de programación o aplicación web hospedada en cualquier lugar.

  • Los webhooks se pueden invocar desde un complemento o una actividad de flujo de trabajo personalizada.

Azure Service Bus

Service Bus proporciona un canal de comunicación seguro y fiable entre datos runtime de Dataverse y aplicaciones externas de línea de negocio basadas en la nube. Esta funcionalidad es especialmente útil para mantener los sistemas dispares de Dataverse u otros servidores de Dataverse sincronizados con los cambios en los datos profesionales.

La secuencia de eventos es la siguiente:

  • Una aplicación de escucha está registrada en un extremo de la solución de Service Bus y comienza la escucha activa para el contexto remoto de ejecución de Dataverse en el bus del servicio.

  • Un usuario realiza alguna operación determinada en Dataverse que desencadena la ejecución del complemento listo para usar registrado o un complemento compatible con Azure personalizado. El complemento inicia una publicación, a través de un trabajo del sistema de servicio asincrónico, del contexto de datos de solicitud actual para Service Bus.

  • Se autentican las notificaciones publicadas por Dataverse. A continuación, Service Bus retransmite el contexto remoto de ejecución al escucha. El agente de escucha procesa la información de contexto y realiza alguna tarea de negocio relacionada con esa información. Service Bus notifica al servicio asincrónico de una publicación correcta y establece el estado del trabajo del sistema relacionado en Completado.

Service Bus retransmite el contexto de datos del mensaje de solicitud entre Dataverse y las aplicaciones de escucha de la solución de Service Bus. Service Bus también proporciona seguridad de datos de manera que solo las aplicaciones autorizadas puedan tener acceso a los datos de Dynamics 365 publicados. La autorización de Dataverse para publicar el contexto de datos en Service Bus y para que las aplicaciones de escucha lo lean se administra mediante firmas de acceso compartido de Azure.

Más información: Service Bus y Autenticación y autorización de Service Bus

Logic Apps y Power Automate

Logic Apps, que se ofrece a través de Azure, y Power Automate, ofrecido a través de Microsoft Power Platform, pueden desencadenar un flujo de trabajo que se puede utilizar para integrarse con eventos de aplicaciones y datos en una programación o por actividad en una base de datos, sistema, servicio o SaaS.

Logic Apps y Power Automate con Dataverse.

Estos flujos de trabajo pueden ejecutar lógica e interactuar con estos sistemas utilizando los cientos de conectores a bases de datos, PaaS y SaaS.

Por ejemplo, cuando se agrega una fila a una base de datos relacional, como SQL, esto puede desencadenar un flujo de trabajo que puede insertar estos datos en Dataverse.

Con la capacidad de crear conectores personalizados mediante el uso de definiciones Open API (anteriormente conocidas como Swagger) para un servicio, también es sencillo incluir servicios, funciones y código que se ejecutan en IaaS y Azure Kubernetes Service (AKS).

Integración de Dataverse en aplicaciones con la API OData

Todos los lenguajes de programación populares admiten una forma de integración con las API basadas en REST.

Dataverse con la API OData.

La API web de Dataverse proporciona una experiencia de desarrollo que puede usarse en una gran variedad de lenguajes de programación, plataformas, y dispositivos. La API web implementa OData (Open Data Protocol), versión 4.0, un estándar de OASIS para crear y consumir API RESTful con orígenes de datos enriquecidos. Puede obtener más información sobre este protocolo en www.odata.org. Para obtener más información sobre este estándar, vea www.oasis-open.org.

Dataverse adopta un enfoque de "API primero". Esto significa que el servicio no solo proporciona un mecanismo para consultar datos, sino que también proporciona metadatos del servicio sobre reglas de negocio, restricciones, etc. que puede usar para crear aplicaciones y servicios inteligentes y receptivos.

La API está protegida mediante el uso de OAuth. OAuth requiere un proveedor idtable para la autenticación. Para Dataverse, el proveedor idtable es Microsoft Entra ID. Para autenticarse con Microsoft Entra usando una cuenta de trabajo o centro educativo de Microsoft, use Microsoft Authentication Libraries (MSAL).

Para obtener más información sobre como comenzar con la API web de Dataverse, consulte Usar la API web de Dataverse.

Para obtener más información sobre el uso de la API web de Dataverse con OAuth, vea Usar OAuth con Dataverse.

Complementos

Dataverse proporciona la capacidad de escribir código que se encuentra entre la API y los datos. Este código, escrito en .NET, se conoce como complemento. Debido a que el complemento se encuentra entre la API y los datos, impone la misma lógica en cada aplicación.

Los complementos pueden ser síncronos o asíncronos y realizar las siguientes tareas:

  • Devolver errores al usuario.

  • Consultar datos de Dataverse para evaluar la lógica a realizar.

  • Realizar operaciones de datos.

  • Realizar solicitudes HTTP salientes.

Los complementos se registran en los puntos de la canalización de eventos, que se ilustran aquí.

Plug-in event pipeline

Dentro de la canalización de eventos, pueden ocurrir los siguientes eventos:

  • Peticiones y Respuestas puede examinarse y rechazarse o manipularse en varios pasos de la canalización del evento.

  • Los Manejadores de validación puede lanzar excepciones personalizadas para rechazar operaciones que su lógica considera no válidas.

  • Los Manipuladores preoperativos pueden modificar solicitudes antes de la operación de la base de datos.

  • Los Manipuladores posteriores a la operación pueden modificar las respuestas.

  • Los Manejadores asíncronos realizan la automatización después de que se devuelva la respuesta.

Una restricción con los complementos es que deben ser independientes. Si el código de integración requiere referencias a otras bibliotecas, la integración se puede hacer mediante Azure Functions.

Azure Functions

Azure Functions proporciona una opción de ejecución de código sin servidor para la lógica empresarial y de integración.

Dataverse con Azure Functions.

Las funciones se activan mediante una llamada desde un sistema, servicio o código externo. Para Dataverse, ese desencadenador puede provenir directamente de Dataverse utilizando Service Bus, un webhook o una llamada desde un complemento. Además, la llamada de Azure Functions se puede iniciar a través de un flujo en Logic Apps o Power Automate que involucra el conector de Dataverse.

Más información: Usar complementos para ampliar los procesos de negocio

Nota

¿Puede indicarnos sus preferencias de idioma de documentación? Realice una breve encuesta. (tenga en cuenta que esta encuesta está en inglés)

La encuesta durará unos siete minutos. No se recopilan datos personales (declaración de privacidad).