Control del código fuente con TFS en Microsoft Dynamics AX 2012 (ALM-VI)

En anteriores capítulos de esta serie ya hablamos de cómo instalar y/o configurar nuestra instancia de Microsoft Team Foundation Server, y también sobre cómo usarlo para gestionar nuestras tareas y requerimientos. Este artículo es la última parte acerca de la funcionalidad básica de la integración entre Microsoft Dynamics AX 2012 y TFS, para poder empezar en los siguientes post con temas más avanzados.

En este artículo veremos como trabajar con TFS para la gestión de versiones del código fuente (VCS), que es el primer paso para poder utilizar las funcionalidades más avanzadas del sistema en cuanto a sus capacidades de ALM. Básicamente, el control de versiones pretende que cualquier cambio realizado sobre los objetos del sistema quede registrado, así como la fecha, el autor de dichos cambios, qué otros objetos se modificaron a la vez y por qué (mediante los comentarios en durante el check-in).

Esto nos permite revertir los cambios, volver a una versión anterior, comparar el estado actual de un objeto con una versión anterior, revisar los cambios realizados un determinado día por un desarrollador (para realizar revisiones de código), asociar los cambios a una determinada tarea para ver todos los cambios que ha requerido finalizarla, y un largo etcétera.

Las tres operaciones más evidentes que requiere cualquier control de versiones son: añadir nuevos objetos, check-in y check-out (traducidas en AX como Proteger y Desproteger respectivamente) y Sincronizar.

Agregar nuevos objetos

En Microsoft Dynamics AX no se añade todo el código al gestor de código fuente, al contrario que en otros VCS. No tendría sentido añadir todos los objetos que forman parte de la aplicación estándar ya que esto supondría un desperdicio notable de recursos. Por eso, sólo se añaden los objetos nuevos o aquellos objetos estándar que se han modificado, suponiendo que si un objeto no está controlado por el control de versiones es que es un objeto estándar que nunca ha sido modificado. En resumen, se añaden todos los objetos que no forman parte de las capas o modelos del sistema.

Para añadir un objeto al gestor de código fuente, TFS en este caso, se hace botón derecho sobre el mismo y Añadir al control de versión. Es importante recordar esta operación ya que no se realiza automáticamente. Si un objeto no se agrega al control de código, provocará errores e incoherencias cuando otros desarrolladores sincronicen nuestros cambios y no obtengan todos los objetos, por lo que es muy importante hacer de esta tarea un hábito y añadir los objetos a TFS cuanto antes, a ser posible justo después de crearlos, para no olvidarlo.

AX2012 vs TFS - Añadir a control de versión

Como se puede ver en la imagen anterior, los proyectos de MorphX también se consideran objetos y, por tanto, hay que agregarlos manualmente. No es recomendable añadir proyectos privados al control de versiones. En cualquier caso, dejarían de ser privados en TFS, donde se almacenarían como un objeto más.

Continue Reading…

Leer elementos de Team Foundation Server desde Microsoft Dynamics AX 2012 (ALM-V)

Vuelvo brevemente sobre una de mis series de post mas largas hasta la fecha, lo referente a la integración de AX 2012 con Team Foundation Server, no sólo para la gestión del código fuente, sino también como herramienta de gestión del trabajo del equipo. En capítulos anteriores ya vimos cómo se instala y configura TFS (esto cambia entre versiones, también vimos que no necesitamos instalar nada si utilizamos la versión en la nube) y cómo podíamos crear elementos de trabajo en TFS (WorkItems) para gestionar el trabajo desde esta herramienta.

Al hacer un check-in de código desde Microsoft Dynamics AX 2012 se nos plantea la posibilidad de asociar ese check-in a algunos elementos de trabajo de TFS. Esto es casi obligatorio para poder llevar un buen control de para qué se realiza cada cambio, pero la herramienta que nos ofrece AX es bastante limitada. Sin embargo, gracias al API de TFS, podemos ampliarla e incluso desarrollar nuestras propias herramientas e informes en AX 2012 obteniendo datos del servidor de TFS (sí, también desde Visual Studio Online).

Una funcionalidad muy interesante para ahorrarnos tiempo de desarrollo es poder ejecutar desde AX 2012 consultas que están guardadas y utilizamos en TFS. Esto nos permite tener las mismas vistas de datos en los dos entornos, lo que facilita el trabajo. Profundizaré sobre esto en los siguientes post sobre este tema, pero ahí va un código de ejemplo para realizar esta tarea.

NOTA: Para que estos ejemplos funcionen, es necesario tener instalado el SDK de Visual Studio de la versión de TFS que estemos utilizando. En mi caso es el SDK de la versión 2013 porque estoy utilizando Visual Studio Online, pero esto puede variar en cada instalación. Se puede descargar del siguiente enlace:

Después de instalar el SDK, hay que añadir las referencias necesarias al AOT para que AX 2012 pueda utilizarlas:

Add references to AOT

Ahora si, el código:

Continue Reading…

Descargar aplicación Microsoft Dynamics AX 2012 desde Team Foundation Server (ALM-IV)

Hace ya mucho tiempo desde la última entrada de esta serie!! Pero aquí estamos de vuelta. Voy a plantear un caso real: Empezamos a trabajar con un cliente y cuando le pedimos los datos para conectar a su aplicación sólo nos da un usuario y una contraseña y una URL correspondiente a un proyecto de Team Foundation Server. ¿No puede ser tan complicado verdad? Pues no lo es, incluso apuntando esa URL a un TFS en la nube (ahora Visual Studio Online, durante un tiempo llamado Team Foundation Service).

El primer paso es preparar el repositorio local donde se van a almacenar los ficheros descargados desde TFS. Para esto simplemente hay que crear una carpeta en el disco duro, yo suelo hacerlo en c:\TFS_Repo y dentro de esta carpeta creo una estructura con la forma \Proyecto\(Rama)\Aplicacion\Modelo. Como en este caso no voy a utilizar ramas, creo la carpeta c:\TFS_Repo\AX2012\Main (Main es mi nombre para la aplicación, en este caso). Esta estructura puede variar según las necesidades y los gustos de cada uno, yo lo hago así porque dentro de la carpeta TFS_Repo puedo almacenar otros proyectos de TFS independientes de AX 2012, y todo queda ordenado.

A continuación, en el entorno de desarrollo de mi aplicación AX 2012 (que está recién instalado, sin ningún cambio), vamos a Control de la versión > Parámetros de control de versión, o Ctrl+Shift+V:

AX2012 TFS - Parámetros TFS

Continue Reading…

Microsoft Dynamics AX 2012, Azure Services y Windows Phone

Hace unos meses, desde Microsoft publicaron una aplicación de ejemplo para la captura de datos de gastos desde Windows Phone. Esta aplicación no es descargable desde España, pero lo relevante del asunto no es la aplicación en sí (cuyo funcionamiento se intuye) sino la arquitectura necesaria para que los datos de nuestra instalación de Microsoft Dynamics AX 2012 lleguen hasta el terminal móvil de manera inmediata y segura.

Microsoft Dynamics Tile

Para entender este funcionamiento hay que introducir al juego los nuevos servicios disponibles en Microsoft Windows Azure (sí!, en la nube). Hay que ir acostumbrándose a ellos, ya que Microsoft está rehaciendo toda la estrategia de sus productos alrededor de estos servicios. Por eso vamos a hacer una pequeña introducción de cómo utilizar estos servicios para llevar al móvil los datos empresariales de nuestro ERP. Todo ello se basa en el siguiente esquema, que vamos a explicar:

Continue Reading…

Microsoft TechDay & Community Day

La semana pasada tuve la suerte de poder asistir a dos eventos de comunidad organizados por Microsoft en Madrid donde estuvimos invitados MVP‘s, MSP‘s, evangelistas, el equipo de marketing y demás freaks 😉

Día 1

Microsoft TechDay Madrid - Logo

El TechDay empezó con una breve presentación de los logros de Microsoft durante este año (que no son pocos) por parte de Gonzalo Die Socias –DPE Lead de Microsoft España– dando un repaso por todos los hitos cumplidos este año y los que van a venir en un futuro cercano, como presentación a la Keynote.

Microsoft TechDay Madrid - Presentación

Continue Reading…

Microsoft Dynamics AX 2012 Presente y Futuro

Si hace unos días, actualizaba mi post sobre la Microsoft Dynamics AX Technical Conference 2012, durante esta semana se ha celebrado en Seattle la AXUG Summit 2012, donde ya se han presentado las novedades que se esperan de Microsoft Dynamics AX a corto y medio plazo.

Microsoft Dynamics AX 2012 R2

También llamado AX 6.2, es la siguiente versión menor que se publicará previsiblemente en Diciembre. Una versión que, según Hal Howard (Vicepresidente de I+D para Dynamics) incluye diferentes peticiones que clientes y partners como las mejoras en las herramientas RapidStart y las posibilidades de ejecutar cualquier combinación de países en una misma instancia. Además:

  • AXUG Summit 2012 LogoNueva funcionalidad de planificación de presupuestos (contables)
  • Mejoras en el módulo de RRHH para la gestión de los empleados
  • Funcionalidades locales para 11 nuevos países
  • Mejoras para el comercio electrónico
  • Compartir y programar recursos entre empresas

La funcionalidad de presupuestos contables utilizará Excel como herramienta front-end y Sharepoint para compartir los datos, como suele siendo habitual en la plataforma. De esta manera el sistema podrá analizar costes top-down y bottom-up incluyendo vistas para los diferentes niveles de la organización, incluyendo costes fijos y variables, gastos e integración con contabilidad y recursos humanos utilizando la jerarquía de organización como base para confeccionar el presupuesto.

También se presentan mejoras respecto a los role centers como nuevos controles Power View (novedad de visualización de Business Intelligence en SQL Server 2012) para el control de centros de coste. En la demo se mostró como se podían mezclar los ratios de crédito de los clientes con la contabilidad general en un gráfico interactivo que permitía filtrar cuentas por el riesgo de crédito, o un mapa que mostraba las ventas retail por zonas. Sin haber visto las demos de este evento, he de decir que las posibilidades del nuevo Power View que he visto en diferentes eventos de SQL Server 2012 son espectaculares, dejando atrás a herramientas similares de manera contundente (por fin).

Dynamics AX después de la R2

El equipo de AX anunció algunas novedades que están por venir, como una aplicación para móviles de captura de gastos, y una nueva herramienta de análisis para Windows 8 orientada a ejecutivos que quieran consultar sus datos en dispositivos tablet. También se habló de funcionalidades muy focalizadas como una aplicación de punto de venta para retail y distribución a mitad de 2013, aunque sin muchos detalles.

Se anunció una sustancial mejora del Master Data Management con conectores mas allá del que existe actualmente para CRM incluyendo conexión con otras instancias de Dynamics AX incluso de diferentes versiones. Sin duda esto ayudará a empresas con grandes despliegues a acometer proyectos de migración con un menor riesgo e impacto.

Corporate VP of Dynamics ERP R&D

También se dijo que la próxima versión mayor del producto tendría una nueva UI estilo Windows 8 que convertiría a AX en, textualmente: “fundamentally a new browser-based HTML5 app”. Esto personalmente me ha llamado mucho la atención por la cantidad de consecuencias técnicas que podría tener, incluso aunque se apostara por el modelo ya utilizado, por ejemplo en NAV, de dejar utilizar el cliente nuevo y “antiguo” a la vez (lo que duplica las consecuencias).

Otra ventaja anunciada (de la que se viene hablando desde hace meses), es que este nuevo interfaz se podría servir desde servicios basados en Azure desde Microsoft, salvando la actual barrera técnica que hace (a mi parecer) imposible desplegar entornos Dynamics AX en la nube. Esta podría ser la solución propuesta aunque a falta de detalles tendremos que esperar para ver qué se les ha ocurrido finalmente. De momento han anunciado que la oferta no será un despliegue completo de AX en could on-premise sino soluciones específicas para cada industria que Microsoft irá mejorando y publicando según la demanda.

El anuncio textual desde luego es prometedor. En palabras de Hal Howard: “nos centramos en un servicio cloud que puedas manejar, que puedas hacer todo lo que quieras hacer y que funcione igual que en tus servidores pero con los beneficios, la flexibilidad y la potencia de un entorno en la nube basado en Azure”

Por último aunque no menos importante, se anuncia definitivamente que, como era de esperar,  todo el entorno de desarrollo se mueve a Visual Studio. Ya no habrá parte del desarrollo en MorphX y parte en VS sino que habrá un sólo punto de trabajo. Esto era algo que se podía prever de los movimientos llevados a cabo durante las últimas versiones pero ahora ya es oficial aunque me dejan la duda de si se mantiene el lenguaje X++. Durante versiones y versiones se ha defendido su durabilidad pero con los últimos cambios es inevitable tener ciertas dudas.

FUENTES: 1 2