El concepto solución en Dynamics 365

CONSULTORES Y USUARIOS
FUNCIONALIDAD ESTÁNDAR
CONOCIMIENTO: BÁSICO

Este post pretende dar una visión clara y general para asentar el conocimiento entorno a las llamadas soluciones de Dynamics 365, entender qué son, para qué sirven, y de qué manera y en qué orden se aplican al instalarlas.

Más adelante escribiremos más detalladamente sobre funciones más avanzadas (exportaciones, importaciones, actualizaciones, parches...) por lo que si crees que necesitas más información de este u otros temas de Dynamics 365, no dudes en seguirnos y dejar un comentario con tus ideas.

El concepto solución: ¿qué, porqué, y para qué?

Microsoft introdujo en la actualización a la versión Dynamics CRM 2011 este nuevo concepto, una nueva forma de personalizar, almacenar y distribuir las personalizaciones que se realizan contra la plataforma de Dynamics 365, manteniéndose empaquetadas en una especie de contenedor que puede ser fácilmente exportado entre distintos entornos, aislando pero manteniendo a la vez la unidad del conjunto.

Las soluciones nacen con un único objetivo, facilitar todo el proceso de implantar estas personalizaciones para los socios tecnológicos e ISVs (Independent Software Vendor) , reduciendo errores, costes, tiempos de ejecución de los proyectos y por ende  mejorando la experiencia del usuario final.

Es además, la forma de "abrir" Dynamics 365 a una cantidad infinita de oportunidades, ya que construir soluciones específicas para cubrir necesidades muy concretas y poder distribuirlas fácilmente entre los clientes potencia el interés y participación de más empresas, lo que al final repercute en una mejora del producto y una reducción de los costes para el usuario final, ya que puede adquirir una solución que se ajuste a sus necesidades sin invertir cantidades desorbitadas de recursos.

Dicho esto, a continuación analizaremos los dos tipos de soluciones, administradas y no administradas, veremos sus características principales, ventajas e incovenientes, y el sistema de capas mediante el que se aplican.

Soluciones: El cajón de sastre de Dynamics 365

Muchas veces la mejor forma de entender un concepto intangible y abstracto es mediante una metáfora, y una de mis favoritas de Dynamics 365 es esta:

 

Dyn 365 cajon de sastre

 

Un cajón de sastre. En apariencia y objetivamente una mezcla de elementos que por si solos pueden parecer desparejados y desordenados pero que juntos forman un todo, las piezas encajan y ocupan su lugar.

Continuando con esta metáfora, cada entorno de Dynamics 365 sería un cajón con compartimientos ilimitados, y cada uno de estos compartimientos una solución, que podrías quitar, mover o incluso llevarte a otro cajón (si encajan, que eso ya lo veremos más adelante) y estando algunos de ellos cerrados con llave (administradas), y otros de libre acceso (no administradas).

Aunque es posible personalizar directamente al sistema, esta práctica es absolutamente no recomendable, ya que se pierde tan siquiera la constancia de que ese cambio existe.

Soluciones no administradas

Las soluciones no administradas son este contenedor que tiene la capacidad de albergar y empaquetar personalizaciones y componentes de nuestro CRM; entidades,campos, paneles... pero permitiendo su edición y manejo.

Algunas de sus características principales son:

  • Las personalizaciones se aplican directamente en la capa no administrada del entorno.
  • Todos sus componentes están abiertos, por lo que pueden ser añadidos, modificados o borrados.
  • Los cambios que implica la solución no se eliminan al quitar la solución, deben ser eliminados manualmente.
  • Son el paso previo a la solución administrada, pueden ser exportadas como tal pero no al revés.
  • Se combinan muy fácilmente para construir una solución mayor, y son fáciles de mantener y trabajar para el usuario final.
  • Es prácticamente imposible deshacer las personalizaciones de una solución relativamente grande, hay que deshacer los cambios uno a uno.

Por todo esto, son el método ideal para preparar una solución que posteriormente será empaquetada como administrada y distribuida a terceros, o de un entorno de prueba a uno final. Sirven también para aquellos entornos que son auto-gestionados por una sola parte.

 

Pros y contras soluciones no administradas

Soluciones administradas

En contraposición, las administradas mantienen los componentes protegidos, aislados en cierta manera en una especie de espacio reservado imaginario para que no entren en conflicto con otras personalizaciones y puedan ser exportadas e importadas fácilmente. Estas son algunas de sus características:

  • Los componentes no pueden ser editados directamente en la solución.
  • Todos los cambios que produzca una solución administrada puede ser revertidos.
  • No pueden ser exportadas, por lo que en cierto modo protegen la propiedad intelectual de sus componentes.
  • Añaden consistencia al entorno.

Por todo esto, son la forma ideal de tener soluciones o agrupaciones de funcionalidades listas para ser reutilizadas entre distintos entornos, sobretodo cuando se tiene intención de ir actualizando, mejorando y ampliando sus capacidades con nuevas versiones.

Como se combinan las soluciones: Sistema por capas

Una de las mayores complejidades trabajando con una mezcla de soluciones no administradas y administradas es entender cómo se aplican y combinan entre sí, lo que provoca que muchas veces se opte por trabajar exclusivamente con soluciones administradas que, aunque hay cierta discusión sobre el tema, no siempre es el escenario ideal.

Estas son algunas de las dudas que siempre surgen entorno a las soluciones:

  • ¿Si instalo la solución X que contiene por ejemplo el formulario principal de cuenta, que pasará con mi formulario de cuenta actual?
  • ¿Si instalo la solución X de un tercero, afectará a otras soluciones que ya tengo propias o las de mi proveedor de confianza?
  • ¿Si utilizo y mezclo mis componentes con los de terceros o incluso los modifico, podré mantener mi solución 100% aislada? ¿Se borrarán los cambios si instalo futuras versiones?
  • ¿Podré deshacer los cambios si importo una solución y dejarlo como estaba?
  • ... y un largo etcétera que hace de esta parte un tema complejo y peligroso.

Para dar respuesta a todas estas dudas, es muy importante entender y tener siempre en mente en qué orden y de qué manera se aplican, cuáles y en qué circunstancias prevalecen unas frente a otras.

Se puede diferenciar claramente 3 capas:

  • La capa administrada, que contiene las propias configuraciones, entidades y personalizaciones de Microsoft en primer lugar y en la que se aplican posteriormente las soluciones administradas en orden de instalación (aunque este comportamiento como veremos en el próximo artículo se puede alterar mediante actualizaciones y parches).
  • La capa no administrada, que contiene todos los cambios que se produzcan directamente sobre la solución del sistema (lo que en Dynamics 365 como hemos visto no es nada recomendable) y las soluciones no administradas.
  • La capa final, que no es más que una combinación calculada de todas las demás siguiendo un orden descendente.

 

Capas de las soluciones Dynamics 365

 

A grosso modo, las soluciones se van apilando una encima de las otras.

Cada uno de los niveles puede alterar y modificar su nivel previo en cierto grado, pero no a su nivel posterior, por lo que la solución del sistema nunca borrará o alterará un componente creado por nosotros en una solución administrada, y una solución administrada nunca podrá modificar componentes no administrados (aunque sí apropiárselos si son iguales), pero es en las soluciones no administradas donde podremos añadir y modificar aquellos componentes de la capa administradas que sean personalizables. Todo esto será finalmente aplicado en la capa definitiva.

Conclusión

Con todo esto hemos querido dar una visión esencial y un poco teórica de un concepto un tanto abstracto pero que es esencial para comprender y gestionar un entorno de Dynamics 365, ya que es la base sobre la que se construyen y añaden todos los cambios.

Para acabar el artículo como lo hemos empezado, con una metáfora, hoy hemos visto las piezas que conforman un motor, la parte más teórica y esotérica de las soluciones, y en los próximos artículos veremos casos Real Life que ocurren en nuestro día a día, daremos respuesta a las preguntas que hoy hemos formulado y juntaremos todas las piezas para entender como interactúan, para finalmente ver como se importan, exportan, actualizan y se parchean las soluciones.

 

Aleix Ruiz

Consultor Dynamics 365

Logo Linkedin

 

 

Comentarios

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

No hay comentarios