Modernización de aplicaciones con Power Platform
En el panorama digital actual, que evoluciona rápidamente, las organizaciones se enfrentan al desafío constante de modernizar sus aplicaciones heredadas para mantenerse al día con las necesidades cambiantes del negocio. La modernización de las aplicaciones es crucial para mejorar la eficiencia operativa, mejorar las experiencias de los clientes y mantenerse por delante de la competencia. Microsoft Power Platform ofrece un conjunto completo de herramientas y tecnologías que permiten a las empresas transformar y modernizar sus aplicaciones de forma rápida y eficaz.
Este informe técnico explora los beneficios, las estrategias y las mejores prácticas de modernizar las aplicaciones con Microsoft Power Platform. Proporciona información y orientación sobre cómo la plataforma de poco código Microsoft puede ayudarlo a garantizar el éxito de sus esfuerzos de modernización de aplicaciones como parte de la transformación digital de su organización.
Propina
Para guardar o imprimir estas notas del producto, haga clic en Imprimir en el explorador y después en Guardar como PDF.
Presentación
Las aplicaciones heredadas presentan muchos desafíos para las organizaciones. Estas aplicaciones a menudo se basan en pilas y marcos tecnológicos obsoletos, lo que dificulta su integración con sistemas y herramientas modernos. A menudo tienen limitaciones de escalabilidad y rendimiento que dificultan la capacidad de una organización para manejar las crecientes cargas de trabajo y las demandas de los clientes. Las aplicaciones heredadas carecen de flexibilidad y agilidad, lo que limita su capacidad para adaptarse rápidamente a las cambiantes necesidades empresariales y a la dinámica del mercado. Las vulnerabilidades de seguridad, los altos costos de mantenimiento, las capacidades de integración limitadas y el riesgo de dependencia del proveedor agravan aún más los desafíos de las aplicaciones heredadas. Para superarlos, las organizaciones necesitan modernizar su infraestructura de aplicaciones para aprovechar las nuevas tecnologías.
Las capacidades de desarrollo de código bajo de Microsoft Power Platform hacen posible crear e implementar aplicaciones modernas de forma más rápida y rentable que nunca. Integre fácilmente sus sistemas y fuentes de datos existentes para un intercambio de datos y una colaboración sin problemas. Agregue inteligencia artificial para mejorar las experiencias de los usuarios, automatizar procesos y obtener información valiosa de sus datos. Tanto si es un desarrollador ciudadano que está retocando los bordes como si es un desarrollador profesional que trabaja en una personalización compleja, puede impulsar la transformación digital de forma intuitiva, rápida y a un coste menor que con los enfoques tradicionales.
¿Por qué Power Platform?
Las herramientas y tecnologías integrales que componen Power Platform reducen drásticamente la duración, el costo y los requisitos de desarrollo de los proyectos de modernización y transformación digital. Su enfoque de código bajo reduce, e incluso puede eliminar, la necesidad de costosos recursos de codificación, ciencia de datos e ingeniería de IA. Tanto los desarrolladores ciudadanos como los desarrolladores profesionales se benefician. Los desarrolladores ciudadanos pueden asumir un papel activo en el proceso de modernización, creando aplicaciones directamente en función de su experiencia en el dominio y reduciendo su dependencia de los equipos de TI. Los desarrolladores profesionales pueden ofrecer incluso soluciones complejas en mucho menos tiempo, lo que les permite pasar antes al siguiente proyecto.
Productos y conceptos de Power Platform
Cada producto de la familia Power Platform tiene un área de enfoque única. Las organizaciones pueden implementar los productos individualmente o en combinación para satisfacer sus requisitos específicos. Los productos están interconectados, formando un todo sin fisuras, independientemente de cómo se combinen.
La tabla siguiente ofrece una descripción general de alto nivel de cada producto Power Platform.
Product | Description |
---|---|
Power Apps | Cree aplicaciones personalizadas en un lienzo intuitivo de arrastrar y soltar. Con más de mil conectores, los orígenes de datos y servicios internos y externos están a solo unos clics de distancia. Su aplicaciones pueden ejecutarse en un navegador, en el escritorio o en dispositivos móviles. |
Power Automate | Cree flujos de trabajo para automatizar incluso los procesos más complejos. Incorpore servicios y orígenes de datos internos y externos mediante conectores integrados y personalizados. Utilice la automatización de procesos digitales (DPA) cuando las aplicaciones tengan una interfaz de programación de aplicaciones (API). Use automatización robótica de procesos (RPA) para automatizar tareas repetitivas realizadas en un navegador o una aplicación de escritorio. Active flujos de trabajo para ejecutarse cuando se producen eventos en otros sistemas y servicios o programarse para ejecutarse a una hora específica. |
Copilot Studio | Creación de agentes de conversación usando una interfaz gráfica sin código. Puede implementar agentes en múltiples canales, incluidos sitios web, aplicaciones móviles y plataformas de mensajería como Microsoft Teams. La creación asistida por IA puede acelerar la creación de temas. Las respuestas generativas pueden encontrar y presentar información de múltiples fuentes sin necesidad de crear temas. |
Power BI | Arrastre gráficos, tablas y otros elementos visuales a un lienzo para crear fácilmente informes sofisticados que descubran información encerrada en sus datos. Incluya el aprendizaje automático automatizado para el modelado predictivo y las visualizaciones de IA con árboles de descomposición para desgloses detallados del análisis de la causa raíz. Explore sus datos haciendo preguntas en lenguaje natural en un sencillo formato de preguntas y respuestas. |
Power Pages | Cree rápidamente sitios web atractivos y basados en datos en una plataforma de software como servicio (SaaS) segura, de nivel empresarial y con poco código. Con plantillas completas y personalizables y una experiencia visual fluida, crear, alojar y administrar sitios web comerciales modernos y externos es más fácil. |
La familia de productos de Power Platform se basa en algunas capacidades y conceptos de apoyo. En la siguiente tabla se describen los más importantes que hay que entender.
Concepto | Description |
---|---|
Power Fx | Power Fx es un lenguaje bajo de código abierto inspirado en las fórmulas de Excel. Fuertemente tipado, declarativo y funcional, con lógica imperativa y administración de estado, todo expresado en texto amigable para el ser humano, Power Fx facilita las tareas de programación comunes tanto para desarrolladores ciudadanos como para desarrolladores profesionales. Admite el espectro completo de desarrollo desde sin código para aquellos que nunca han programado antes hasta "código profesional" para el profesional experimentado, sin aprender o reescribir acantilados en el medio, lo que permite que diversos equipos colaboren y ahorren tiempo y gastos. |
Conectores | Los conectores son vitales para permitir que el bajo código y la codificación tradicional trabajen juntos para ofrecer aplicaciones modernas. Los conectores son un contenedor alrededor de una API que Power Apps y Power Automate utilicen orígenes de datos y servicios internos y externos. Hay más de mil conectores prediseñados disponibles, y puede crear los suyos propios para cualquier API RESTful. La definición del conector incluye los metadatos necesarios para que la API sea fácil de consumir para las aplicaciones con poco código. |
Dataverse | Dataverse es un almacén de datos híbrido a escala de nube basado en servicios de administración de datos de Azure, pero es más que una base de datos. Es la plataforma de datos subyacente para Dynamics 365 y Power Platform, con lógica del lado del servidor en forma de flujos de trabajo y complementos, reglas de negocio y flujos de procesos, un modelo de seguridad altamente sofisticado y una plataforma de desarrollo extensible con soporte integrado para aplicaciones multilingües y multidivisa. Las aplicaciones se pueden construir rápidamente a partir del modelo de datos, lo que lo convierte en una de las formas más rápidas de implementar una solución de formulario sobre datos. |
AI Builder | AI Builder facilita el uso de la inteligencia artificial en Power Apps y Power Automate para buscar información en sus datos, automatizar procesos y hacer que sus aplicaciones sean más productivas. Con AI Builder, no necesita habilidades de codificación ni ciencia de datos para acceder a las capacidades de la inteligencia artificial. Los modelos predefinidos y personalizables están listos para usar para muchos escenarios empresariales comunes, y puede crear sus propios modelos para satisfacer una necesidad empresarial específica. |
Copilot | La asistencia de IA de Copilot hace que los usuarios y desarrolladores de Power Platform, ciudadanos o profesionales, sean más productivos, lo que les permite dedicar más tiempo a las mejores partes de sus trabajos y menos tiempo a tareas mundanas. Describa su escenario de negocio a Copilot en Power Automate y puede convertir su descripción en un flujo de trabajo automatizado. Dígale a Copilot en Power Apps lo que quiere hacer o qué información quiere ver y puede crear una aplicación para ello. Copilot configura conexiones, crea y rellena tablas, genera pantallas e incluso ofrece sugerencias para mejorar su flujo o aplicación. Sus aplicaciones tienen experiencias impulsadas por copilotos integradas desde la primera pantalla, para que sus usuarios puedan descubrir información en la conversación. |
Entornos y soluciones | Los entornos son límites que contienen y facilitan la administración y la seguridad de los recursos de Power Platform. También se utilizan en la administración del ciclo de vida de las aplicaciones (ALM), en la que las soluciones se desarrollan y prueban en entornos separados antes de implementarse en un entorno de producción. Las soluciones son personalizaciones y extensiones de Power Platform empaquetadas. Una solución puede incluir aplicaciones, flujos, tablas, gráficos, paneles, conectores y otros componentes que la personalización o la extensión necesita. Las soluciones se pueden desarrollar, probar e implementar en producción en entornos separados como parte de la política de ALM de una organización. Puede exportar soluciones para compartirlas con otros usuarios u organizaciones e importar soluciones de otros. Las soluciones son administradas o no administradas. Las soluciones no administradas se utilizan para el desarrollo y las pruebas. Las soluciones administradas se utilizan para la producción, la implementación y la distribución. |
Principales ventajas de Power Platform para la modernización de aplicaciones
Los beneficios de modernizar las aplicaciones usando Microsoft Power Platform se extienden más allá del valor comercial inicial de tener una solución que utiliza tecnologías modernas.
Costos más bajos. Las organizaciones pueden ahorrar dinero en el desarrollo y mantenimiento de aplicaciones. Un estudio encargado por Forrester Consulting encontró que las organizaciones que usan Power Platform pueden ver una disminución del 45 por ciento en los costos de desarrollo de aplicaciones y obtener un retorno de la inversión del 140 por ciento.
Amplíe el grupo de recursos y elimine los cuellos de botella. Los desarrolladores profesionales, los científicos de datos y los ingenieros de IA están muy bien pagados y tienen una gran demanda. Las organizaciones pequeñas y medianas a menudo no pueden permitirse el lujo de contar con experiencia en codificación interna y la subcontratación es costosa. El poco código de Power Platform es más accesible mediante un grupo más grande de recursos. Los expertos en la materia y los empleados con experiencia en procesos de negocio pueden ayudar a acelerar los esfuerzos de modernización, incluso si nunca han escrito una línea de código.
Construye el carro, no reinvente la rueda. El desarrollo de software tradicional comienza de cero cada vez, reinventando la rueda con cada nuevo proyecto. Con productos de Power Platform con poco código, intuitivos y fáciles de usar como sus ruedas, puede concentrarse en crear un mejor carrito, mejorar sus procesos comerciales, y disfrutar de los beneficios de sus esfuerzos de modernización antes.
Reducir la deuda técnica. El costo, tanto financiero como en oportunidades perdidas, de actualizar soluciones de software "rápidas y sucias" y mantener la infraestructura heredada es alto. Power Platform reduce esta deuda técnica al hacer que sea más fácil y barato crear soluciones desde el primer momento, simplificar la integración y la gobernanza de datos con un modelo de datos y conectores comunes, proporcionar una plataforma centralizada para administrar soluciones y respaldar la mejora continua con análisis e IA.
Mejoras de seguridad y garantizar el cumplimiento. Todos los productos de Power Platform incluyen seguridad, cumplimiento y gobernanza de nivel empresarial totalmente integrados y listos para usar, comenzando con los entornos en los que se ejecutan. Entornos administrados es un conjunto de herramientas que permite a los administradores gestionar Power Platform a escala, con mayor control, y menos esfuerzo. Entre otras capacidades, puede limitar quién puede compartir qué flujos y aplicaciones y con quién, y usar políticas para restringir los conectores que pueden usar los creadores. Los modelos de seguridad de datos nativos y flexibles significan que cada aplicación no tiene que crear la suya propia.
Modernice por uso. Cuanto más importantes sean las aplicaciones que desea modernizar, menos probable es que desee reemplazarlas todas a la vez. Un enfoque de código bajo se presta bien para crear soluciones en incrementos manejables.
Integrar aplicaciones heredadas. Las aplicaciones más antiguas a menudo no tienen API. Las capacidades RPA de Power Platform pueden automatizar aplicaciones clásicas e incluirlas en sus nuevos procesos de negocio modernos. La RPA también puede ser útil para modernizar gradualmente aplicaciones grandes y complejas.
Innova sin gastar más. Las capacidades de Power Platform siguen mejorando. Las aplicaciones creadas en la plataforma se benefician de las innovaciones de Microsoft sin más costo para usted.
Aumente la productividad de los trabajadores en un lugar de trabajo moderno. Power Platform es parte del entorno de trabajo moderno Microsoft. Las aplicaciones modernizadas en la plataforma pueden aprovechar las capacidades de Microsoft 365, incluidas las atractivas experiencias móviles y la colaboración fácil e intuitiva. La IA de vanguardia como Copilot, AI Builder, y las características que pronto se anunciarán hacen que los usuarios y desarrolladores sean más productivos con menos frustración y curvas de aprendizaje menos profundas.
Innovación para el trabajador de primera línea
Los trabajadores de primera línea necesitan aplicaciones modernas que puedan usar en cualquier dispositivo y en cualquier lugar donde trabajen. Necesitan acceso a información en tiempo real para tomar mejores decisiones más rápido. Necesitan colaborar con sus compañeros de trabajo y la gerencia para que todo funcione sin problemas. Cuando American Airlines decidió modernizar aspectos de sus operaciones, obtuvo todo eso y más.
En asociación con Microsoft, American Airlines creó ConnectMe, una aplicación de Microsoft Teams basada en Power Apps y Azure. Al usar la aplicación en cualquier dispositivo móvil, los equipos de primera línea tienen información clave de llegada, embarque, equipaje y puertas de embarque al alcance de la mano en tiempo real, lo que agiliza las operaciones en tierra, acelera los tiempos de rotación de los aviones y hace que el viaje sea una experiencia más agradable para los clientes. Obtenga más información sobre la transformación de la aerolínea.
Empoderamiento de la IA para los trabajadores del conocimiento
Los trabajadores del conocimiento están nadando en un océano de datos y, con demasiada frecuencia, sienten que se están ahogando. Casi todas las aplicaciones recopilan datos. Pocos de ellos ayudan a los usuarios a dar sentido a los datos que recopilan, y mucho menos a extraer información que podría ayudar a los trabajadores a hacer mejor su trabajo. Las capacidades de IA se pueden agregar a las aplicaciones como parte de la modernización, no solo automatizando la recopilación y el análisis de datos, sino también facilitando a los trabajadores del conocimiento la detección de patrones y tendencias. El análisis predictivo puede utilizar modelos de IA para pronosticar resultados futuros basados en datos históricos con alta precisión, lo que permite a los líderes planificar con confianza. Las aplicaciones modernizadas pueden incluir copiloto IA, que actúa como socio para generar contenido en contexto, resumiendo entrevistas, redactando mensajes de marketing y ventas específicos, e incluso ofreciendo información útil en tiempo real mientras un representante de servicio al cliente o un vendedor habla por teléfono con un cliente.
Un recorrido incremental hacia la modernización de las aplicaciones heredadas
Si su organización es como la mayoría, tiene una creciente acumulación de aplicaciones obsoletas que se beneficiarían de la modernización. Las aplicaciones heredadas suelen utilizar tecnología obsoleta y se basan en una infraestructura (hardware y software) que ya no es compatible. A menudo, solo unos pocos empleados, generalmente los que se acercan a la jubilación, saben cómo trabajan. El nuevo personal no quiere tener nada que ver con ellos porque no pueden usar las herramientas modernas a las que están acostumbrados o con las que quieren trabajar. Mantenerlos, y mucho menos actualizarlos, requiere escalar una montaña de deuda técnica que crece más a medida que se sube. Años, tal vez décadas, de mantenimiento de parches dan como resultado una base de código que nadie se atreve a tocar, especialmente cuando la mayor parte del negocio depende de ella.
A menudo, las organizaciones no pueden reemplazar fácilmente todas estas aplicaciones a la vez. En su lugar, se embarcan en un viaje de modernización incremental. Un enfoque incremental maximiza los beneficios de la modernización al tiempo que mitiga algunos de los riesgos de un esfuerzo de modernización todo o nada, una sola vez.
Opciones para modernizar aplicaciones
La modernización no siempre significa reconstruir una aplicación heredada desde cero. Otras opciones son retirarlo, reemplazarlo, volver a hospedarlo, refactorizarlo y rediseñarlo.
En la tabla siguiente se describe cada opción, la fase de ALM en la que es más adecuada y los factores que pueden influir en su selección.
Fin de vida
Migración
Modernización
Retirar
Reemplazar
Rehospedar
Refactorizar
Rediseñar
Recompilación
Description
Eliminar aplicación
Reemplazar la aplicación con SaaS u otra aplicación
Volver a implementar tal cual en la nube
Optimizar el código existente
Cambie el código a una nueva arquitectura de aplicación o divídalo en microservicios
Reescribir la aplicación desde cero con el alcance y las especificaciones originales
Controladores
Ya no se necesita
Reducir gastos
Reducir los gastos de cpaital
Aproveche las nuevas tecnologías
Reducir los gastos de cpaital
Recuperar el almacenamiento de datos
Rápido retorno de la inversión en la nube
Actualizaciones más rápidas y cortas
Más código portátil
Mayor eficiencia en la nube en recursos, velocidad, costo
Mejorar el rendimiento
Reducir la deuda técnica
Mejorar la escalabilidad, la fiabilidad y la facilidad de mantenimiento
Facilitar la adopción de nuevas capacidades en la nube
Combinar pilas de tecnología
Acelerar innovación
Acelerar el desarrollo
Reduzca los gastos operativos
Tecnologías de Microsoft
Power Apps
Dynamics 365
Azure IaaS
Azure VMWare
Power Platform
Contenedores
Azure PaaS
Power Platform
Azure PaaS
Microservicios sin servidor
Power Platform
Azure PaaS
Microservicios sin servidor
En la tabla siguiente se sugieren formas en las que se puede aplicar un enfoque de poco código a cada una de las opciones de modernización de aplicaciones.
Opción | Description |
---|---|
Rehospedar | El rehospedaje mueve una aplicación tal como está de un entorno antiguo a uno más nuevo. Un enfoque de código bajo no se aplica directamente, pero el realojamiento puede ser el primer paso antes de aplicar otras estrategias que incluirían soluciones de código bajo. |
Refactorizar o rediseñar | La refactorización modifica el código para que las aplicaciones puedan obtener el máximo beneficio de un entorno centrado en la nube. La rearquitectura modifica significativamente el código. Podría incluir encapsular la lógica existente moviéndola a una API que pueda exponerse a soluciones de código bajo a través de un conector. |
Reemplazar o reconstruir | Reemplazar intercambia una aplicación por otra. La reconstrucción recrea una aplicación desde cero. Esta opción es comúnmente donde un enfoque de código bajo logra los mejores resultados empresariales. Comenzar con una aplicación de Dynamics 365 o Microsoft AppSource puede ayudar a impulsar la modernización cuando el caso de uso coincide con una capacidad preconstruida. A continuación, las organizaciones pueden usar componentes Power Platform para personalizar la aplicación según sus necesidades únicas. |
Power Platform tiene el potencial de ofrecer mucho más que otra herramienta de desarrollo. Hacer que el código bajo forme parte de su estrategia de aplicaciones modernas también puede sentar las bases para capacitar a los no desarrolladores, como los expertos en la materia, para que participen en su esfuerzo de modernización. Las organizaciones han descubierto que el establecimiento de un Centro de Excelencia (CoE) alrededor de Power Platform y el uso de herramientas como el Kit de inicio del CoE para crear directrices y gobernanza ayuda a los usuarios a crear aplicaciones y automatizaciones con poco código con éxito, y garantiza que activos como las API y los componentes se puedan reutilizar. El código bajo puede acelerar el desarrollo de aplicaciones y ayudar a las organizaciones a extraer valor de sus datos más rápido, independientemente de dónde se encuentren. De hecho, muchas organizaciones deciden integrar una mentalidad low-code en su cultura.
Una guía para su proceso de modernización
Es fácil sentirse abrumado cuando se empieza a pensar en modernizar las aplicaciones heredadas. Una guía puede ayudarle a planificar su viaje y mantenerle en el camino correcto a lo largo del camino. Un buen punto de partida es con estos tres pasos, teniendo en cuenta cada uno de ellos con una mentalidad low-code.
Planificación. Piense detenidamente en sus objetivos para modernizar una aplicación heredada y defina su estrategia para alcanzarlos. Tenga una declaración clara del problema que desea que resuelva la modernización. Este es el momento de evaluar sus aplicaciones y entornos con la vista puesta en lo que no funciona, lo que funciona pero podría mejorarse y, lo que es más importante, qué valor, para la empresa o para los usuarios, resulta de cualquier cambio. Evalúe cada oportunidad de modernización por su potencial para aprovechar un enfoque con poco código. Dé prioridad a las oportunidades que incorporan soluciones con poco código. Utilice el Evaluador de Estrategia de Adopción de la Nube para crear un caso de negocio para la modernización de aplicaciones.
Implementación. Modernice sus aplicaciones no solo de forma incremental, sino iterativa. Un enfoque iterativo brinda a las organizaciones la flexibilidad para cambiar el alcance o la estrategia de su proyecto según sea necesario. Las soluciones con poco código de Power Platform se pueden desarrollar y probar más rápido que las aplicaciones desarrolladas tradicionalmente, y la implementación en entornos administrados requiere solo unos pocos pasos. Si bien el poco código requiere menos capacitación que la codificación tradicional, asegúrese de que sus empleados estén debidamente capacitados sobre cómo trabajar como equipos de fusión, que combinan recursos de poco código y tradicionales.
Operaciones. La modernización de las aplicaciones no se detiene en la implementación. Con un enfoque de poco código y centrado en la nube, puede utilizar los servicios y las herramientas de la plataforma en la nube para proteger, controlar, administrar y optimizar sus aplicaciones.
Evalúe las oportunidades de soluciones con poco código
Las organizaciones utilizan varios métodos, desde una revisión informal hasta árboles de decisión detallados, para determinar si un enfoque de poco código es la forma correcta de modernizar una aplicación heredada. Lo más importante a tener en cuenta es que el poco código no es una decisión de todo o nada. Es común crear parte de una aplicación a partir de componentes de Power Platform y parte de ella a partir de componentes desarrollados mediante técnicas de codificación tradicionales.
Para evaluar una aplicación, se recomienda que primero determine si todavía es necesaria y útil o si debe retirarse. Si decide que aún es necesario, evalúe si una solución con poco código puede reemplazar la aplicación en su conjunto. Si toda la aplicación no es una buena opción para un reemplazo con poco código, evalúe si una o más de las cargas de trabajo o componentes de la aplicación podrían serlo. Es posible que una solución de poco código ampliada con código desarrollado tradicionalmente proporcione lo mejor de ambos mundos.
Por ejemplo, si determina que una aplicación no es adecuada porque a Power Apps le falta un control necesario, puede usar el Power Apps component framework (PCF) y el código tradicional para crear un control personalizado. Otro ejemplo es una aplicación que tiene una lógica compleja. Podría centralizar la lógica en una API a la que Power Apps se pueda acceder mediante un conector personalizado. En ambos ejemplos, la extensibilidad Power Platform permitió que la mayor parte de la aplicación se creara con componentes de poco código, cerrando las brechas con el código desarrollado tradicionalmente.
NSure.com, una plataforma patentada de compra de seguros en línea, ofrece un ejemplo del mundo real. El lanzamiento inicial de la compañía se basó en los servicios Angular, Xamarin y Azure desarrollados tradicionalmente. Al agregar Power Platform y Dynamics 365, NSure.com creó una solución de próxima generación utilizando técnicas de codificación tradicionales y de bajo código, como se muestra en el siguiente diagrama. Más información sobre el recorrido de la empresa.
Tan importante como identificar oportunidades de código bajo es reconocer cuándo un enfoque de código bajo no es el adecuado. En las tablas siguientes se describen casos de uso que normalmente no son adecuados para soluciones con poco código. Las organizaciones se enfrentan a diferentes desafíos en el front-end y el back-end, así que vamos a considerarlos por separado.
Escenarios de front-end que no se ajustan a un enfoque de código bajo
Escenario | Desafío |
---|---|
El dispositivo del usuario no es compatible | Power Platform reconoce dispositivos móviles y dispositivos especializados, como escáneres de códigos de barras. Es posible que los dispositivos que dependen de API o controladores específicos no sean compatibles y requieran un enfoque más tradicional. |
Gran volumen de datos del lado del cliente | La experiencia del usuario en algunas aplicaciones requiere grandes cantidades de datos, un reto para cualquier tecnología, no solo para el low-code. Descargar y procesar tantos datos puede estresar los sistemas back-end y degradar el rendimiento tanto de la aplicación como del dispositivo en el que se ejecuta. Los usuarios no son tan productivos cuando se ven obligados a navegar por un mar de datos. Antes de recurrir a los métodos de codificación tradicionales para manejar la carga, explore si el filtrado y la navegación adecuados pueden proporcionar una mejor experiencia de usuario. |
Requisitos fuera de línea complejos | Las aplicaciones que necesitan funcionar en lugares donde la conectividad es deficiente o inexistente pueden ser difíciles de implementar y admitir, ya sea que usen low-code o código tradicional. Power Apps ofrece una capacidad básica para escenarios sencillos sin conexión. Por ejemplo, una aplicación que capture clientes potenciales durante un evento y los cargue en una base de datos de marketing después del evento funcionaría bien. Para las aplicaciones que requieren archivos e imágenes, sin conectores Dataverse o resolución de conflictos complejos, debe recurrir a las técnicas de código tradicionales. |
Escenarios de back-end que no se ajustan a un enfoque con poco código
Escenario | Desafío |
---|---|
Datos de alta velocidad | Por lo general, se admite la importación de millones de filas de datos como parte de migraciones y eventos similares. Sin embargo, las cargas de trabajo que implican el procesamiento de millones de filas de datos por hora o por día deben estar sujetas a una evaluación adicional. Por ejemplo, recopilar grandes volúmenes de telemetría de Internet de las cosas (IoT) en Dataverse no tendría sentido. En su lugar, los servicios en la nube Azure podrían usarse para recopilar y analizar los datos y las señales relevantes agregadas a Dataverse para desencadenar acciones en la aplicación. Las aplicaciones que implican un gran volumen de actualizaciones a datos Dataverse con regularidad pueden requerir la ayuda de código tradicional para escalar las actualizaciones. |
Cargas de trabajo en segundo plano con lógica compleja | Es posible que las cargas de trabajo en segundo plano que implican una lógica compleja o un gran volumen de llamadas API no sean adecuadas para una solución con poco código. En su lugar, la lógica se puede centralizar en una API a la que pueda llamar una solución con poco código. |
API que utilizan protocolos que no son RESTful | Los conectores Power Platform solo admiten APIs REST. Si necesita conectarse a otra API de estilo, como SOAP o gRPC, proporcione su propia APIs REST que se comunique con la incompatible. |
Le recomendamos que se mantenga al día con lanzamientos de versiones de Power Platform, ya que siguen cerrando las brechas en lo que puede hacer con las soluciones con poco código. La creación de una prueba de concepto con poco código es una buena manera de determinar si su escenario es una buena opción.
Priorizar oportunidades con poco código
Al evaluar su cartera de aplicaciones, no basta con identificar buenos candidatos para la transformación con poco código. Su equipo debe priorizarlos para maximizar el éxito de sus esfuerzos de modernización.
Al priorizar, debe tener en cuenta los siguientes factores:
- La madurez de poco código de su organización
- La complejidad de la oportunidad
- ROI para la organización, los usuarios y TI
- Tiempo de obtención de rentabilidad
Ser realista acerca de las capacidades de poco código de tu organización puede ayudarte a elegir una oportunidad que desafíe a tu equipo a crecer, pero que no los abrume para que fracasen. No tienes que elegir la aplicación más sencilla sin ningún desafío. Uno ideal ofrecería algunas oportunidades para explorar cómo combinar el código tradicional con soluciones de bajo código.
Las aplicaciones con una integración compleja con otros sistemas a menudo no son el mejor lugar para comenzar. Tratar de abordar aplicaciones que son demasiado grandes o demasiado complejas puede generar frustración y fracaso. Evite los que sean candidatos cuestionables de bajo código. Guárdelos para después de que su equipo haya completado algunas modernizaciones exitosas.
Al modernizar una aplicación grande y monolítica, plantéese si puede modernizar pequeñas partes de ella de forma incremental. Las aplicaciones monolíticas solían ser comunes. Ahora, las aplicaciones más pequeñas centradas en roles o tareas son más comunes. Permiten el desarrollo incremental y las mejoras y el escalado de los equipos que los construyen.
Las primeras modernizaciones son importantes porque permiten a la organización ver el impacto de las soluciones con poco código. Evaluar los beneficios y los riesgos para las partes interesadas de una aplicación es importante cuando se priorizan las oportunidades. Elegir una aplicación que a nadie le importe o que tenga un bajo impacto en la organización no será la mejor demostración de las ventajas de una solución low-code.
Es importante que el usuario adopte la aplicación modernizada. Los usuarios necesitan sentir que su nueva aplicación con poco código encaja con el resto de las aplicaciones que utilizan. Otro riesgo para la adopción es el grado de personalización al que están acostumbrados. Si esperan una experiencia altamente personalizada, es posible que estén menos inclinados a adoptar una solución de poco código que se sienta menos personal.
Organiza y mejora las habilidades de tus equipos
Las organizaciones que tienen éxito en la modernización de sus aplicaciones heredadas no solo asignan un proyecto de modernización a un equipo de desarrolladores de código tradicional y esperan que tengan éxito. Es importante proporcionar a su equipo el conocimiento y la confianza en el desarrollo de bajo código que necesita para completar con éxito un esfuerzo de modernización.
Un equipo de recursos de poco código que trabaja junto con los recursos de código tradicionales se denomina equipo de fusión. Los equipos de fusión están diseñados para fomentar la colaboración mediante la capacitación de ambos tipos de recursos en la integración de soluciones de poco código con código tradicional. Un arquitecto de soluciones establece cómo se diseña la solución entre el poco código y el código tradicional.
Si bien es fácil asignar todo el trabajo a los desarrolladores tradicionales de forma predeterminada, los esfuerzos de modernización de poco código son buenas oportunidades para expandir el equipo del proyecto. Muchos usuarios empresariales crean excelentes recursos con poco código. Pueden acelerar el trabajo del equipo porque ya entienden el problema del negocio. Solo necesitan aprender a completar los tipos de trabajo con poco código que asume el equipo y estar familiarizados con las pruebas y los procedimientos de ALM. Eso podría significar aprender a crear aplicaciones en Power Apps o flujos de trabajo en Power Automate. También deben comprender lo que los programadores tradicionales pueden desarrollar para facilitar sus esfuerzos de poco código. Esto no significa que tengan que saber cómo escribir código tradicional.
Los recursos de código tradicional deben tener un conocimiento básico de los enfoques de poco código y de cómo estos difieren del código que normalmente escriben. Y lo que es más importante, deben aprender las opciones de extensibilidad de las soluciones con poco código. Deben sentirse cómodos creando una aplicación o un flujo de prueba que use el código que escriben para asegurarse de que funciona y estar preparados para admitir recursos de poco código en el consumo de sus activos de extensibilidad.
Tanto los recursos de poco código como los de código tradicional deben comprender dónde comienzan y terminan las soluciones de poco código y código tradicional y dónde se cruzan.
Recolección de requisitos
Es posible que descubra que tiene aplicaciones que tienen una década o más y no están documentadas. Es posible que se requieran ingeniería inversa o conocimientos de usuario empresarial para recrearlos. Es importante recordar que, si bien un enfoque de código bajo es eficiente, no agiliza la recopilación de requisitos y conocimientos de procesos de negocio ni hace que los requisitos complejos sean menos complejos. A menudo, existe una expectativa poco realista de que un equipo que está modernizando una aplicación logre tanto como un equipo que está creando una nueva aplicación con poco código. Establezca las expectativas de su organización teniendo en cuenta estos desafíos.
Hay dos enfoques que pueden ayudar a acelerar el esfuerzo de adquirir conocimientos sobre una aplicación heredada. En primer lugar, amplíe el equipo para incluir usuarios empresariales con conocimientos sobre el área. En segundo lugar, concéntrese en comprender el proceso de negocio y su resultado deseado en lugar de documentar cómo se implementa en el sistema heredado. La excepción a esto es si la aplicación heredada requiere una lógica especializada que ejecute reglas de negocio que debe seguir.
Evite trabajar contra enfoques de poco código
Las organizaciones que son nuevas en la modernización de aplicaciones con soluciones de poco código a menudo cometen el error de desarrollar poco código de la misma manera que desarrollan el código tradicional. Por ejemplo, una organización puede aplicar estándares de UX escritos para aplicaciones Angular a su primera implementación de Power Apps. El equipo del proyecto pasaría tiempo innecesario tratando de cumplir con los estándares que fueron diseñados para las capacidades del marco Angular y no para las necesidades comerciales.
Los equipos que están acostumbrados a trabajar con código tradicional pueden intentar minimizar el poco código. Por ejemplo, en lugar de usar controles Power Apps, el equipo podría crear una aplicación a partir de controles de Power Apps component framework para evitar usar poco código tanto como sea posible. Lo mejor es que los equipos lleguen lo más lejos posible con poco código hasta que se topen con bloqueadores que no se puedan solucionar. Los equipos que aprenden a aprovechar las capacidades de la plataforma tienen más éxito en lograr los máximos beneficios del poco código. El low-code sigue siendo cada vez más capaz de asumir lo que antes solo era posible con el código tradicional. Un desafío común en el pasado era quedarse atascado porque el poco código no podía replicar algunas funcionalidades necesarias. Power Platform aborda este desafío con opciones de extensibilidad que permiten que la mayoría de las aplicaciones de poco código incorporen componentes especializados escritos en código tradicional cuando sea necesario.
Los enfoques de poco código pueden desempeñar un papel importante en sus estrategias de modernización. Los mejores resultados requieren una declaración clara del problema que se pretende resolver con el esfuerzo de modernización, planificación, dotación de personal que vaya más allá de los roles predeterminados, capacitación y priorización. Realizar los ajustes adecuados en sus estándares y procesos, si es necesario, también ayuda a las organizaciones a aprovechar todo el potencial del low-code. Una modernización bien hecha debería mejorar el valor empresarial general de las aplicaciones modernizadas.
Las plataformas low-code han evolucionado rápidamente en los últimos años. Si bien siempre han sido buenos para respaldar escenarios de productividad individuales, el enfoque reciente se ha centrado en las capacidades empresariales. Las organizaciones están creando aplicaciones con poco código que admiten el lugar de trabajo moderno, incluido el trabajo híbrido (remoto e in situ) y la necesidad concomitante de formas de fomentar la colaboración. Las plataformas Power Platform de poco código ahora pueden escalar para manejar aplicaciones en las que todos los usuarios de una organización pueden confiar y que pueden integrarse en los modelos de seguridad empresarial. Al conectar las capacidades de poco código a la infraestructura empresarial, puede utilizar técnicas de poco código en paralelo con los métodos tradicionales. El poco código abstrae gran parte de la complejidad y permite que un conjunto más amplio de personas participe en la creación de soluciones.
Comprender la estructura de costos de un enfoque de código bajo
Una pregunta común que se hacen las organizaciones cuando consideran un esfuerzo de modernización es ¿cuánto costará? Si bien una discusión completa de las licencias y el análisis de costos está más allá del alcance de este documento, podemos explorar estos temas a un alto nivel.
Los productos Power Platform son productos licenciados. Puede licenciarlos individualmente para que coincidan con sus requisitos. Puede configurar la facturación Azure para el pago por uso, que permite el uso sin un compromiso de licencia o compra por adelantado e incluye parte del uso en la aplicación Power Automate. Power Automate también tiene licencias por usuario y por flujo para trabajo independiente. Las licencias por flujo funcionan bien cuando tiene una automatización que beneficia a toda la organización. Licencias por usuario o por aplicación de Power Apps. Los sitios Power Pages tienen licencia por usuario, sitio o mes. Se necesita una licencia adicional para los sitios autenticados. Todas las licencias incluyen el uso de conectores y Dataverse, con la opción de licenciar más almacenamiento y peticiones de API para escenarios de gran volumen.
Todos los productos Power Platform tienen precios por volumen que se aplican comúnmente a los esfuerzos de modernización de aplicaciones y deben evaluarse para la estrategia única de cada organización.
Al evaluar el costo de poco código en comparación con el código tradicional, es esencial darse cuenta de que la comparación no es comparar peras con manzanas. Con poco código, paga por la mano de obra para implementar un proceso de negocio único en el producto de poco código y por la licencia del producto para usarlo. En general, la licencia incluye múltiples aplicaciones y automatizaciones sin que cada una de ellas requiera un mayor costo.
Con los enfoques de codificación tradicionales, se paga por la mano de obra para implementar un proceso de negocio único en el código, la mano de obra para crear la infraestructura de la aplicación y los servicios en la nube necesarios para dar soporte a la aplicación.
Todas las soluciones, ya sean de poco código o de código tradicional, requieren un mantenimiento y conservación continuos. Sin embargo, las soluciones low-code requieren menos recursos para hacerlo. También incurren en menos deuda técnica porque la infraestructura de la aplicación es proporcionada por la plataforma.
En comparación con una aplicación totalmente personalizada que no se basa en una plataforma poco código, una solución poco código tiene un costo más predecible. Evite caer en la trampa de comparar las licencias de poco código con el costo inicial de la implementación de código tradicional.
Un vistazo dentro de Power Platform
Los componentes Power Platform se basan en los mismos servicios en la nube de Microsoft Azure que están disponibles si se utilizan métodos de codificación tradicionales. La integración de estos componentes entre sí y con características de seguridad, escalabilidad y recuperación ante desastres ha sido realizada para usted.
Dentro de Dataverse
Dataverse cuenta con la tecnología de más de 25 servicios Azure totalmente administrados, como Functions, Load Balancer, Cognitive Services, Synapse, DevOps, Active Directory y Microsoft Purview. Las capacidades integradas incluyen seguridad integral, análisis potentes, IA, lógica empresarial avanzada y manejo de eventos, modelado de datos e integración con Dynamics 365, Microsoft 365, Azure, y más. Todas estas capacidades se basan en una capa de almacenamiento políglota Dataverse, que se basa en Azure SQL DB (para datos relacionales), Azure Cosmos DB (para NoSQL), Azure Blob Storage (para archivos) y Azure Data Lake Storage Gen 2 (para análisis a gran escala y retención de datos a largo plazo). Están disponibles para un uso transparente en componentes de poco código de Power Platform y a través de la Dataverse API REST.
Alta disponibilidad y la continuidad empresarial y recuperación ante desastres (BCDR) son importantes para sus aplicaciones críticas para la empresa. Dataverse maximiza la disponibilidad con servicios de confiabilidad Azure. La replicación de servidores primarios y secundarios es sincrónica, con una estructura subyacente que puede detectar errores y elegir un nuevo servidor principal siguiendo los protocolos correctos. Las conmutaciones por error de alta disponibilidad, que se producen dentro de una región de Azure, son perfectas y los usuarios rara vez las notan, y suelen producirse en segundos. Se garantiza que no perderán datos, independientemente de si la interrupción es planificada o no.
Las conmutaciones por error de recuperación ante desastres se producen entre dos regiones Azure. Para garantizar una conmutación por error más rápida con una pérdida de datos mínima, se mantiene una copia continua de recuperación ante desastres mediante la replicación asincrónica. Las conmutaciones por error planeadas no incurren en pérdida de datos y, para entornos de producción, generalmente se pueden completar en segundos o unos minutos.
Además de la implementación técnica de alta disponibilidad y BCDR, el equipo de operaciones prueba regularmente su preparación para responder a diversos tipos de eventos.
Dentro de Power Automate
Los flujos en la nube de Power Automate se crean sobre Azure Logic Apps. Power Automate proporciona abstracciones e integración con otros componentes con poco código como Power Apps y utiliza el motor de tiempo de ejecución Logic Apps. Los desarrolladores que estén familiarizados con Logic Apps encontrarán que Power Automate utiliza conceptos similares, incluido el lenguaje de expresión.
Dentro de Power Apps
El motor de tiempo de ejecución de Power Apps se basa en el framework React. Las aplicaciones están construidas en el diseñador de Power Apps, que utiliza una interfaz de arrastrar y soltar para crear pantallas. Las fórmulas de Power Fx implementan la lógica. Los conectores amplían el acceso de las aplicaciones a otros servicios, lógica y componentes que permiten extensiones visuales reutilizables. Los desarrolladores pueden usar el Power Apps component framework (PCF) para crear controles personalizados. Si bien muchos marcos de interfaz de usuario se pueden usar junto con PCF, Power Apps cuenta con soporte integrado para React.
Dentro de conectores
Los conectores usan Azure API Management para administrar las credenciales y las conexiones de cada usuario.
Se utiliza la misma arquitectura para todos los conectores, incluidos los conectores personalizados que cree para sus propias API. El uso de Azure API Management garantiza una interfaz coherente para productos Power Platform como Power Apps y Power Automate con todos los conectores.
Una excepción es el conector de Dataverse. Aparece en la lista de conectores para aplicaciones y flujos, pero se implementa de manera diferente. Cuando una aplicación o un flujo usa datos o acciones Dataverse, la interacción es directa mediante de la API de OData de Dataverse.
Opciones de extensibilidad Power Platform
La extensibilidad es una característica clave que diferencia Microsoft Power Platform de otras plataformas con poco código. Un principio rector de la plataforma es "no hay acantilados": no se le debe impedir lograr algo con poco código, incluso si requiere código tradicional. Puede crear una carga de trabajo completa como parte de una aplicación más grande usando código tradicional si es necesario. Sin embargo, la plataforma ofrece muchas opciones de extensibilidad que permiten que el código de bajo nivel y el código tradicional se utilicen juntos en la misma carga de trabajo.
En la tabla siguiente se proporciona una descripción general de alto nivel de algunas de las opciones de extensibilidad comunes. Volveremos a referirnos a algunos de ellos más adelante, cuando hablemos de cómo abordar la modernización y de los patrones que se pueden aplicar.
Opción | Description |
---|---|
API y conectores personalizados | Los conectores personalizados para las API de REST centralizan la lógica de la aplicación y permiten exponerla a componentes con poco código de forma segura y controlada. Puede utilizar este enfoque en una estrategia que dé prioridad a las API para la modernización de aplicaciones. El conector personalizado utiliza un documento de OpenAPI para definir cómo puede interactuar un componente de poco código con la API de REST. Por ejemplo, puede crear una API con Azure Functions y publicarla en Azure API Management. Azure API Management puede exportar una definición de OpenAPI para crear automáticamente el conector personalizado para su uso en una solución con poco código. Este enfoque desacopla las aplicaciones cliente de las API, lo que permite que evolucionen de forma independiente. Las API se administran de forma centralizada, lo que agrega una capa de seguridad al no exponer la API directamente y usar técnicas de autenticación como claves de suscripción, tokens, certificados de cliente y encabezados personalizados. |
Power Apps component framework | El Power Apps component framework es un marco de extensibilidad para crear objetos visuales personalizados para Power Apps y Power Pages. Los componentes de código se crean utilizando HTML, JavaScript o TypeScript. Piense en los componentes de código como bloques de creación de la interfaz de usuario que se pueden reutilizar para crear una o varias aplicaciones. Los componentes incluyen un manifiesto que define cómo puede interactuar un componente con poco código con el componente de código. La interfaz de componentes permite que el motor de tiempo de ejecución de hospedaje comunique los eventos del ciclo de vida del contenedor de hospedaje. Esto permite que el componente de código represente sus objetos visuales utilizando la información de contexto proporcionada por el contenedor de hospedaje. Para obtener ideas, navegue por la galería de la comunidad en https://pcf.gallery. |
Tablas virtuales | Las tablas virtuales facilitan la integración de datos que residen en sistemas externos. Representan a la perfección los datos externos como tablas en Microsoft Dataverse, sin replicar los datos y, a menudo, sin necesidad de codificación personalizada. Dataverse se envía con proveedores de datos para OData v4 y Azure Cosmos DB. Un proveedor de conectores virtuales, actualmente en versión preliminar, expande los proveedores de datos disponibles para incluir un subconjunto de los conectores Power Platform, incluyendo SharePoint y servidor SQL. Para escenarios más avanzados, los desarrolladores pueden crear proveedores de datos personalizados. La creación de proveedores de datos personalizados requiere un conocimiento profundo tanto de los datos externos como de Dataverse. La capacidad de crear complementos de Dataverse usando Power Fx para la lógica está en versión preliminar. |
Complementos de Dataverse | Un complemento de Dataverse es un controlador de eventos personalizado que se ejecuta en respuesta a un evento específico. Piense en los complementos como procedimientos almacenados en un motor de base de datos, pero escritos en .NET. Por ejemplo, los eventos se generan durante el procesamiento de una operación de datos de Microsoft Dataverse o a petición para eventos de API personalizados. El complemento se implementa como una clase personalizada compilada en un ensamblado de .NET Framework que se puede cargar y registrar con Dataverse. Mediante una interfaz definida, el complemento puede obtener información de contexto sobre el evento que se está procesando. Los complementos pueden ejecutarse como parte de la transacción de Dataverse y pueden realizar otras operaciones de datos que forman parte de la transacción actual. Los plug-ins están pensados para pequeñas unidades de trabajo. Su rendimiento debe optimizarse para que no afecte negativamente al rendimiento general. Los complementos siempre se ejecutan, independientemente de las operaciones de la interfaz de usuario o la API, lo que los convierte en una forma eficaz de aplicar la lógica empresarial de forma coherente. |
Exploración de escenarios de arquitectura de modernización con poco código
Al igual que con la mayoría de las plataformas, puede componer un número infinito de escenarios de arquitectura utilizando componentes Power Platform y otros servicios en la nube Microsoft. En esta sección del documento, exploramos algunos de los escenarios más comunes y analizamos algunas consideraciones que debe tener en cuenta al usarlos.
Experiencias en las aplicaciones
Modernizar la experiencia del usuario puede marcar una gran diferencia para los usuarios. Power Apps es la forma principal de crear experiencias de aplicaciones internas con Power Platform. Se puede usar Power Pages para aplicaciones web internas, pero es más común para aplicaciones externas.
Power Apps
Las cargas de trabajo deben diseñarse para que los usuarios puedan completar gran parte de su trabajo sin cambiar de aplicación. Al modernizar una aplicación grande y monolítica, puede dividir su funcionalidad en varias aplicaciones. Por el contrario, si los usuarios necesitan trabajar con varias aplicaciones, puede consolidarlas en una sola aplicación que presente una vista unificada de sus múltiples orígenes de datos.
En la tabla siguiente se describen los dos tipos de aplicaciones con Power Apps que puede crear: aplicaciones de lienzo y aplicaciones basadas en modelos.
Tipo de ap | Description |
---|---|
Aplicaciones de lienzo | Las aplicaciones de lienzo son altamente personalizables. Consisten en una o más pantallas con las que los usuarios interactúan. Usted controla el diseño de cada pantalla y la navegación entre pantallas. Las aplicaciones de lienzo funcionan con datos usando conectores. Una sola aplicación puede funcionar con varios conectores, lo que la hace ideal para integrarse en varios orígenes de datos como una aplicación compuesta. |
Aplicaciones basadas en modelos | Las aplicaciones basadas en modelos utilizan Dataverse como origen de datos principal. Constan de una o varias páginas, que pueden ser tablas Dataverse o páginas personalizadas. Una página de tabla de Dataverse se puede explorar en profundidad hasta una página de detalles para verla y editarla. Las páginas personalizadas pueden incorporar una pantalla de aplicación de lienzo y datos de conectores. Las aplicaciones basadas en modelos tienen una estructura de navegación integrada personalizable. Es coherente en todas las aplicaciones basadas en modelos, lo que ayuda a la adopción por parte de los usuarios. |
El siguiente diagrama ilustra una arquitectura básica para una aplicación de lienzo o una aplicación basada en modelo, en la que la aplicación se conecta directamente a los orígenes de datos.
Para minimizar las conexiones directas a un origen de datos, puede hacer que la aplicación use un conector personalizado a la API, que realiza todo el trabajo necesario en el origen de datos. Este enfoque le permite controlar qué operaciones están expuestas a componentes con poco código y puede abstraer la complejidad de la lógica subyacente. En el diagrama siguiente se muestra este enfoque que da prioridad a las API.
Power Apps también puede ejecutar flujos de nube directamente de Power Automate que pueden devolver resultados a la aplicación o ejecutarse de forma asincrónica.
Usar Power Apps con sus repositorios de datos o API le permite modernizar la experiencia del usuario y, al mismo tiempo, minimizar las interrupciones en otras partes de una solución heredada. Este enfoque también puede permitirle conectar varios sistemas heredados en una sola aplicación, lo que brinda a los usuarios un único lugar para completar su trabajo.
Power Pages
El origen de datos principal para Power Pages es Dataverse. Cuando se agregan páginas a un sitio web, se almacenan las definiciones de página en Dataverse. Las páginas pueden presentar datos Dataverse y recopilar datos de los usuarios para almacenarlos en una tabla de Dataverse.
Puede configurar páginas para acceso anónimo o para acceso autenticado mediante Microsoft Entra ID para usuarios internos o proveedores de identidad para usuarios externos. Cuando los usuarios autenticados acceden a los datos, solo están disponibles los datos para los que tienen permiso de acceso.
Una aplicación común de un Power Pages sitio es proporcionar a los usuarios externos acceso de autoservicio a un proceso de negocio de la organización. Los usuarios internos pueden usar una aplicación Power Apps. En el diagrama siguiente se muestra una arquitectura de este tipo.
Administración de datos
La modernización de aplicaciones requiere evaluar los datos que se usan en la solución general. Las aplicaciones modernizadas tienen múltiples opciones para manejar datos. En muchos casos, varias aplicaciones utilizan el mismo repositorio de datos. Se vuelve difícil migrar los datos a un nuevo repositorio como parte de la modernización de una de las aplicaciones. Un principio básico de Power Platform es que los datos se pueden usar donde están o se pueden incorporar a la plataforma en Dataverse o un lago de datos.
Dispone de las siguientes opciones para la arquitectura de datos de la aplicación modernizada:
Deje los datos en su lugar: utilice conectores o API con conectores personalizados para acceder a los datos donde residen. Cuando los datos están en el entorno local, la puerta de enlace de datos puede facilitar una conectividad segura. Utilice tablas virtuales para integrar datos externos compatibles como una tabla Dataverse.
Migrar a Dataverse: Dataverse es una buena opción para datos transaccionales y para consolidar múltiples orígenes en un único sistema de registro. Los datos se pueden asignar y migrar desde muchas fuentes usando Power Query y flujos automatizados. Dataverse también admite tablas elásticas, diseñadas para ingerir grandes volúmenes de datos almacenados en formatos no estructurados o semiestructurados.
Migrar a lago de datos: para datos históricos, analíticos o de telemetría, utilice un lago de datos. Los datos del lago se pueden usar para generar análisis Power BI o son procesados para generar información impulsada por IA.
Al evaluar opciones para la arquitectura de datos de una aplicación modernizada, tenga en cuenta las siguientes consideraciones:
Impacto en otras aplicaciones: si bien la migración a un almacén de datos más eficiente puede ser ideal para una aplicación, el impacto inicial en otras aplicaciones que usan los datos puede ser demasiado alto. Algunas organizaciones consideran dejar los datos en almacenes de datos antiguos y crear nuevos datos en Dataverse, migrando desde el almacén anterior a medida que se modernizan más aplicaciones.
Impacto en las nuevas aplicaciones: Dejar los datos en un almacén de datos antiguo, aunque es fácil, puede afectar negativamente a la facilidad con la que las aplicaciones modernizadas pueden utilizarlos. Es posible que los almacenes de datos más antiguos no tengan una buena integración con otros servicios en la nube, lo que dificulta la incorporación de los datos en la nueva arquitectura general.
Consolidación de datos: Es común como parte de la modernización de aplicaciones identificar datos que no tienen una propiedad o responsabilidad clara para garantizar su uso adecuado. Al consolidar sus datos en Dataverse, las organizaciones pueden mejorar su gobernanza y garantizar que se utilicen correctamente.
Privacidad y seguridad de los datos: Usted debe evaluar la privacidad y la seguridad en función de sus necesidades actuales y de la arquitectura de modernización de destino, no solo de cómo las gestionó la aplicación heredada. Las soluciones en la nube tienen más opciones para implementar controles de privacidad y seguridad. A menudo, un solo almacén de datos puede simplificarlos. También debe tener en cuenta cómo implementar la seguridad de datos unificada en aplicaciones híbridas que dividen los datos en varios repositorios.
Problemas de integración. Es posible que los almacenes de datos más antiguos carezcan de las API necesarias para permitir el acceso sin migrar los datos o crear una API que las aplicaciones puedan usar con un conector personalizado. La conectividad desde el almacén de datos antiguo a las aplicaciones que lo utilizan debe evaluarse para determinar si el rendimiento sería aceptable.
Debe determinar una arquitectura de datos para cada aplicación que se va a modernizar. Un primer paso es establecer una visión general de cómo sus arquitecturas de datos incorporan Dataverse. Si el objetivo es maximizar el valor de poco código, debe usar Dataverse siempre que sea posible. Tener una visión al principio puede ayudarle a evitar la propagación de más silos de datos.
Datos externos y Dataverse
Las aplicaciones heredadas a menudo se basan en datos que residen fuera de la organización y que existían mucho antes de Dataverse. La modernización de estas aplicaciones no tiene por qué implicar la duplicación de los datos en Dataverse. En su lugar, puede representar los datos como tablas virtuales de Dataverse. Las tablas virtuales pueden participar en relaciones con otras tablas virtuales y con tablas locales. Las aplicaciones modernizadas ven un conjunto unificado de tablas que parece existir completamente en Dataverse.
Las tablas virtuales se implementan mediante una arquitectura de proveedor de datos. Dataverse incluye un proveedor OData que puede usarse con los servicios web de OData V4. Un proveedor de datos de conector virtual, actualmente en versión preliminar, permite el uso de conectores tabulares Power Platform como tablas virtuales.
En el diagrama siguiente se muestra el uso del conector virtual.
Los desarrolladores también pueden crear proveedores personalizados para otros orígenes de datos externos. Sin embargo, deben comprender e implementar todas las asignaciones y el soporte operativo de Dataverse.
Las siguientes consideraciones pueden ayudarle a evaluar el uso de tablas virtuales en sus proyectos de modernización:
- Todos los orígenes de datos externos deben tener una clave principal y el proveedor de datos debe presentarla como un GUID Dataverse. Puede acomodar claves que no sean GUID con relleno si el valor rellenado es estable y único.
- La seguridad de los datos se configura en el nivel de tabla virtual. La seguridad de nivel de fila y columna no está disponible.
- El rendimiento de las tablas virtuales depende del proveedor de datos, la API de origen de datos externo y la conectividad con el origen de datos. En la mayoría de los casos, el acceso a la tabla virtual es más lento que con las tablas locales Dataverse.
- Algunas características de Dataverse, como la búsqueda, la auditoría, los gráficos y paneles, y el acceso sin conexión, no están disponibles para las tablas virtuales.
- El uso de tablas virtuales como datos de referencia puede resultar en una sincronización reducida.
Archivo e imágenes
Al modernizar aplicaciones que usan archivos e imágenes, es importante tener en cuenta dónde los almacenará la nueva solución. Dataverse tiene capacidades especializadas para almacenar archivos e imágenes. Ambos se pueden agregar a las tablas como una columna y se almacenan en Azure Blob Storage administrado por Dataverse. Las aplicaciones pueden trabajar con ellas mediante el conector Dataverse, sin necesidad de autenticación independiente ni API.
El uso de Dataverse para archivos e imágenes es apropiado cuando tienen una conexión directa con los datos y no es necesario que varios usuarios colaboren en ellos; por ejemplo, una foto de un producto o una ubicación o la copia final de un contrato legal. Sin embargo, si varios usuarios necesitan modificar el contrato legal al mismo tiempo, usar SharePoint proporcionaría mayores capacidades de colaboración. Considere la posibilidad de usar Azure Blob Storage directamente si necesita que la seguridad se administre separadamente de Dataverse o si necesita usar ciertas características específicas del archivo.
Integraciones
La modernización de aplicaciones a menudo incluye integraciones con sistemas internos o externos. Las integraciones se pueden clasificar en términos generales como datos, aplicación o proceso.
Integración de datos: combinar datos de diferentes orígenes y dar al usuario una vista unificada. Ofrece un enfoque desacoplado, pero no permite la construcción de lógica o procesos en tiempo real. El rendimiento puede ser mejor porque todos los datos son locales.
La integración de aplicaciones se conecta en la capa de aplicación y se realiza comúnmente a través de API o, con soluciones de poco código, conectores. La integración a nivel de aplicación proporciona un límite definido entre dos soluciones, pero también crea una dependencia en tiempo real en muchos casos. Este tipo de integración también crea un límite de seguridad, donde el acceso puede ser controlado por el sistema que proporciona la API.
Integración de procesos: conecta múltiples sistemas dispares y cada uno de esos sistemas es parte de un proceso de negocio general. Este tipo de integración es el más desacoplado, lo que permite que los sistemas participantes manejen cada parte del proceso de negocio. En escenarios de modernización, puede ser útil particionar una parte de un proceso de modernización con low-code, integrado con otras partes que aún maneja un sistema heredado.
Al evaluar cómo implementa las integraciones, es importante no asumir que el enfoque anterior es el mejor para la aplicación que está modernizando. Por ejemplo, si un proceso es en tiempo real y sincrónico, plantéese si podría hacerlo de forma asincrónica. La integración sincrónica puede ser más frágil en una solución en la nube. Por ejemplo, un flujo de poco código de Power Automate con la gestión de errores adecuada podría orquestar la integración. Este enfoque no solo mejoraría la confiabilidad, sino que también mejoraría la productividad de los usuarios, ya que ya no tendrían que esperar a que se complete la integración.
Las siguientes consideraciones pueden ayudarlo a evaluar cómo trasladar las integraciones existentes:
¿Sigue siendo necesaria la integración? No es raro descubrir que ya nadie usa los resultados de la integración y se puede retirar.
¿Existen desafíos de conectividad si la aplicación modernizada está en la nube? Los desafíos podrían incluir la latencia y el acceso a una API local o un almacén de datos. En algunos casos, la puerta de enlace de datos local puede ayudar a acceder al servicio o a los datos desde la nube. Cuando el acceso a los datos o al servicio sea demasiado lento, plantéese si puede hacer que los datos sean locales para la aplicación modernizada o realizar la integración en segundo plano.
La integración también puede ayudar a ajustar el tamaño de una aplicación modernizada. Puede particionar una o varias partes de la aplicación heredada para dejarlas atrás o implementarlas en una aplicación independiente. Este enfoque funcionaría bien cuando los usuarios de diferentes roles usan diferentes partes de la aplicación heredada. Puede implementar uno o varios de los roles con poco código y usar la integración de procesos para permitir que la aplicación existente se encargue de las partes restantes del proceso. Con este enfoque, podría modernizar gradualmente las partes restantes a lo largo del tiempo. El hecho de que partes independientes del proceso se implementen por separado también puede facilitar una forma más ágil de implementar mejoras independientemente de las otras partes del proceso.
Antes de llevar a cabo cualquier integración personalizada, debe evaluar las capacidades de integración integradas en Power Apps.
Microsoft Teams: Las aplicaciones de lienzo de Power Apps y los agentes de Copilot Studio se pueden insertar en los canales de Teams. Con el conector de Teams, las aplicaciones y los flujos pueden publicar y consumir mensajes de Teams fácilmente. Las tarjetas de Power Apps se pueden usar como microaplicaciones para compartir información procesable en un canal de Teams.
SharePoint: Las aplicaciones basadas en modelos de Power Apps se pueden configurar para conectarse a documentos almacenados en una biblioteca de SharePoint para que estén disponibles en una fila Dataverse. Con las listas Microsoft o una lista SharePoint, los usuarios pueden ejecutar flujos Power Automate en el contexto de un elemento de lista.
Power BI: La información de Power BI se puede mostrar en el contexto de una aplicación de lienzo de Power Apps. Puede insertar una aplicación basada en modelo en un informe de Power BI para permitir que los usuarios actúen en función de la información sin abandonar Power BI.
Usar Dataverse como repositorio de datos principal para la aplicación modernizada proporciona algunas capacidades integradas que pueden ser útiles para la integración.
Las API personalizadas de Dataverse se pueden usar para la integración entrante en el nivel de aplicación. Las API personalizadas proporcionan una operación única que se asocia con una pequeña cantidad de lógica de código personalizado. Por ejemplo, un sistema de envío podría usar la API personalizada
RequestNewProject
y la lógica asociada sabría cómo colocar los datos recibidos en las tablas adecuadas de Dataverse. El sistema de envío se abstraería de la estructura de la tabla de Dataverse.La integración saliente se puede realizar utilizando las capacidades de publicación de eventos de Dataverse. Dataverse se puede configurar para publicar en Azure Service Bus, Azure Event Hubs o cualquier receptor de webhook. Por ejemplo, cuando se crea una nueva fila de tabla de proyecto de Dataverse, podría publicarse en una cola de Azure Service Bus. También puede publicar eventos más conceptuales que coincidan con un evento de proceso de negocio. Por ejemplo, puede definir y publicar eventos cuando se complete un proyecto.
El siguiente diagrama ilustra un ejemplo de eventos entrantes y salientes en un entorno de Dataverse.
Las organizaciones también deben tener en cuenta las opciones de integración prediseñadas disponibles de terceros en Microsoft AppSource. Por ejemplo, Microsoft tiene una solución prediseñada para organizaciones que necesitan integrar SAP con Power Platform. La solución integrada incorpora aplicaciones y flujos y agregar nuevas funcionalidades adicionales que facilitan la comunicación entre el sistema SAP de su organización y Power Platform.
Por ejemplo, Ernst & Young utilizó la integración preconstruida de SAP para desarrollar rápidamente una solución para optimizar un proceso financiero global de alta frecuencia. El siguiente diagrama de la solución PowerPost de la empresa muestra cómo los usuarios financieros publican documentos en su sistema ERP SAP de contabilidad general utilizando Power Platform.
Opciones de conectividad de integración
A medida que las soluciones se trasladan a la nube, la conectividad con los recursos locales puede ser esencial para garantizar que las integraciones sigan funcionando con la aplicación modernizada. Estas aplicaciones también deben poder integrarse con otros recursos tradicionales en la nube que puedan residir en diferentes entornos de red. Power Platform admite las cuatro opciones principales para una conectividad segura: puertas de enlace de datos, puertas de enlace de datos de red virtual, vínculos privados y ExpressRoute.
Las Puertas de enlaces de datos permiten componentes con poco código de Power Apps, Power Automate y Power BI para llegar a los recursos locales para admitir escenarios de integración híbrida. Las puertas de enlace proporcionan una forma rápida para que las aplicaciones modernizadas con poco código accedan a los orígenes de datos que aún se encuentran en el entorno local. Con una puerta de enlace, puede conectarse a datos locales desde orígenes como un sistema de archivos local, DB2, Oracle, SAP ERP, SQL Server y SharePoint. Una puerta de enlace puede admitir varios usuarios y acceso a varios orígenes. También puede configurar puertas de enlace de datos como clústeres para proporcionar alta disponibilidad.
El soporte de puerta de enlace está integrado en el proceso de conexión de los conectores, lo que permite indicar cuándo se requiere una puerta de enlace y seleccionar la puerta de enlace configurada. Una vez configurada la conexión, las aplicaciones y los flujos pueden usar el conector como si no tuvieran una puerta de enlace.
Las puertas de enlace de datos de red virtual permiten que los flujos de datos de Power BI y Power Platform para conectar a servicios de datos en una red virtual de Azure sin la necesidad de una puerta de enlace de datos local en una máquina virtual dentro de la red virtual.
Los puntos de conexión privados Azure Private Link y Azure Network permiten que las aplicaciones y los flujos accedan a Power BI de forma segura. Los puntos de conexión privados se utilizan para enviar tráfico de datos de forma privada utilizando la infraestructura de red troncal de Microsoft en lugar de ir a través de Internet. Los puntos de conexión privados garantizan que el tráfico que entra en los recursos Power BI de la organización, como informes o áreas de trabajo, siga siempre la ruta de red de Private Link configurada por la organización.
Azure ExpressRoute proporciona una forma avanzada de conectar su red local a los servicios en la nube de Microsoft mediante conectividad privada. Una sola conexión de ExpressRoute puede acceder a varios servicios en línea, como Power Platform, Dynamics 365, Microsoft 365, y los servicios en la nube de Azure, sin tener que atravesar la red pública de Internet. ExpressRoute requiere una planificación y configuración significativas, e implica un mayor coste para el servicio de ExpressRoute y el proveedor de conectividad.
Independientemente de los enfoques que utilice para la conectividad de integración, debe evaluar su conectividad para asegurarse de que tenga una latencia lo suficientemente baja y suficiente ancho de banda para admitir tanto sus integraciones como la aplicación modernizada.
Lógica de negocios
Al crear aplicaciones modernas, puede elegir qué utilizar para implementar la lógica de negocios y dónde implementarla en la arquitectura de la aplicación. Sin orientación, la mayoría de las organizaciones terminarían con un caos de lógica empresarial. Tener una lógica reutilizable que garantice la coherencia en la implementación puede ayudar a acelerar los esfuerzos de modernización.
Para nuestros propósitos, definimos la lógica de negocios como diferente de la lógica de la experiencia del usuario. Por ejemplo, la lógica para navegar de una pantalla a otra en función de los valores de los datos de inspección es la lógica de la experiencia del usuario. La lógica que implemente para determinar si una inspección está completa podría incluir varias evaluaciones de condición y se consideraría lógica de negocios.
Al diseñar una solución que incluye poco código, las siguientes consideraciones pueden ayudarle a decidir dónde podría colocar la lógica de negocios.
En la aplicación Power Apps: colocar la lógica de negocios en la aplicación con poco código es el enfoque más sencillo, pero proporciona opciones limitadas para la reutilización o para aplicar la coherencia entre aplicaciones y automatizaciones. Por lo general, debe limitar este enfoque a una lógica simple y no crítica que otras aplicaciones o automatizaciones no necesiten usar. Las herramientas de poco código no proporcionan una experiencia de depuración línea por línea. Si la lógica abarca más de una pantalla o es difícil de leer, debe considerar otros enfoques que serían más fáciles de mantener. No es raro que parte de la lógica de negocios se duplique localmente en la aplicación y en la nube. Por ejemplo, si un usuario introduce una reserva de hotel, la regla de negocio es que la fecha de salida no puede ser anterior a la fecha de llegada. Si la aplicación no validara esto, el usuario llegaba hasta el final y enviaba la reserva solo para descubrir que el conector personalizado la rechazaba. Gestionar la validación localmente en la aplicación y en la nube ofrece una experiencia de usuario mucho mejor.
En un flujo de nube de Power Automate: Puede expresar la lógica de negocios en las acciones de un flujo, y el flujo puede desencadenarse en respuesta a un evento o una solicitud de ejecución a petición de otras aplicaciones y flujos. El flujo puede proporcionar un enfoque de poco código para centralizar la lógica. Los pasos del flujo son independientes y no forman parte de una transacción, sin embargo, los flujos pueden implementar la compensación para controlar la reversión si se producen errores. Los flujos pueden ejecutar pasos mediante conexiones que tienen permisos más allá de lo que el usuario de la aplicación podría hacer, lo que proporciona una forma de elevar los permisos. Este enfoque también permite minimizar los permisos que el usuario de la aplicación podría necesitar.
En un complemento Dataverse: los complementos se ejecutan en respuesta a un evento de fila de datos, como la creación, actualización o eliminación. Esta lógica se ejecuta en cualquier momento en que se produzca el evento, independientemente de la aplicación o el flujo que realice la acción o de si se hizo directamente desde la API de Dataverse. La ventaja de este comportamiento es que garantiza la coherencia en todos los usos. Además, todos los cambios de datos de Dataverse de la lógica del complemento son transaccionales y se completan o se revierten en su totalidad. La lógica de complemento debe ser corta y eficaz, y no tratar de implementar un trabajo de larga duración. A veces, los complementos en eventos no son el mejor enfoque si debe escuchar eventos en varias tablas para completar un solo evento empresarial, como Cierre de Inspección. Por ejemplo, podría considerar una API Dataverse personalizada en lugar de tener complementos en varias tablas. Los complementos pueden realizar lógica con permisos elevados que el usuario normalmente no tiene. Este enfoque también permite minimizar los permisos que el usuario de la aplicación podría necesitar. Los complementos se pueden implementar en una solución Dataverse junto con aplicaciones y flujos.
En API Dataverse personalizadas: las API personalizadas de Dataverse le permiten implementar su propio mensaje de API personalizado que puede ejecutar la lógica. Por ejemplo, puede crear una API personalizada de Inspección de cierre a la que se llame para realizar todo el trabajo de comprobación y cierre de una inspección. No estaría basado en eventos, sino que lo utilizarían bajo demanda las aplicaciones y los flujos que lo necesiten. Al igual que los complementos basados en eventos, los cambios de datos realizados en el complemento de API personalizado son transaccionales. Una API personalizada es mejor cuando el único servicio que usa es la API para otros trabajos de datos de Dataverse. Los complementos para API personalizadas se pueden implementar en una solución Dataverse junto con aplicaciones y flujos.
Implementar una API de código
Puede implementar API en su entorno de ejecución de hospedaje de API favorito, como Azure Functions, Azure Container Apps o cualquier servicio que sea capaz de hospedar una API de REST. Estas API personalizadas pueden implementar cualquier lógica y tanto las aplicaciones de poco código como las de código tradicional pueden usarlas. Las API personalizadas no proporcionan ningún soporte de transacción más allá de lo que podría proporcionar una API que usan. Por ejemplo, una API personalizada podría usar construcciones de transacción de SQL Server si usara SQL Server. La implementación de una API de código sería independiente de los recursos de poco código que podrían utilizarla. Puede usar Azure API Management para controlar el uso de estas API y ayudar a que sean más fáciles de detectar.
Seguridad
La seguridad, incluida la autenticación y la autorización, es una parte esencial de la arquitectura de una aplicación modernizada. Las aplicaciones modernas suelen ser más difíciles de proteger que las aplicaciones heredadas. Incluyen múltiples servicios en la nube y los usuarios trabajan con ellos desde ubicaciones más diversas. Conceptualmente, la seguridad en la plataforma está ahí para garantizar que los usuarios puedan hacer el trabajo que necesitan hacer con la menor cantidad de fricción, al tiempo que protegen los datos y los servicios.
Power Platform adopta un enfoque de seguridad de varias capas que puede utilizar para crear su arquitectura de seguridad. Un principio básico de estas capacidades es que las soluciones con poco código deben integrarse con su aparato de seguridad existente para minimizar el impacto de su introducción.
A continuación se ofrece una visión general de cómo funcionan las múltiples capas de seguridad que conforman el modelo de seguridad de Power Platform.
- Los usuarios son autenticados por Microsoft Entra ID y su uso puede restringirse mediante directivas de acceso condicional.
- La licencia es la primera puerta de control para permitir el acceso a componentes de Power Platform.
- La capacidad de crear aplicaciones y flujos de trabajo está controlada por roles de seguridad en el contexto de los entornos.
- La capacidad de un usuario para ver y usar los recursos de Power Platform se controla compartiendo la aplicación con el usuario. Los recursos se comparten directamente con el usuario o el grupo de ID de Entra.
- Los entornos actúan como límites de seguridad que permiten la implementación de diferentes necesidades de seguridad en cada uno.
- Los flujos y las aplicaciones de lienzo de Power Automate utilizan conectores. Las credenciales de conexiones específicas y los derechos de servicio asociados determinan los permisos cuando las aplicaciones usan los conectores.
- Entornos con una instancia de Dataverse agregan soporte para modelos de seguridad más avanzados específicos para controlar el acceso a datos y servicios en esa instancia de Dataverse.
- El uso del conector puede restringirse aún más con las directivas de prevención de pérdida de datos (DLP). También se pueden aplicar restricciones de entrada y salida entre inquilinos a los conectores.
Es importante tener en cuenta que cuando se accede a los orígenes de datos a través de conectores, toda la seguridad subyacente que ofrece el origen de datos se suma a las capas de seguridad descritas. Power Apps y Power Automate no brindan de forma predeterminada a los usuarios acceso al origen de datos del conector que aún no tienen. Los usuarios solo deben tener acceso a los datos a los que realmente necesitan acceder.
Cuando se utiliza Dataverse como parte de una solución, incluye un modelo de seguridad basado en roles que se puede adaptar a muchos escenarios empresariales. Los datos se pueden proteger hasta una columna individual en una fila de datos. A los usuarios se les asignan uno o más roles de seguridad que, en conjunto, determinan sus privilegios generales. Dataverse proporciona bloques de creación de modelado de seguridad, como unidades de negocio y equipos. Por ejemplo, las unidades de negocio se pueden utilizar para definir límites de seguridad para mantener los datos aislados entre dos grupos diferentes de usuarios de la organización. Puede usar equipos para agrupar a los usuarios que necesitan un acceso similar a los datos. Incluso puede asignar a un grupo la propiedad de las filas de datos. El siguiente diagrama ilustra el uso de unidades de negocio para aislar los datos de las divisiones de una organización.
Diseñe su modelo de seguridad
Adapte el modelo de seguridad de la aplicación modernizada a la arquitectura general de la aplicación. Las aplicaciones que utilizan un único repositorio de datos y sin conectores requieren un trabajo de diseño de seguridad mínimo. A medida que las aplicaciones utilizan más conectores y repositorios de datos, el modelado de seguridad debe incluir otras consideraciones.
Identidad del usuario: ¿cómo se autentican los usuarios y ya se ha asignado a Microsoft Entra ID en escenarios procedentes del entorno local? Esto incluye la asignación de los grupos necesarios para admitir la asignación de grupos o equipos de aplicaciones en almacenes de datos en la nube como Dataverse.
Identidad de conexión del conector: cuando las aplicaciones usan uno o más conectores, ¿qué tipo de autenticación se realiza para la conexión y proporciona el nivel de control necesario para implementar los controles de seguridad necesarios? Por ejemplo, las aplicaciones que usan una entidad de servicio para conectarse no requieren que el usuario de la aplicación tenga acceso directo al conector, lo que puede resultar ventajoso en algunos escenarios. Las conexiones de usuario individuales pueden ser adecuadas para aplicaciones que necesitan saber qué usuario realizó una operación o para limitar las respuestas a usuarios específicos.
Portabilidad de las construcciones de seguridad: a medida que las aplicaciones utilizan más conectores y repositorios de datos, es importante recordar que no todas las construcciones de seguridad de una se asignan directamente a otra. Por ejemplo, hay varias formas en Dataverse que un usuario puede obtener acceso a una fila de datos, incluido compartir la fila con el usuario. Si una aplicación asocia una biblioteca de documentos de SharePoint con la fila, la seguridad que da acceso a la biblioteca de documentos es independiente de la seguridad que controla el acceso a Dataverse. No mapean directamente. Las aplicaciones modernizadas deben adaptarse a estos tipos de discrepancias en los conectores y repositorios de datos que utilizan.
Inteligencia artificial
En los últimos años, la IA se ha abierto camino en los esfuerzos de modernización de aplicaciones. Al modernizar las aplicaciones, las organizaciones deben considerar el uso de inteligencia artificial para ayudar a que los usuarios sean más productivos y más capaces de tomar decisiones informadas. Los resultados de la infusión de IA también pueden traducirse en mejores experiencias de los clientes que afectan positivamente a los resultados empresariales.
La inclusión de la IA solía implicar un trabajo pesado en la integración de la lógica de las aplicaciones y la creación de modelos entrenados a medida. Con la disponibilidad y el poder de los modelos de lenguaje grandes, las aplicaciones ahora pueden introducir nuevas formas de usar la IA para ayudar a los usuarios a obtener respuestas y realizar tareas. Los usuarios pueden usar mensajes en lenguaje natural para interactuar con las funcionalidades de IA en una amplia gama de escenarios empresariales de asistencia.
Microsoft ha introducido copilotos en los productos y servicios principales para facilitar el acceso a la tecnología avanzada de IA. Un Copilot utiliza técnicas modernas de IA y grandes modelos de lenguaje, y los usuarios pueden interactuar con él en las aplicaciones que usan todos los días, como Microsoft 365, Windows, Dynamics 365 y Power Platform.
Ampliar con complementos
Los usuarios de aplicaciones con tecnología de Copilot pueden pedir ayuda al Copilot con tareas comunes en la aplicación. Puede ampliar copilotos para incluir datos y tareas que aún no conocen y que están fuera del ámbito de la aplicación con la que el usuario está trabajando. El Microsoft 365 Copilot puede incorporar datos Power Platform almacenados en Dataverse, para que los usuarios no tengan que cambiar de una aplicación a otra. Por ejemplo, desde Outlook, un usuario puede pedir a Copilot que genere una actualización de estado para todas las inspecciones fallidas completadas hoy. Microsoft 365 Copilot hereda automáticamente el marco nativo de seguridad y gobernanza de Dataverse y aplica la seguridad y los permisos del usuario en tiempo de ejecución.
Conectores como plug-ins
Los conectores Power Platform también son importantes para la experiencia Copilot. Los conectores pueden conectarse como plug-ins para ampliar las capacidades de Copilot. Por ejemplo, Microsoft 365 Copilot con el conector Power Platform para Jira Software puede permitir que un jefe de proyecto solicite el estado de un ticket de soporte de Jira y actúe en función de la respuesta, como enrutarlo para obtener más aprobación o iniciar un pedido de compra para nuevo hardware. Con los complementos, puede integrar sus procesos y datos de negocio con Copilot para que los usuarios puedan interactuar desde cualquier aplicación que utilicen.
Crear su propio copiloto
A medida que los usuarios se acostumbran a tener asistencia de IA de Copilot en sus aplicaciones, la esperan en todas las aplicaciones. Puede hacer que sus aplicaciones modernas sean más atractivas si incluye copilotos que cree con Copilot stack, un marco de desarrollo de IA.
Puede usar el control Copilot precompilado en Power Apps para agregar copilotos a sus aplicaciones de lienzo y aplicaciones basadas en modelos. Al configurar una vista de un origen de datos y cierta información básica de mensajes, puede proporcionar rápidamente una experiencia copiloto en la aplicación propia.
Administración del ciclo de vida de la aplicación
Una parte importante de cualquier esfuerzo de modernización es establecer un proceso adecuado de administración del ciclo de vida de las aplicaciones. Las organizaciones a menudo quieren que sus esfuerzos de código bajo se ajusten a la forma en que trabajan con ALM de código tradicional. Power Platform proporciona herramientas de ALM para que pueda incluir artefactos de código bajo en los procesos que utiliza habitualmente o junto con ellos.
ALM en Power Platform comienza con la forma en que compila sus recursos de poco código. Los recursos que crea están en el contexto de un entorno de Power Platform. Un entorno puede tener un almacén de datos de Dataverse. Puede utilizar varios entornos (normalmente desarrollo, pruebas y producción) para implementar zonas de aterrizaje en un proceso de ALM que incluya poco código. El número y el propósito de los entornos son flexibles y las organizaciones pueden ajustarlos para satisfacer las necesidades individuales del proyecto. Una solución Dataverse es un contenedor para recursos de poco código relacionados, lo que facilita el control de versiones y el transporte de un entorno a otro.
Las canalizaciones de Power Platform proporcionan un enfoque de poco código para automatizar las implementaciones e implementar la integración continua y la entrega continua (CI/CD). Power Platform administra el proceso cuando se configuran las canalizaciones. Los administradores pueden gestionar y gobernar las canalizaciones de forma centralizada.
Las organizaciones también pueden usar las herramientas de CI/CD de su elección. Power Platform CLI es una herramienta de línea de comandos que puede usar con la mayoría de las herramientas de automatización de CI/CD. Power Platform Build Tools proporciona acciones para GitHub y tareas para Azure DevOps que proporcionan todas las acciones comunes necesarias para crear automatizaciones de CI/CD que incluyen artefactos con poco código.
En el diagrama siguiente se muestra un ejemplo de un equipo que crea una aplicación de Inspección. En su bucle interno, trabajan en un entorno de desarrollo y almacenan su trabajo en un repositorio de Git. El bucle externo consta de un entorno de prueba y un entorno de producción. Una canalización de compilación toma la solución con control de versiones, realiza las comprobaciones necesarias y produce un artefacto de solución de inspección. A continuación, una canalización de lanzamiento implementa la solución al entorno de prueba, donde los evaluadores pueden comprobar que está lista para la producción. Una vez aprobada, la canalización de lanzamiento implementa la solución en producción.
Cuando exporta una solución desde Dataverse, se exporta como un único archivo comprimido. Para almacenar los recursos de desarrollo de poco código en el control de versiones, puede usar las herramientas de construcción para desempaquetar el archivo de solución en archivos de componentes individuales. Durante la automatización de la compilación, las herramientas de compilación combinan archivos individuales del control de versiones en un solo archivo comprimido.
La implementación de una solución en un entorno que contiene una versión anterior de la solución utiliza un proceso de actualización inteligente que solo aplica cambios. Este proceso de actualización evita la necesidad de scripts de diferenciación u otras formas de determinar lo que se debe implementar.
Cuando su aplicación modernizada incluye recursos de código bajo y código tradicional, puede combinarlos en un solo proceso de CI/CD o administrarlos de forma independiente. Con una gestión independiente, los recursos se pueden implementar individualmente y los equipos de proyecto pueden lograr una mayor agilidad. Por ejemplo, la API que utiliza una aplicación con poco código podría implementarse de forma independiente si el equipo no introduce cambios importantes.
Supervisión e información
Las aplicaciones modernizadas deben integrarse en entornos operativos que brinden la capacidad de diagnosticar problemas en diferentes entornos, desde el desarrollo hasta la producción. Application Insights, una extensión Azure Monitor , recopila telemetría de Power Apps y Dataverse. Esta información no solo ayuda a identificar y resolver problemas, sino que también proporciona información sobre lo que hacen los usuarios en una aplicación. Puede usar esta información para ayudar a mejorar las aplicaciones y los procesos de su aplicación modernizada.
Mientras una aplicación de Power Apps está en desarrollo, los desarrolladores pueden incluir lógica para registrar eventos personalizados. Después de conectar la aplicación implementada a Application Insights, la extensión recopila automáticamente datos de telemetría básica, incluido más contexto de los eventos registrados, a medida que los usuarios interactúan con la aplicación.
Los administradores también pueden configurar entornos de Dataverse para exportar datos de telemetría a Application Insights. Los datos que se registran pueden incluir llamadas a la API de Dataverse, ejecución de complementos, operaciones de SDK y excepciones. Los desarrolladores que crean lógica de complemento personalizada pueden registrar más datos de telemetría personalizados directamente en Application Insights.
Usar Application Insights en todas sus aplicaciones puede facilitar la correlación de problemas con varios recursos. El personal de operaciones puede crear alertas en Azure Monitor para que se activen cuando se detecte un gran número de excepciones. El análisis periódico de sus aplicaciones modernizadas puede identificar tendencias que requieren más investigación.
Conclusión
En este documento hemos explorado los beneficios, las estrategias y los procedimientos recomendados de modernizar aplicaciones heredadas con Microsoft Power Platform. Obtuvo información y orientación sobre el empleo de las capacidades de código bajo de Power Platform para garantizar el éxito de sus esfuerzos de modernización como parte de la transformación digital de su organización.
Las aplicaciones heredadas presentan muchos desafíos para las organizaciones. Para superarlos, las organizaciones deben embarcarse en iniciativas de modernización de aplicaciones para revitalizar su infraestructura y aprovechar las tecnologías modernas. En este documento técnico, ha visto cómo adoptar un enfoque de poco código para sus esfuerzos de modernización, específicamente, cómo las capacidades de desarrollo de poco código de Microsoft Power Platform le permiten crear e implementar rápidamente aplicaciones modernas.
El low-code abre la puerta a un conjunto más amplio de personas que los codificadores tradicionales. Un factor clave de las organizaciones que tienen éxito con un enfoque de poco código es asegurarse de que las personas involucradas en la modernización de aplicaciones tengan capacitación en desarrollo de poco código, ya sean desarrolladores profesionales o usuarios comerciales. Los usuarios empresariales están más cerca del problema empresarial que se está resolviendo y pueden aportar su experiencia para ahorrar tiempo. Los desarrolladores de código tradicionales pueden aplicar las técnicas y habilidades que ya tienen para crear extensiones para llenar cualquier brecha de poco código. Las organizaciones pueden ser más eficaces combinando recursos comerciales y técnicos en lo que nos gusta llamar "equipos de fusión".
Este documento técnico sienta las bases para usted. Los siguientes pasos son suyos. Estas son algunas sugerencias:
- Tómese unos minutos para averiguar qué es lo que su organización ya está haciendo con poco código. ¡Esto puede sorprender!
- Evalúe las oportunidades de modernización de sus aplicaciones.
- Identifique y priorice a un buen primer candidato.
- Forme un equipo que modernice la aplicación. Para obtener los mejores resultados, asegúrese de que sea un equipo multidisciplinario.
- Asegúrese de que el equipo tenga la capacitación necesaria para tener éxito.
- Permita que el equipo modernice la aplicación.
- Reflexione sobre el esfuerzo de modernización. Perfecciónelo y escalarlo a otras aplicaciones heredadas.
El recorrido de cada organización hacia la modernización de las aplicaciones es único. Su equipo de cuenta de Microsoft o asociado de Power Platform puede ayudarle a planificar su viaje y mantenerle en el camino correcto a lo largo del camino.
Resources
- El impacto económico total™ de las capacidades de Microsoft Power Platform Premium
- La aplicación ConnectMe de American Airlines crea una experiencia de viaje más fluida para los clientes y mejores herramientas tecnológicas para los miembros del equipo
- Repositorio de código abierto de Power Fx en GitHub
- Kit de inicio de CoE
- Valoración de adopción de Power Platform
- La agencia de seguros digital automatiza un complejo proceso de compra utilizando Power Platform
- Galería de PCF
- Con una reducción de los plazos de entrega en un 95 por ciento, EY ayuda a permitir la entrada en origen para un proceso financiero global con Power Platform
- Azure Private Link
- Microsoft Azure ExpressRoute
- Planificador de versiones de Power Platform
- Guía de licencias de Microsoft Power Platform
- Microsoft describe el marco para crear aplicaciones de IA y copilotos; expande el ecosistema de complementos de IA