375 alumnos
Curso Frameworks de Desarrollo
Nivel 200

Bienvenidos a un nuevo curso de desarrollo sobre Microsoft Dynamics AX bajo la versión 2012 R3. Este nuevo curso está destinado a profundizar en algunos aspectos de AX para personas que ya tienen conocimientos sobre el desarrollo con este ERP, por lo que será necesario controlar perfectamente la creación de objetos desde el AOT y creación de proyectos de desarrollo entre otras cosas, así como conocer el lenguaje de programación X++. Si no es tu caso, te invitamos a que veas los cursos de Introducción al Desarrollo y de Desarrollo con X++ que puedes encontrar en nuestra plataforma de formación.

Este nuevo curso va a tratar diferentes frameworks de desarrollo incluidos en Dynamics AX, algunos de ellos nuevos desde la versión 2012, que facilitarán el trabajo del desarrollador en su día a día.

Comenzaremos con en Query Framework, viendo como crear una serie de estructuras para realizar consultas contra la base de datos desde X++, y veremos las novedades que fueron incluidas en este framework en la versión 2012 de AX.

Seguiremos trabajando con el Number Sequence Framework para poder generar números de secuencia que se utilizarán como identificadores únicos en una serie de registros. Veremos su configuración, creación y uso.

Gracias al Eventing Framework veremos un nuevo patrón de diseño de soluciones basado en Eventos y Delegados, que nos permitirá reducir el coste de la ampliación de la funcionalidad estandar, reduciendo también los posibles conflictos que podemos encontrar en futuras actualizaciones.

Dedicaremos una cápsula al nuevo Framework de Extensión incluido en la versión 2012 R3 de AX, que cambiará la forma en la que hemos estado programando hasta ahora cuando teníamos que trabajar con clases base y clases heredadas, ahorrando tiempo en el desarrollo de éstas.

Haciendo uso del Date Effective Framework, veremos lo que se simplifica nuestra labor cuando tenemos que trabajar con tablas con validez en el tiempo, como puede ser, por ejemplo, la tabla que tenemos para controlar los tipos de cambio entre divisas.

Trabajaremos con el SysOperation Framework, que viene a sustituir a los frameworks RunBase y RunBaseBatch, viendo como realizar procesos en los que el usuario tiene que interactuar por medio de introducción de parámetros en diálogos.

Gracias a este famework, seremos capaces de lanzar estos procesos para que sean ejecutados en servidores de lotes, por lo que dedicaremos otra cápsula a la configuración y utilización del Batch Framework, para que podamos generar procesos por lotes y así liberar el cliente de AX para realizar ciertas tareas.

Por último, realizaremos una introducción al Unit Test Famework, viendo como generar pruebas unitarias que nos permitan validar en todo momento nuestro código y así comprobar que los cambios realizados son correctos.

Como siempre, este es un curso abierto, por lo que si consideras que sería util realizar una cápsula sobre cualquier otro framework que no esté incluido en el curso, no dudes en contactar con nosotros para ampliar el contenido.

Instructor
Juan Antonio Tomás
23 Recursos
Cápsulas del curso
  • Duración 29:14
    Archivos:

    Una query es uno de los principales elementos disponibles en Microsoft Dynamics AX 2012 para la obtención y manipulación de datos. Como ya sabemos, podemos crear Queries desde el AOT del mismo modo que cualquier objeto, y diseñar su estructura añadiendo elementos a los distintos nodos que la conforman y modificando sus propiedades.

    Durante esta cápsula veremos cómo crear estas estructuras desde código X++, que, aunque no es tan sencillo y rápido como hacerlo desde el AOT, resulta bastante intuitivo y nos proporciona mucha más libertad en cuanto a los criterios de selección que podemos utilizar para obtener los datos necesarios.
    Es por este motivo que muchas de las tareas que tengamos que realizar, las haremos directamente programando las queries desde el código y no desde el AOT.

    Por último, veremos cómo insertar los datos obtenidos en una query directamente en una tabla. Esta es una característica añadida en la versión 2012 R3 de AX.

    Ahora vamos a explicar los distintos elementos y clases que forman el Query Framework y a trabajar con ellas para conseguir obtener los datos requeridos en función de las necesidades del proyecto.

  • Duración 23:20
    Archivos:

    Microsoft Dynamics AX utiliza el Number Sequence Framework para generar números de secuencia alfanuméricos que se utilizarán como identificadores únicos y legibles para registros de tablas maestras y de transacciones.

    A lo largo de esta cápsula veremos cómo utilizar los números de secuencia y hablaremos de las novedades introducidas en este framework desde la llegada de la versión 2012 de AX, que són los conceptos de Ámbito y Segmento.

    Veremos el proceso completo simulando la implantación de un nuevo módulo a medida en AX, creando una nueva tabla de parámetros para este módulo y realizando toda la configuración necesaria para poder generar nuevos números de secuencia y utilizarlos en la aplicación. De este modo, veremos cómo al crear nuevos registros sobre una tabla concreta, el identificador del registro se va asignando automáticamente y de forma secuencial sin que el usuario tenga que realizar ninguna acción.

  • Duración 16:39
    Archivos:

    Microsoft Dynamics AX 2012 nos trae bajo el brazo un nuevo patrón de diseño de soluciones basado en Eventos y Delegados.

    Como sabéis, raramente un cliente trabaja con una instalación estándar de AX. Más bien, cada cliente tiende a personalizar su AX en función de los requisitos y las necesidades de su modelo de negocio. Esto nos lleva, a que, por parte de los partners, se realicen muchos desarrollos y personalizaciones en las que se modifica o amplía el código estándar de la aplicación en otra capa.

    Este modelo de diseño tiene un principal problema, y es que las personalizaciones se pueden romper cuando Microsoft modifica el código de una capa inferior al liberar una nueva versión. Para solucionar este problema, Microsoft ha desarrollado el nuevo patrón de diseño basado en Eventos y Delegados.

    Con este nuevo modelo podemos reducir el coste de ampliar la funcionalidad estándar, definiendo puntos concretos en el código, donde normalmente se realizan personalizaciones, para que el resto de desarrolladores se suscriban a un evento para añadir su propio código sin necesidad de modificar el existente. Gracias a esto, reduciremos el impacto que se produce con las actualizaciones.

  • Duración 19:11
    Archivos:

    Esta nueva cápsula vamos a dedicarla a hablar del nuevo Framework de extensión que tenemos disponible en AX 2012 R3.

    Este framework es una novedad incluida en la versión 2012 de Dynamics AX, y supone un cambio total en la forma en la que trabajábamos con la herencia de clases.

    Hasta ahora, utilizábamos, como veremos más adelante, la creación de instancias de una subclase partiendo de la clase padre y basándonos en un parámetro, que era un enumerado generalmente, para decidir cuál era el tipo correcto de la clase hija que debíamos instanciar. De este modo lo que hacíamos, era, dentro del new de la clase base, llamar al constructor de la clase hija en función de este parámetro.

    Esta forma de trabajar, tenía una clara desventaja, y era que cada vez que necesitábamos crear un nuevo subtipo, teníamos que modificar varios objetos del sistema, entre ellos, la clase padre, lo que hacía que tuviésemos varias copias de este objeto en distintas capas, pudiendo generar conflictos entre ellas.

    Pues, como vamos a ver ahora, este patrón de extensión nos va a permitir generar nuevos subtipos ahorrando tiempo, puesto que no será necesaria la modificación de tantos objetos, y evitando estos conflictos que podían surgirnos en versiones anteriores.

  • Duración 25:37
    Archivos:

    Muchas veces nos encontraremos con escenarios en los que necesitaremos mantener un historial de los datos del sistema y conocer en todo momento durante qué período de tiempo tiene validez cada registro. Por ejemplo, si pensamos en los tipos de interés que nos ofrece un banco, éste es un dato que tiene una variación en el tiempo, y necesitamos conocer en todo momento cuál es su valor en una fecha concreta.

    Al necesitar mantener un histórico de los datos, se puede complicar la selección o la presentación de los datos en formularios.

    Para solventar este problema, AX 2012 ha incluido el nuevo Date Effective Framework, en el que nos ofrece una serie de herramientas para poder trabajar con datos con validez en el tiempo. Gracias a este framework, podremos también controlar de una forma sencilla que no haya solapamiento de los datos en el tiempo, así como controlar que no existan periodos de tiempo concretos sin datos si fuese necesario.

    A lo largo de esta cápsula veremos cómo diseñar tablas con validez en el tiempo y cómo afecta la inserción, actualización y borrado de datos en estas tablas. También veremos cómo realizar consultas sobre estas tablas utilizando tanto sentencias sql como vistas y queries, ampliando de este modo la funcionalidad que vimos en la cápsula dedicada al Query Framework, y por último, veremos como el framework de seguridad también está totalmente integrado para poder tratar los accesos a las tablas con validez en el tiempo, permitiendo distinguir el acceso a datos pasados, presentes y futuros.

  • Duración 15:06
    Archivos:

    El contenido de esta cápsula va a estar dirigido a un nuevo Framework de desarrollo introducido en AX 2012, el SysOperation Framework.

    El SysOperation Framework, inicialmente conocido como Business Operation Framework (BOF), es el sustituto de los Frameworks anteriormente utilizados RunBase y RunBaseBatch. Del mismo modo que estos, nos permite realizar operaciones en las que el usuario debe introducir una serie de parámetros o ejecutar estas operaciones en procesos por lotes, simplificando eso sí, el empaquetado de variables que era algo incómodo y aprovechando las ventajas que nos proporciona el uso de los Atributos introducidos en AX 2012.

    A lo largo de la cápsula veremos los distintos modos de ejecución disponibles en este framework e intentaremos transformar una clase que ya tenemos desarrollada con el framework RunBase al nuevo framework SysOperation, de forma que podamos ver las diferencias entre ambas y las ventajas de utilizar este último.

  • Duración 22:59
    Archivos:

    En esta nueva cápsula vamos a hablar del Batch Framework, que nos permitirá utilizar el procesamiento de trabajos por lotes, que podrán ser programados y ejecutados en diferentes equipos.

    Hay muchas tareas en Microsoft Dynamics AX que pueden ser ejecutadas como tareas de trabajos por lotes, y es el objetivo de esta cápsula aprender a configurar todo lo necesario para poder hacerlo, para ello veremos cómo ejecutar una instancia de AOS como servidor de lotes, veremos cómo crear nuevos grupos de lotes, que nos servirán para clasificar las distintas tareas y ejecutarlas en servidores distintos. Veremos cómo podemos crear un trabajo por lotes, para poder ejecutarlo cuando nosotros decidamos indicándole una fecha y hora concreta, lo que es muy útil para liberar al cliente de AX de carga de trabajo, así como para aplazar estas tareas a horas en las que el servidor se encuentra más liberado de carga.

    Una vez que la tarea haya sido ejecutada, seremos capaces de ver el historial de los lotes, cambiar el estado de estos trabajos e incluso eliminar los lotes que ya no deban ser utilizados.

  • Duración 16:48
    Archivos:

    A lo largo de esta cápsula vamos a hablar del framework de pruebas unitarias de Microsoft Dynamics AX 2012.

    El Unit Test Framework está completamente integrado dentro del IDE MorphX, lo que es muy importante para realizar un desarrollo guiado por pruebas, ya que nos permite crear pruebas unitarias junto con el código que se quiere probar.

    Para aprender a utilizar este nuevo framework, veremos un proceso completo para probar cierto código.

    Primero de todo, veremos los distintos casos de prueba que tenemos disponibles utilizando atributos. Seguidamente, crearemos un proyecto de pruebas en el que veremos cómo crear un nuevo caso de prueba y lo ejecutaremos para analizar los resultados.

    Para poder analizar estos resultados hablaremos de las distintas formas que tiene este framework para mostrarlos y así poder ver el porcentaje de cobertura que una prueba tiene sobre el código.

Suscríbete y tendrás acceso a todos los cursos

Al utilizar este sitio web aceptas las condiciones de uso y aviso legal del mismoCerrar