Nav Tech Days 2018

Impresiones después de NAV Tech Days 2018

Noticia escrita a 4 manos por Sergi Puig y Juanjo García.

Como ya es habitual, este pasado mes de noviembre dos miembros del equipo de Grup de Serveis Triangle asistimos al congreso NavTechDays que se realiza a finales de cada año en la población belga de Amberes. En esta ocasión la principal novedad para nosotros es que por primera vez asistimos a los pre-conference workshops que se realizan los días anteriores al congreso y por eso, aparte de traernos un gran catarro y una amplia lista de buenas cervezas belgas, también tenemos una serie de comentarios e impresiones sobre cuestiones técnicas que queremos explicar en este blog.

Nuestra primera experiencia en los pre-conference days

Antes de nada, nos gustaría indicar la gran experiencia de asistir a los cursos o workshops de los días anteriores al congreso. La asistencia es completamente provechosa ya que se caracterizan por ser unos cursos de todo el día (unas 8 horas con pequeños descansos) centrados en un único tema, interactivos y con pocos alumnos (entre 10 y 20). De este modo, si vamos con unas nociones previas del curso donde asistimos y definiendo claro qué es lo que se queremos aprender, se obtienen resultados más provechosos que en otros workshops de congresos similares de 2-3 horas y con mucha más gente, o asistiendo a conferencias donde sólo se escucha a los oradores en formato keynote. En nuestro caso concreto asistimos a los siguientes workshops:

  • Tests automatizados de Microsoft: se nos introdujo la herramienta que Microsoft proporciona desde Dynamcis NAV 2017 para realizar tests automáticos y se realizaron distintos ejercicios para detectar errores en los objetos proporcionados para el curso. Esta herramienta es una página tipo diario (page 130401) que ejecuta las codeunits “de test” y nos informa de su resultado. Con el término codeunits de test nos referimos a la nueva propiedad FunctionType = Test disponible en los objetos tipo codeunit. Podemos crear nuestras propias codeunits de test, o empezar con las que proporciona Microsoft, en el paquete de objetos externos disponibles en la carpeta TestToolKil del instalador de NAV/BC. Estos objetos contienen una serie de circuitos básicos, como crear facturas, liquidar movimientos… y así hasta los más que 21.000 que hay disponibles en el paquete de BC!
  • VisualStudio: se realizó una amplia explicación sobre este nuevo entorno de desarrollo (no confundir el programa, con el nuevo lenguaje A/L) y sus características principales: amplia configuración y extensibilidad, diseño de nuevos snippets, creación de nuevas extensiones para VisualStudio, propuestas de las mejores extensiones existentes para desarrolladores de NAV/BC, accesos directos por teclado, o su gestión de código (source code management), todo ello de la mano de un referente como es el maestro Eric Wauters (Waldo). Para los interesados, solo añadiría que las recomendaciones de las extensiones que nos dio fueron las del A/L Language (obviamente, porque de otro modo no se  puede desarrollar con este lenguaje).
  • Docker: A pesar de que era un workshop para gente con un conocimiento avanzado, la parte práctica partió desde 0 en un Virtual Machine de Azure. En general, fue muy interesante. Se resolvieron bastantes dudas que teníamos y que ahora tenemos que poner en práctica para seguir con en análisis de implementar Docker en Triangle. Este Workshop dirigido por Tobias Fenster fue 90% práctico, por lo que pudimos probar bastantes cosas interesantes como:
    • Crear una carpeta compartida con nuestro contenedor
    • Copiar archivos de dentro a fuera y viceversa con docker cp
    • Crear conexiones de red para contenedores
    • Limitad la CPU y la RAM para que no exceda de consumo
    • Asignar una Label al contenedor para referenciarlo
    • Instalar los últimos contenedores de BC
    • Cambiar la base de datos a una no estándar en nuestro contenedor
    • Cambiar alguna configuración de la 2nd Tier
    • Importar nuestra licencia de BC al contenedor
  • GIT: buen workshop para ver de primera mano algunos de los casos de uso para gestionar archivos a través de VSCode o usando GIT Extensions. Este workshop fue fundamentalmente práctico, pero como el tiempo era limitado y el temario amplio, revisamos juntamente con Kamil Sáček los diferentes escenarios en la pantalla. Como feedback del workshop me gustaría que reviséis la aplicación web con la que realizamos las pruebas haciendo clic aquí, ya que podréis realizar pruebas sobre casos reales y ver cómo resultaría el “árbol” de nuestro fichero. En resumen, aprendimos cómo gestiona GIT los archivos creando claves hash, cómo mover nuestro head para crear nuevas brancas y varios comandos como: GIT Pull, push, commit, branch, merge, etc.

NAV Tech Days interior

¿Y… NAV Tech Days?

Con todo este bagaje en la mochila seguimos con la parte principal de NavTechDays, que son las conferencias que tienen lugar el jueves y el viernes. En ellas pudimos encontrar varios temas relacionados con NAV/BC, tanto de presente como de futuro, que son de imprescindible conocimiento para no quedarnos desfasados en un mundo en el que el cambio va tan rápido como el nuestro. Este año los principales temas estaban enfocados por un lado al lanzamiento de BC y la nueva interface del cliente web, o como lo han bautizado: MODENA (MODErn NAvision). Y por otro lado, y siguiendo el camino que se inició hace unos 4 años, en todo lo que refiere al entorno enfocado al Cloud y su extensibilidad: nuevas características en A/L, ejemplos de reorganización de código enfocado a eventos, rendimiento en Cloud, Azure y su “Machine Learning”…

Y el último aspecto que nunca se debe menospreciar, es aprovechar los tiempos de comidas y descansos para interactuar con compañeros y otros partners para compartir experiencias, dudas, problemas… y comprobar que esta comunidad no la formamos una serie de empresas que competimos para un mismo mercado, sino más bien una inmensa familia que vamos juntos hacia una misma meta. Y solo esperamos que en los futuros congresos vengan más compañeros españoles, que este año solo éramos 19…

¿Cómo plantea el futuro Triangle?

Finalmente, las conclusiones que sacamos de esta edición de NavTechDays y que debemos aplicar en Grup de Serveis Triangle es la inminente puesta en marcha de distintas herramientas como es la gestión de Docker y los tests automatizados y empezar las nuevas actualizaciones de versión enfocadas a BC y la interface MODENA. Además, el reto es adaptarnos al nuevo entorno de desarrollo, al código A/L y desarrollo enfocado solo en extensiones en cuestión de 6 meses, aprovechando el lanzamiento a la primavera de 2019 del nuevo release de Business Central.