Trabajando con la máquina virtual de desarrollo local en Dynamics 365 for Operations

No voy a escribir una entrada sobre cómo configurar una MV local de Dynamics 365 for Operations para desarrollo, porque ya se han publicado muchísimas desde el lanzamiento del producto hace unos meses. También está publicado en la documentación oficial de forma bastante clara, así que sería repetir lo que ya se ha explicado mil veces.

Lo más importante es configurar bien la conexión con el proyecto de Visual Studio Team Services y con la rama que estemos utilizando, mapeando de forma acorde las carpetas locales. Por ejemplo:

  • La carpeta Metadata debe apuntar a donde están almacenados los paquetes de Dynamics 365 en el disco. Dependiendo de la versión de la máquina virtual pueden estar en C:\AOSService\PackagesLocalDirectory o en C:\Packages (en las versiones antiguas).
  • La carpeta Projects normalmente se configura en la carpeta por defecto donde Visual Studio almacena los proyectos (en Mis Documentos), pero esto dependerá de la estructura que siga cada equipo para almacenar los proyectos que, recordemos, no forman parte de los metadatos de AX en esta versión, como sí hacían los proyectos del AOT de versiones anteriores.

También hay una serie de propiedades que se pueden modificar para que la máquina se comporte de una forma más natural para un desarrollador de AX e incluso para mejorar un poco el rendimiento.

Siguiendo con nuestra cadena respecto a la introducción al desarrollo para Dynamics 365 for Operations, voy a comentar algunos escenarios que suceden mucho y parecen ser problemáticos para programadores que empiezan a utilizar las nuevas herramientas. Pequeños detalles que conviene no olvidar. Es posible que actualice este post en el futuro para tenerlos todos localizados:

Continue Reading…

Desarrollo en Dynamics AX 7: La nueva arquitectura

Mientras esperamos que se publique la versión definitiva de “El Nuevo” AX o Dynamics AX 7, podemos empezar a comprender las bases del sistema utilizando la información publicada y la Preview pública. Antes de entrar a analizar los detalles de la nueva versión, que son muchos y nos va a llevar bastante tiempo, hay que comprender las bases que han motivado todos esos cambios y que nos van a permitir comprender mejor la nueva forma de desarrollar, que aunque utiliza herramientas parecidas a las versiones anteriores, veremos como son totalmente diferentes.

Model Store vs Local Repository

En versiones anteriores el código y los metadatos se almacenaban en ficheros de capa (AX 2009) y después en bases de datos, ya sea una base de datos dedicada (AX 2012 R2+) o en la propia base de datos de negocio (AX 2012 RTM). Este simple hecho condicionada las herramientas que podíamos utilizar para trabajar con este código y metadatos. Esto es, programar, crear nuevos objetos, hacer pruebas, compilar, etc…

En AX 7 el código se almacena en ficheros en el disco, como en la mayoría de lenguajes modernos, donde tenemos la versión de los ficheros que nosotros estamos modificando. No en ficheros XPO como en ficheros anteriores, sino en un formato nuevo del que hablaremos más adelante, y estos nuevos ficheros pueden abrirse desde Visual Studio utilizando Proyectos y Soluciones propias de este editor para organizar nuestros desarrollos.

Modelos vs Paquetes

Aparte de este cambio en el almacenaje y gestión de los metadatos, en la nueva versión X++ es un lenguaje completo y nativo de la plataforma .NET, y por tanto el compilador y la ejecución son la misma que en los lenguajes .NET. El resultado más evidente de este cambio es que el código compilado (que en la versión anterior se guardaba, también, en base de datos) genera ensamblados (librerías DLL) que se ejecutan en CLR, como el resto de la plataforma .NET.

packages models projects

Continue Reading…

¿Qué hotfixes tenemos instalados en Microsoft Dynamics AX 2012?

Al hilo del post anterior, periódicamente voy anunciando en este blog todas las actualizaciones relevantes que se van publicando para Microsoft Dynamics AX en sus diferentes versiones. Después de algún tiempo puede ser complicado saber qué versión exacta tenemos instalada para revisar si necesitamos instalar un hotfix determinado o ya lo tenemos incluido en alguna de estas versiones acumulativas.

Hace unos días se publicó (en este blog) un artículo explicando como revisar los hotfixes/revisiones instalados en una aplicación Microsoft Dynamics AX 2012. Lo repito aquí porque las imágenes no se ven muy bien, pero el mérito de la idea es todo suyo. La idea es que se pueden ver todos los hotfixes y versiones instaladas en el nuevo repositorio de modelos, accesible desde el entorno de desarrollo > Ayuda > Acerca de Microsoft Dynamics AX > Mostrar modelos instalados:

AX 2012 - Ver modelos instalados(click para ver mas grande)

En el caso de la imagen (mi máquina virtual) tenemos una versión AX 2012 R2 RTM (6.2.158.0) con el CU1 instalado (6.2.1000.156). En esta lista de modelos irán apareciendo nuevos registros conforme se agreguen o eliminen actualizaciones, y podremos utilizar el formulario para buscar versiones concretas o numeros KB instalados. La lista completa de números de versión y parches publicados la tenemos en el siguiente enlace, que el equipo de Microsoft mantiene constantemente actualizado. Este enlace está a la derecha de este mismo blog, en el apartado de enlaces destacados, para que no se pierda 😉

Avances de la nueva versión de Dynamics AX ‘6’

Como es más que sabido, ya que lo han anunciado por todos los canales posibles, la semana que viene es la Microsoft Dynamics AX Technical Conference 2011 en las oficinas de Microsoft en Redmond (Washington, EEUU) y esto hace que se vayan adelantando las novedades que allí se van a contar sobre las nuevas versiones de Dynamics, en el caso que nos ocupa la version llamada de momento Dynamics AX 6.

Aunque no hay nada concreto todavía, Microsoft publicó ayer una nota de prensa anunciando lo que serán los cambios de arquitectura de AX que ya hace tiempo se venian comentando y que, si bien para usuarios finales e incluso consultores será casi un cambio transparente, para los desarrolladores y personal técnico va a ser la novedad mas importante y más esperada de esta versión, salvo que anuncien una novedad impresionante en los próximos meses.

Estoy hablando de la anunciada arquitectura en capas basada en modelos que permitirá separar de una vez los desarrollos entre partners e incluso permitirá separar para un mismo partner diferentes desarrollos como por ejemplo pueden ser soluciones verticales u horizontales. También incluirá, según se aunció durante el año pasado, el traspaso de muchos de los objetos de la aplicación que ahora se almacenan en ficheros de disco a la base de datos SQL lo que mejorará (esperemos) notablemente el rendimiento de los objetos y la facilidad de mover desarrollos entre entornos.

También se destaca una integración de serie con el resto de la plataforma Microsoft Application Platform que incluye entre otros SQL Server 2008, Visual Studio 2010, Office 2010 y Sharepoint 2010 que, según anuncian, reducirá los tiempos de integración.

Es interesante que varios partners ya han estado probando y desarrollando sobre esta versión en el programa Early Adopter (por lo que suponemos hay una versión estable disponible) y anuncian que habrá una versión preview para la comunidad técnica el mes que viene (Febrero) y que estará disponible de forma general en el tercer cuarto de este año 2011.

Todo el detalle en la Nota de Prensa.

Modelos en AX

Sirva esta breve entrada como resumen de la interesantísima nueva funcionalidad de AX 6 publicada durante cuatro entregas en mfp’s (1, 2, 3, 4).

La idea de Modelo es una nueva abstracción superior a las capas para agrupar objetos pertenecientes a un mismo objetivo y será un avance importantísimo a la hora de implantar soluciones en las diferentes instalaciones de AX que maneja una empresa de desarrollo o un cliente final.

Supone un avance en el actual sistema de capas ya que permitira el manejo, importación y exportación de objetos situados en los diferentes modelos situados cada uno en una capa, de manera que podrán convivir desarrollos realizados por diferentes empresas, clietnes, finales, etc.

La lectura es obligada para cualquier desarrollador de AX, y mfc la resume perfectamente en estos puntos:

  • Los modelos ofrecen un método de transporte mucho mejor que los ficheros AOD usados hasta ahora, sobre todo porque peuden ser firmados y tener un manifiesto.
  • Los modelos permiten la instalación de desarrollos de orígenes diferentes en la misma capa.
  • Los modelos permiten segmentar un desarrollo en modelos mas pequeños y manejables.
  • Los modelos estan totalmente integrados en la experiencia de desarrollo con MorphX