Introducción a soluciones

Este tema se aplica a Dynamics 365 Customer Engagement (on-premises). Para la versión de Power Apps de este tema, consulte: Conceptos de soluciones.

Las soluciones son cómo los personalizadores y desarrolladores crean, empaquetan y mantienen las unidades de software que extienden Dynamics 365 for Customer Engagement. Los personalizadores y los desarrolladores distribuyen soluciones de modo que las organizaciones puedan usar Dynamics 365 Customer Engagement (on-premises) para instalar y desinstalar la funcionalidad de su negocio definida por la solución.

Opciones de extensibilidad

Use soluciones para extender la funcionalidad de Dynamics 365 Customer Engagement (on-premises). Para el software que opera fuera de la aplicación, use los métodos tradicionales para empaquetar e instalar la aplicación, tales como un programa de instalación.

Si su aplicación se compone solo de los componentes de solución de Dynamics 365 Customer Engagement (on-premises), se puede importar directamente en Customer Engagement. No tendrá que crear un programa de instalación.

Una aplicación con componentes externos.

Sin embargo, si las extensiones incluyen una combinación de componentes de la solución de Dynamics 365 Customer Engagement (on-premises) y componentes externos, que no son componentes de la solución de Dynamics 365 Customer Engagement (on-premises), necesitará un programa de instalación.

Por ejemplo, puede crear una aplicación de .NET Framework para administrar los datos almacenados en las entidades personalizadas de Dynamics 365 Customer Engagement (on-premises) mediante las API del servicio web. Las personas que instalan la aplicación pueden instalar una solución de Dynamics 365 Customer Engagement (on-premises) para crear entidades personalizadas y después instalar la aplicación por separado mediante un programa de instalación. O bien, podría incluir la instalación de la solución de Dynamics 365 Customer Engagement (on-premises) en el instalador que crea para la aplicación.

Compatibilidad de versiones

Las soluciones exportadas desde una versión anterior de Customer Engagement se pueden importar en versiones posteriores como se muestra en el siguiente gráfico.

Compatibilidad de la versión de la solución.

Normalmente, las soluciones se pueden importar a organizaciones de menos dos versiones superiores a la versión desde la que se exportó la solución. Las versiones de Service Pack proporcionarán la opción de exportar una solución con compatibilidad para ese Service Pack, o sólo con las funciones incluidas en la versión base. Más información: Mantener soluciones administradas: compatibilidad de versiones.

Nota

Para obtener información sobre las soluciones creadas antes de Dynamics CRM 2015 consulte Dynamics CRM 2016 Introducción a soluciones > Compatibilidad de versiones

Componentes de la solución

Los componentes de la solución se crean mediante herramientas de personalización o las API incluidas en Dynamics 365 Customer Engagement (on-premises) y están totalmente hospedadas en la aplicación. En el siguiente diagrama se muestran los tipos de componentes de la solución.

Componentes de la solución.

Al definir una solución de Customer Engagement se crea un grupo de componentes de la solución que se pueden administrados juntos.

Nota

Las soluciones solo pueden agregar nuevos componentes de la solución o sobrescribir los componentes de la solución existentes. Las soluciones no se pueden usar para eliminar componentes de la solución.

Soluciones administradas y no administradas

Existen dos tipos de soluciones de Dynamics 365 Customer Engagement (on-premises): administradas y no administradas. Una solución administrada es una solución completada que está diseñada para distribuir e instalar. Una solución no administrada es la que aún está en desarrollo o no está diseñada para distribuirse. Cuando se completa la solución no administrada y se desea distribuir, se puede exportar y empaquetar como una solución administrada.

El siguiente diagrama muestra cómo las soluciones administradas y no administradas interactúan con la solución del sistema para controlar el comportamiento de la aplicación.

Disposición en capas de la solución.

Solución del sistema
La solución del sistema representa los componentes de la solución definidos en Dynamics 365 Customer Engagement (on-premises). Sin ningún tipo de solución administrada o personalizaciones, la solución del sistema define el comportamiento predeterminado de aplicación.

Muchos de los componentes de la solución del sistema son personalizables y se pueden usar en soluciones administradas o personalizaciones no administradas.

Soluciones administradas
Las soluciones administradas se instalan por encima de la solución del sistema y pueden modificar los componentes de la solución personalizables o agregar más componentes de la solución.

Las soluciones administradas también se puede superponer sobre otras soluciones administradas. Mientras una solución administrada permite la personalización de sus componentes de la solución, otras soluciones administradas se pueden instalar por encima de esta y modificar los componentes de la solución personalizables que proporciona.

Personalizaciones no administradas
Todos los componentes de la solución personalizables que proporciona la solución del sistema o las soluciones administradas se pueden personalizar en las personalizaciones no administradas.

Soluciones no administradas
Las soluciones no administradas son grupos de personalizaciones no administradas. Cualquier componente de la solución no administrada personalizado puede asociarse con cualquier número de soluciones no administradas.

Cree una solución administrada exportando una solución no administrada y seleccionando empaquetarla como solución administrada.

Comportamiento de aplicación
El comportamiento final de una instancia de Dynamics 365 Customer Engagement (on-premises) para una organización específica es la culminación de la solución del sistema, las soluciones administradas y las personalizaciones no administradas.

Soluciones no administradas

Cuando una solución no está administrada, puede realizar las siguientes acciones:

Importar soluciones no administradas

Cuando se importa una solución no administrada, pueden editarse sus componentes en la nueva organización.

Importante

Cuando se importa una solución no administrada, las definiciones de los componentes de la solución que ya están en la organización se sobrescribirán. Esta acción no se puede deshacer.

Personalizaciones no administradas

Cada organización de Dynamics 365 Customer Engagement (on-premises) contiene componentes de la solución personalizables. Además, todos estos componentes de la solución se denominan solución predeterminada. Ésta es la solución que se modifica al seleccionar Personalizar el sistema en la aplicación. Puede exportar esta solución y las personalizaciones en ella al igual que en una solución no administrada. Sin embargo, no puede exportar la solución predeterminada como una solución administrada.

Creación de una solución no administrada

Si no piensa representar una solución administrada, no es necesario crear una solución no administrada. Puede personalizar el sistema directamente. Las organizaciones que solo desea poder editar, hacer copia de seguridad y transportar sus personalizaciones no tienen que usar las funcionalidades más avanzadas del marco de la solución Dynamics 365 Customer Engagement (on-premises).

Cuando se crea una solución no administrada, se crea una forma de agrupar un subconjunto de los componentes de la solución personalizables disponibles. Los componentes de la solución en una solución no administrada son referencias a los componentes de la solución personalizables en la organización.

Después de crear una solución no administrada, se pueden agregar componentes de la solución a la misma. Mediante este conjunto más pequeño de componentes puede decidir incluir únicamente a los componentes de la solución que son relevantes para una funcionalidad específica. Esto permite un paquete de menor tamaño al exportar la solución y hace que sea un conjunto de componentes más administrable.

Incluyen todos los componentes que agregue a la solución no administrada en los componentes de la solución personalizables para el sistema. Los componentes de la solución no administrada se pueden agregar a varias soluciones no administradas.

Importante

Puesto que cada solución no administrada contiene una referencia al grupo compartido de soluciones, los cambios que realice en los componentes de la solución en una solución también se aplican para todas las soluciones no administradas que hacen referencia a esos componentes.

Propina

También puede crear soluciones no administradas solo para proporcionar un cómodo acceso a los componentes de la solución específicos. Por ejemplo, puede utilizar una gran cantidad de recursos web HTML pero solo algunos de ellos representan elementos de la interfaz de usuario de nivel superior en la solución. Es posible que desee crear una solución no administrada que incluye solo los componentes de la interfaz de usuario de nivel superior para poder localizarlos y abrirlos fácilmente.

Editor de soluciones para soluciones no administradas

Cada solución necesita un editor de soluciones. Para una solución no administrada, el editor de soluciones proporciona un prefijo de personalización común y un prefijo de valor de opción. Más información: Crear un editor de soluciones

Muchas soluciones se pueden asociar con un único editor de soluciones. Cada organización tendrá un editor de soluciones denominado "Editor predeterminado de <OrganizationUniqueName>". Si desea que todas las soluciones no administradas compartan el mismo prefijo de personalización y prefijo de valor de opción, se recomienda que solo asocie sus soluciones no administradas con el editor predeterminado para la organización.

Nota

El editor de soluciones controla cómo las soluciones administradas se pueden actualizar. Al instalar una solución administrada, el editor está visible pero no se puede asociar una solución no administrada al mismo. Si desea distribuir una solución administrada, vea Editor de soluciones para las soluciones administradas.

Eliminar una solución no administrada

Si se elimina una solución no administrada, solo se elimina el grupo utilizado para contener referencias a componentes de la solución. Los componentes de la solución en una solución no administrada permanecen en el sistema pero ya no estarán asociados con la solución no administrada que se elimina.

Nota

Si se elimina un componente de la solución en una solución no administrada, se eliminará del sistema y ya no estará disponible en ninguna otra solución no administrada. Use "quitar" en lugar de "eliminar" si solo desea quitar un componente de una solución no administrada.

Soluciones administradas

Si trata distribuir la solución como una solución administrada, exporte la solución no administrada y seleccione la opción Administrada en el cuadro de diálogo Tipo de paquete.

Nota

Después de generar una solución administrada, no puede instalarla en la misma organización de Dynamics 365 Customer Engagement (on-premises) que contiene la solución no administrada que se usó para crearla. Se debe instalar en otra organización.

Después de instalar una solución administrada, lo siguiente se aplica:

  • No puede agregar o quitar componentes de la solución en una solución administrada.

  • No puede exportar una solución administrada.

  • Eliminar una solución administrada desinstala todos los componentes de la solución de esta.

    Más información: Crear, instalar y actualizar una solución administrada

    Después de instalar una solución administrada se pueden personalizar los componentes de la solución si el creador de la solución administrada ha configurado la solución administrada para habilitarla. Debe tener acceso a los componentes de la solución personalizables mediante Personalizar el sistema en lugar de mediante la propia solución administrada.

    Use Propiedades administradas para controlar si un componente de la solución es personalizable y qué acciones específicas de personalización están habilitadas.

Editor de soluciones para soluciones administradas

Cuando desee distribuir soluciones administradas, el registro del editor de soluciones asociado con la solución administrada se crea en cada organización que instala la solución. Use el editor de soluciones para proporcionar información sobre cómo las personas que instalan la solución pueden contactar con usted.

El editor de soluciones para una solución administrada también es importante si desea liberar una actualización de su solución administrada. Si usa el mismo editor de soluciones puede crear una nueva solución administrada con la capacidad de poder actualizar una solución administrada liberada anteriormente. Más información: Mantener soluciones administradas

Propiedades administradas

Con propiedades administradas, el creador de una solución administrada puede controlar si un componente de la solución es personalizable y las partes específicas del mismo que se pueden personalizar.

Nota

Las propiedades administradas deben establecerse en una solución no administrada. Los valores de las propiedades administradas se aplican únicamente después de que la solución administrada se ha empaquetado e instalado.

Las propiedades administradas exactas disponibles dependen del tipo de componente de la solución. La captura de pantalla de siguiente muestra las propiedades administradas de una entidad personalizada.

Propiedades administradas para una entidad.

De forma predeterminada, los valores de la propiedad administrada suponen que cualquier tipo de componente de la solución es totalmente personalizable. Se anima a los desarrolladores de soluciones que permitan a los componentes de la solución de sus soluciones que puedan personalizarse. Sin embargo, hay situaciones donde la definición de un componente de la solución debe estar "bloqueada" para evitar posibles cambios importantes o para que el futuro mantenimiento de los componentes de la solución sea más fácil.

Más información: Usar propiedades administradas

Resolución de conflictos

Cuando dos o más soluciones definen los componentes de la solución de forma diferente, Dynamics 365 Customer Engagement (on-premises) resuelve el conflicto mediante dos estrategias, Combinar y Wins superiores. En el siguiente diagrama se muestran las diferencias.

Dos estrategias de solución de conflictos.

Combinar
Se combinan los componentes de la interfaz de usuario (barra de comandos, cintas de opciones, formularios y mapa del sitio). Esto significa que los componentes de la solución se recalculan desde el nivel más bajo hasta el más alto por lo que las personalizaciones no administradas de la organización son las últimas en aplicarse.

Wins superiores
Para el resto de los componentes de la solución, cualquier conflicto se calcula en favor de la última personalización que se aplica. En el caso de las soluciones administradas esto suele indicar que se aplica la última solución instalada. Sin embargo, hay un caso especial cuando se instala una actualización de una solución administrada.

Resolución de conflictos en la actualización de una solución administrada

Dado que las personalizaciones no administradas se consideran "por encima" de cualquier solución administrada en términos de resolución de conflictos, las organizaciones que instalan una actualización de una solución no administrada puede que no vean los cambios aplicados debido a modificaciones no administradas. Existe una opción para asegurarse de que los cambios aplicados por una actualización a una solución administrada están disponibles.

Cuando se libera una actualización a una solución administrada, la organización que instala la actualización puede seleccionar:

  • Mantener las personalizaciones aplicadas por encima de la solución administrada.

  • Sobrescribir las personalizaciones aplicadas por encima de la solución administrada.

    Las organizaciones que instalan una actualización a una solución administrada deben ejecutarse con el creador de la solución administrada para evaluar qué opción es la mejor.

Importante

Los cambios en los formularios de entidad y el mapa del sitio no se sobrescribirán, incluso cuando la opción de sobrescribir está activada. Consulte Combinar personalizaciones de formulario y Combinar personalizaciones de navegación (mapa del sitio) para obtener información sobre cómo administrar los cambios. Es posible que se necesite alguna personalización manual para combinar personalizaciones no administradas en los cambios incluidos en la actualización de una solución administrada.

Seguimiento de dependencia

El marco de soluciones realiza un seguimiento automático de las dependencias de los componentes de la solución. Cada función de un componente de la solución calcula automáticamente las dependencias con otros componentes del sistema. La información de dependencia se usa para mantener la integridad del sistema y evitar operaciones que podría llevar a un estado incoherente.

Como resultado del seguimiento de la dependencia, se aplican los siguientes comportamientos:

  • Se evita la eliminación de un componente si otro componente del sistema depende de él.

  • La exportación de una solución advierte al usuario si falta cualquier componente que potencialmente podría provocar un error al importar la solución en otro sistema.

    Las advertencias durante la exportación pueden ignorarse si el desarrollador de la solución pretende que esta se instale únicamente en una organización donde se espera que existan componentes dependientes. Por ejemplo, cuando se crea una solución que se ha diseñado para instalarse sobre una solución "base" instalada anteriormente.

  • La importación de una solución es incorrecta si todos los componentes necesarios no se incluyen en la solución y tampoco existen en el sistema de destino.

    • Además, al importar una solución administrada, todos los componentes requeridos deben coincidir con el tipo de paquete de la solución. Un componente de una solución administrada puede depender solo de otro componente administrado.

    Más información: Seguimiento de las dependencias de los componentes de la solución

Soporte técnico para varios idiomas

Dynamics 365 Customer Engagement (on-premises) de forma nativa admite varios idiomas. Siempre que un paquete de idiomas (a veces llamado "paquete MUI") está instalado, los elementos de la interfaz de usuario pueden mostrarse en un idioma diferente.

Existen varias tácticas que deberá aplicar según el tipo de componente de la solución incluido en la solución. Más información: Crear soluciones que admitan varios idiomas

Consulte también

Empaquetar y distribuir las extensiones con soluciones de Dynamics 365 Customer Engagement (on-premises)
Patrones y principios de Microsoft Dynamics 365 Customer Engagement para desarrolladores de soluciones
Planear el desarrollo de la solución
Seguimiento de las dependencias de los componentes de la solución
Crear, exportar o importar una solución no administrada
Crear, instalar y actualizar una solución administrada
Desinstalar o eliminar una solución
Crear soluciones que admitan varios idiomas
Entidades de solución
Trabajar con soluciones
Ejemplo: Trabajar con soluciones
Ejemplo: Detectar dependencias de soluciones
Entidades de solución