Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Microsoft Power Platform le permite ampliar la funcionalidad de su aplicación de lienzo de Power Apps usando API de REST. Cuando se trata de algoritmos complejos o con muchas fuentes de datos, cambiar la lógica desde la aplicación de lienzo a una API de RESTful, se convierte en una opción ideal para ayudar a mantener sus fórmulas dentro de su aplicación de lienzo de Power Apps en un formato sencillo mientras se mueve la funcionalidad más compleja del lado del servidor. Los conectores personalizados de Power Platform permiten que las aplicaciones lienzo usen la API de REST como cualquier otro origen de datos.
Propina
El artículo proporciona un escenario de ejemplo y una representación visual de cómo usar las API de REST para ampliar la funcionalidad de las aplicaciones lienzo. Esta solución es una arquitectura de escenarios de ejemplo generalizada, que se puede usar para muchos escenarios y sectores diferentes.
Diagrama de arquitectura
Workflow
- Aplicación de lienzo: La aplicación de lienzo de Power Apps utiliza el conector personalizado para acceder a las operaciones expuestas por la función Azure. El usuario se autentica en la aplicación mediante Entra ID y el acceso a los datos está limitado a los datos a los que el usuario tiene acceso.
- Conector personalizado: el conector personalizado describe qué operaciones puede usar la aplicación desde la API de REST, que en el ejemplo se implementa mediante una función Azure. Mediante el uso de un conector personalizado, la aplicación de lienzo de Power Apps puede utilizar la lógica como cualquier otro origen de datos.
- Aplicaciones Microsoft Entra ID: la función Azure se protege mediante una aplicación de Microsoft Entra ID. Se registra y configura una segunda aplicación de Microsoft Entra ID en el conector personalizado para permitir que la aplicación de lienzo de Power Apps acceda a las operaciones de la función Azure.
- Función Azure: La función Azure implementa la API de RESTful que ofrece una o más operaciones que se exponen a la aplicación lienzo de Power Apps ya sea exportando un conector personalizado desde el portal Azure o mediante configuración manual. La función Azure está protegida por un registro de la aplicación Entra ID para garantizar que solo los llamadores autorizados.
- Azure Cosmos DB: La función Azure puede usar Azure Cosmos DB o Azure SQL o cualquier otro almacén de datos en la nube que requiera para administrar los datos. De hecho, la función podría estar trabajando con datos en Microsoft Dataverse usando el enfoque funcional debido a la complejidad de la lógica.
Componentes
- Entorno de Power Platform: contiene recursos de Power Platform como las Power Apps que implementan la aplicación en la tienda de la experiencia de usuario. Estos recursos se mueven de un entorno a otro (por ejemplo, de desarrollador a prueba) utilizando soluciones de Dataverse.
- Power Apps: Power Apps se usa para implementar la experiencia de usuario de la solución. Los creadores pueden crear la aplicación utilizando el conector personalizado creado por el desarrollador de la función Azure como origen de datos de la aplicación.
- Conector personalizado: los conectores personalizados de Power Platform describen las operaciones y las estructuras de datos de una API de RESTful. Permiten que la API se use fácilmente desde recursos como una aplicación de lienzo de Power Apps. Cuando se usan desde Power Apps, permiten hacer referencia a la API como a cualquier otro origen de datos.
Detalles del escenario
Power Apps permite a las organizaciones crear una experiencia de usuario personalizada y, mediante el uso de las API de REST, la lógica de negocios se centraliza y la aplicación accede a ella mediante un conector personalizado. Este enfoque también puede permitir que la aplicación de Power Apps actúe como un integrador de múltiples servicios back-end, proporcionando una vista única al usuario de los datos y la lógica de todos los orígenes. Con el enfoque de la API de REST, también puede desplazar la complejidad de interactuar con otros sistemas para implementar componentes de la API de REST y simplificar la implementación de la aplicación de lienzo, al mismo tiempo que proporciona la misma experiencia de usuario.
En el ejemplo anterior, la aplicación En la tienda se crea con una aplicación de lienzo de Power Apps. La aplicación permite a un empleado de la tienda guardar rápidamente una solicitud de notificación de pedido pendiente para un cliente cuando un artículo está agotado. La aplicación utiliza una sola operación, RecordBackorder, que se configura en un conector personalizado que describe una operación de función Azure de back-end. En este ejemplo, la función Azure es la implementación de la API de REST. Puede utilizar cualquier tecnología que permita la creación de un servicio RESTful para implementar este patrón.
Esta arquitectura ofrece flexibilidad, pero también significa que se necesita más trabajo a favor de los desarrolladores para desarrollar y mantener el servicio RESTful y la capa de datos. En general, a medida que aumenta la complejidad de las fórmulas de la aplicación de lienzo, debe considerar este tipo de arquitectura. Por ejemplo, cuando se necesitan varias fuentes de datos para crear una sola vista, usar una capa de API puede ayudarle a ofrecer una experiencia de rendimiento, porque la respuesta de datos se puede configurar en el lado del servidor y entregarse al cliente de manera más eficiente. El uso de esta capa de nivel medio significa que puede agregar una capa de almacenamiento en caché del lado del servidor e implementar una telemetría más rica para la aplicación.
Consideraciones
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.
Confiabilidad
Diseñe su carga de trabajo para evitar complejidades innecesarias: el uso del enfoque de API de REST desde una aplicación Power Apps a través de un conector personalizado evita la complejidad innecesaria y también centraliza la lógica donde podría ser utilizada por otras aplicaciones de la organización. El conector personalizado permite al Power Apps Maker utilizar las operaciones de la API RESTFul como cualquier otra operación de origen de datos.
Prueba de resistencia y disponibilidad: al trasladar la lógica de la aplicación de lienzo a la API de REST, debería poder probar la API de forma independiente y separada de la aplicación que la usa.
Medir y publicar los indicadores de salud: la telemetría debe capturarse desde el componente API de REST para realizar un seguimiento de su estado. Por ejemplo, el uso de Azure Monitor – Application Insights registro garantizaría un seguimiento adecuado del componente.
Seguridad
Cree segmentación y perímetros intencionales: Asegúrese de que la aplicación usa entornos separados de Power Platform para las etapas del ciclo de vida de la aplicación y asegúrese de que solo los usuarios adecuados tengan acceso a cada etapa para admitir las directivas de segmentación. También es importante que las aplicaciones de Entra ID registradas estén separadas entre los entornos para mantener la protección de cada etapa de los datos y no mezclarse entre entornos.
Excelencia operativa
Adopte prácticas de implementación seguras: estandarice la implementación de cualquier cambio en sus aplicaciones Power Apps mediante procesos de implementación automatizados, como canalizaciones. Promover la aplicación a producción solo después de probar los cambios.
Implementar una estrategia de mitigación de errores de implementación: con la dependencia entre la aplicación y la API de REST, debe asegurarse de tener una estrategia probada para mitigar una implementación de cualquiera de las dos que desarrolle errores después de actualizar uno de los componentes.
Eficiencia en el rendimiento
Diseñar para cumplir con los requisitos de rendimiento: evalúe el rendimiento de su solución y los requisitos de volumen de datos. La evaluación debe incluir cómo se accede a los datos y la evaluación de cómo el uso de diferentes fuentes de datos de Power Apps directamente podría ser demasiado verboso con las fuentes de datos. Esto puede crear una ralentización del rendimiento debido a la latencia de la solicitud individual que se envía a cada almacén de datos. Por ejemplo, si la aplicación tuviera una lógica que funcionara en un gran número de filas en el origen de datos, es posible que pudiera trasladar todo ese tráfico de red a la función Azure de back-end. Reduciendo a una sola interacción con la API de REST, que a su vez gestionaría la interacción con las múltiples otras fuentes de datos donde se podría hacer de manera más efectiva.
Optimizar la lógica: a medida que la lógica se vuelve más compleja en un aplicación de lienzo, Azure Functions o implementaciones de API RESTful de back-end similares pueden trasladar esa lógica en un servicio reutilizable centralizado. El uso de la capacidad de conector personalizado para describir esas API RESTful permite que las aplicaciones lienzo usen sus operaciones configuradas como cualquier otro origen de datos.
Prueba de rendimiento: junto con las pruebas de funcionalidad y fallos, es importante probar y desarrollar una línea de base para el rendimiento y evaluarla como parte de su ciclo de lanzamiento si la API es sensible a los cambios en los tiempos de finalización del trabajo.
Optimización de la experiencia
Diseño para la eficiencia: las aplicaciones que permiten a los usuarios acceder a múltiples orígenes de datos desde una sola aplicación de Power Apps sin necesidad de que interactúen con múltiples aplicaciones individuales, hacen que el usuario sea más eficiente y es un buen uso de una experiencia visual más personalizada.
Colaboradores
Microsoft mantiene este artículo. Los siguientes colaboradores escribieron este artículo.
Autores principales:
- Mehdi Slaoui Andaloussi, Gerente Principal de Ingeniería