Lógica personalizada

Completado

Microsoft Dataverse proporciona muchas formas diferentes de realizar lógica personalizada.

Hay varias opciones disponibles para aplicar lógica empresarial personalizada en Dataverse, como:

  • Reglas de negocio
  • Flujos de trabajo clásicos
  • Flujos de nube de Power Automate
  • Flujo de proceso de negocio
  • Columnas calculadas
  • Columnas consolidadas
  • Complementos
  • Ensamblados de flujo de trabajo personalizados
  • Acciones personalizadas
  • API personalizada
  • Scripting del lado del cliente
  • Componentes de código con Power Apps Component Framework
  • Integración con Azure Service Bus y Event Hubs
  • Webhooks

Crear lógica personalizada

El arquitecto de soluciones deberá poder decidir qué componente de Microsoft Power Platform se utiliza y dónde se utiliza en la solución. No se imponen reglas para esta decisión, porque cada opción tiene sus ventajas e inconvenientes.

Por ejemplo, pueden ocurrir las siguientes limitaciones:

  • No puede desencadenar flujos de Power Automate a partir de columnas calculadas o acumuladas.
  • Las columnas acumuladas solo se vuelven a calcular cada hora.
  • Las reglas de negocio solo pueden acceder a las columnas del formulario para su propia tabla.
  • Los flujos de trabajo clásicos no pueden acceder a filas en relaciones de uno a varios.
  • Los datos modificados por una regla de negocio no activarán un evento OnChange creado con JavaScript.

Esta lista de limitaciones no es exhaustiva.

Tener poco código, no usar código o un enfoque donde se priorice el código no es la táctica correcta; debe decidir cada situación por sus propios méritos. Comprender las capacidades de estas opciones es un requisito previo para un aspirante a arquitecto de soluciones.

Procesamiento sincrónico y asincrónico

La lógica personalizada se puede implementar de forma sincrónica o asincrónica. Los arquitectos de soluciones deben considerar si las operaciones lógicas personalizadas deben realizarse de forma sincrónica o asincrónica.

Diagrama de trabajo sincrónico y asincrónico.

Cuando las operaciones se realizan de forma sincrónica, la pantalla del usuario se bloquea hasta que se completan todas las operaciones. Las operaciones pueden modificar los datos antes o después de que se guarden en la base de datos. Las llamadas sincrónicas agregan una sobrecarga mínima al control del procesamiento, pero todas las operaciones de una transacción sincrónica están limitadas a un total de dos minutos. Este límite es fijo y no se puede cambiar. Los complementos de Dataverse y los flujos de trabajo clásicos se pueden ejecutar de forma sincrónica. Las reglas de negocio se ejecutan de forma síncrona si el ámbito se establece en Tabla.

Cuando las operaciones se ejecutan de forma asincrónica, la pantalla del usuario se devuelve después de que sus datos se guarden en la base de datos. La operación se agregará a una cola y se realizará en un momento posterior, que podría ser en unos pocos segundos, varios minutos o incluso horas, según la carga de trabajo. Asincrónico significa que los usuarios tendrán que actualizar su pantalla para ver los resultados. Se produce una sobrecarga adicional al ejecutar trabajos asincrónicos. La plataforma crea filas en las tablas AsyncOperation y WorkflowLog. Estas filas se actualizan cuando se inicia la operación, a medida que avanza y una vez finalizada. Las filas se pueden configurar para que se eliminen automáticamente. Los complementos de Dataverse y los flujos de trabajo clásicos se pueden ejecutar de forma asincrónica. Los flujos de nube de Power Automate se ejecutan de forma asincrónica.

Procesamiento de cliente y servidor

Los arquitectos de soluciones deben comprender dónde se realiza la lógica.

Las fórmulas de la aplicación de lienzo, el script de formulario basado en modelos, las reglas de negocio y la lógica de Power Apps Component Framework ocurre en la interfaz de usuario y el usuario verá el resultado de inmediato. Sin embargo, esta lógica solo se aplica en la aplicación en la que se implementa la lógica.

Los complementos, los flujos de nube de Power Automate, los flujos de trabajo clásicos y las reglas de negocio (con el ámbito establecido en Tabla) suceden solo cuando los datos se envían al servidor mediante una aplicación, un flujo o una llamada a la API. El usuario solo ve los resultados de la lógica personalizada del servicio en su aplicación al actualizar los datos. La lógica del servidor se aplica cuando se utiliza cualquier aplicación, flujo o API.

Microsoft Power Platform impone límites en el número de llamadas que se pueden realizar. El arquitecto de soluciones debe diseñar la solución teniendo en cuenta estos límites.