Soluciones
Las soluciones son contenedores que rastrean y administran las personalizaciones en los entornos de Dataverse. Las soluciones se utilizan para transportar aplicaciones y componentes de un entorno a otro, o para aplicar un conjunto de personalizaciones a aplicaciones existentes.
Cuando tiene varios entornos, cada entorno tiene su propio conjunto de soluciones.
Nota
Cuando tenga una aplicación de Microsoft Dynamics 365, como Ventas, la aplicación se instala utilizando el mismo marco de solución. Los ISV también envían sus productos mediante el uso de soluciones.
Las características de las soluciones son las siguientes:
- Incluya metadatos y determinadas entidades con los datos de configuración. Las soluciones no contienen datos empresariales.
- Contienen muchos componentes diferentes de Microsoft Power Platform, como aplicaciones basadas en modelos, aplicaciones de lienzo, mapas del sitio, flujos, tablas, metadatos de tablas, columnas, formularios, vistas, reglas comerciales, definiciones de procesos, conectores personalizados, recursos web, elecciones, gráficos y componentes creados por desarrolladores, como scripts o código compilado.
- Se empaquetan como una unidad para su exportación e importación a otros entornos, o se deconstruyen y se registran en el control de origen como código fuente para activos.
- Se utilizan para aplicar cambios a soluciones existentes.
Tipos de soluciones
Los siguientes son dos tipos de soluciones:
- No administradas: se utilizan durante el desarrollo y para transportarlas a otros entornos de desarrollo.
- Administradas: se utilizan para distribuir a entornos que no son de desarrollo.
Debería utilizar las soluciones no administradas en entornos de desarrollo mientras realiza cambios de configuración en su aplicación. Las soluciones se exportan como no administradas y luego se insertan en su sistema de control de origen. Las soluciones no administradas deben considerarse como su origen.
Utilice soluciones administradas para implementarlas en cualquier entorno que no sea un entorno de desarrollo, incluidas las pruebas, las pruebas de aceptación del usuario (UAT), las pruebas de integración de sistemas (SIT) y los entornos de producción.
Se puede dar servicio a las soluciones administradas (actualización, parches y eliminación), con independencia de otras soluciones administradas. Como práctica recomendada de ALM, las soluciones administradas deben generarse mediante un servidor de compilación y considerarse un artefacto de compilación.
Capas de soluciones
Las capas de soluciones describen la cadena de dependencia de un componente desde la solución raíz que lo introduce, a través de cada solución que amplía o cambia el comportamiento del componente. Las capas se crean mediante la extensión de un componente existente (tomando una dependencia de él) o mediante la creación de un nuevo componente o versión de una solución.
Las capas de la solución se implementan en el nivel de componente. Las soluciones administradas y no administradas existen en diferentes capas de un entorno de Microsoft Dataverse. Dataverse tiene dos capas distintas:
- Capa no administrada: en esta capa se encuentran todas las soluciones importadas y no administradas, así como las personalizaciones especializadas. Todas las soluciones no administradas comparten una única capa no administrada.
- Capa administrada: en este nivel se encuentran todas las soluciones administradas importadas y la solución del sistema. Cuando se instalan varias soluciones administradas, la última que se instala está por encima de la solución administrada instalada anteriormente. Por lo tanto, la segunda solución que se instala puede personalizar a la que se instaló antes de ella. Cuando dos soluciones administradas tienen definiciones en conflicto, el comportamiento en tiempo de ejecución es "El último gana" o se implementa una lógica de combinación. Si se desinstala una solución administrada, la solución administrada situada por debajo de ella entra en vigencia. Si desinstala todas las soluciones administradas, se aplica el comportamiento predeterminado que se define en la solución del sistema. En la base del nivel de capas administradas se encuentra la capa del sistema. La capa del sistema contiene las entidades y componentes necesarios para que la plataforma funcione.
Los arquitectos de soluciones deben decidir el número de soluciones que se utilizarán para su solución empresarial. Si bien podría trabajar con una única solución, eso llevaría a dependencias en las versiones, y las soluciones grandes pueden tardar mucho tiempo en exportarse e importarse. La mayoría de los proyectos utilizan varias soluciones. Los arquitectos de soluciones deben conocer el comportamiento combinado cuando se actualiza una solución o cuando se instalan varias soluciones que afectan al mismo componente.
En el siguiente ejemplo, tenemos cuatro soluciones que utilizan tablas del sistema/Common Data Model: solución Common Data Model Healthcare, una solución Contoso Common y dos soluciones que contienen aplicaciones y están en capas. Por ejemplo, supongamos que personalizamos el formulario 'Contacto' en la extensión Common Data Model Healthcare. A continuación, si modificamos los mismos elementos de formulario en la solución Contoso Common, los usuarios verán los cambios de la solución Contoso Common.
Estructura de las soluciones
Las estrategias para crear soluciones, enumeradas desde la más simple a la más compleja, son las siguientes:
- Solución única
- Varias soluciones
- Varias soluciones con componentes compartidos
Al crear una única solución, establecerá un conjunto funcional de personalizaciones. Este enfoque ayuda a que sea más fácil encontrar los elementos que ha personalizado. Además, este enfoque se recomienda cuando solo desea crear una única solución administrada. Si cree que podría tener que dividir la solución en el futuro, considere la posibilidad de utilizar varias soluciones.
Si tiene dos soluciones no relacionadas que no comparten componentes, el enfoque más directo es crear dos soluciones no administradas.
Es posible que tenga varias soluciones que compartan componentes. Es posible que tenga un cierto conjunto de funcionalidades comunes dentro de múltiples soluciones, y esa funcionalidad común es compatible con cualquiera del resto de funcionalidades que son únicas para cada solución. Algunos componentes se pueden incluir en más de una solución, si los cambios que ha realizado son compatible con el resto de soluciones que los utilicen. Es importante que todas las soluciones compartan el mismo editor de soluciones. Si el editor de la solución no es idéntico, no podrá instalar más de una de sus soluciones.
Reglas a seguir con las soluciones:
- Cree un editor de soluciones y utilícelo para todas las soluciones.
- No utilice el editor predeterminado, la solución predeterminada ni la solución predeterminada de Dataverse.
- Mantenga la estructura de la solución lo más simple posible.
- Evite seleccionar la casilla Incluir todos los componentes a menos que esté agregando una tabla no administrada.
- Incluya los metadatos de la tabla solo cuando cambie las propiedades de la tabla.
- Agregue los subcomponentes de una tabla (columnas, formularios, vistas, etc.) solo cuando los esté cambiando.
La adición de solo lo necesario a una solución se conoce como segmentar una solución.
Al decidir cómo segmentar entre una o más soluciones, debe tener en cuenta lo siguiente:
- Utilice varias soluciones solo para un propósito tangible, ya que esto agrega complejidad.
- Evite varias soluciones que compartan componentes.
- Varias soluciones requieren sus propios entornos, para garantizar que sigan siendo independientes.
- Tenga cuidado al administrar las dependencias.
- Los fabricantes deben saber en qué solución colocar nuevos componentes.
- Los patrones comunes para las divisiones en varias soluciones son la creación de particiones horizontales y verticales.
División en soluciones horizontales
La división horizontal hace referencia a la creación de soluciones que solo incluyen componentes del mismo tipo.
Capas de soluciones verticales
Las capas verticales agruparán los componentes en áreas funcionales. A menudo, tendrá una base compartida o solución común con soluciones separadas para cada área de negocio clave.
Puede combinar particiones verticales y horizontales, por ejemplo, la base que contiene todas las tablas y procesos con soluciones independientes para cada aplicación.