Microsoft Dynamics AX 2012

Acabada la Microsoft Dynamics AX Technical Conference 2011 de esta semana tenemos suficientes novedades sobre AX como para considerarlo un producto totalmente nuevo, al menos en lo que arquitectura y tecnología se refiere. La primera novedad es el nombre definitivo de la nueva versión llamada hasta ahora Dynamics AX ‘6’, se publicará con el nombre comercial Microsoft Dynamics AX 2012.

Durante esta semana algunos de los afortunados que pudieron asistir a la conferencia en Redmond han estado publicando novedades en sus blogs y sobre todo, en twitter, bajo el hashtag #daxconf. Lo que publico aquí es sólo un resumen de las novedades publicadas en twitter desde diferentes cuentas.

Durante la conferencia se llegó a decir que mas que una nueva versión, AX 2012 será una nueva generación de ERP, y despues de leer este artículo y las novedades que aún no se han desvelado, creo que estaremos de acuerdo con esa afirmación. Preparemonos para re-aprender todo lo aprendido hasta ahora.

DAXCONF | Microsoft Dynamics AX Technical Conference 2011 (@techmaniac1)
Microsoft Dynamics AX Technical Conference 2011
Foto: @techmaniac1

Novedades generales / funcionalidad

  • Novedades en la interfaz gráfica (fuente) basada en estudio de usabilidad, a simple vista es el mismo look & feel de Office 2010

DAXCONF | Novedades en el entorno gráfico (@techmaniac1)
Novedades en la interfaz
Foto: @techmaniac1

  • Se ha mejorado mucho la Global Address Book (GAB), es importante comprender el nuevo modelo de datos Party (fuente), como ya lo es en la versión 2009.
  • Eliminada la limitación de 10 dimensiones financieras como máximo (fuente)
  • Nuevo módulo “Product Information Management” que engloba la gestión de los productos (fuente), incluyendo el configurador de productos.

DAXCONF | Product Information Management (@GPLNL)
Product Information Management
Foto: @
GPLNL

  • Planificador Visual Kanban! (fuente y fuente), más información y un ejemplo muy gráfico de la metodología Kanban en este enlace, personalmente soy un entusiasta de este tipo de metodologías sobre  todo complementando a otras como Scrum y sin duda será una mejora para la experiencia del usuario y para el módulo de gestión de proyectos si la implementación es buena.

DAXCONF | Planificador Visual Kanban (@techmaniac1)
Planificador Visual Kanban en AX 2012
Foto: @techmaniac1

Compatibilidad / Integración

  • El poder de AX 2012 está tanto en la aplicación como en la integración nativa con el resto de la plataforma de Microsoft (fuente)
  • Ribbon de AX en Excel. Publica datos en Excel, modifica y devuélvelos a AX, todo seguro. (fuente). Dos tipos de exportación a Excel: la estática (como en AX 2009) o la conexión activa con AX .
  • Integración transparente con Microsoft CRM, PowerPivot, SharePoint, Excel, Word, … (fuente)
  • Integración total con web services SOA (fuente)
  • Runtime de Workflows incorporado en el AOS, ya no se necesita una web externa! (fuente)
  • Se puede utilizar el motor y el diseñador de Workflows de .NET 4.0 desde AX (fuente)
  • Cualquier proceso de negocio debería ser modelado con un Workflow (fuente) así que en el momento de la migración se debería considerar la sustitución de modificaciones realizadas en X++ por Workflows.
  • Soporte cancelado para Visual Studio 2008, AX 2012 sólo es compatible con Visual Studio 2010 (fuente)
  • Soporte cancelado para Oracle (fuente), desde ahora sólo compatible con Microsoft SQL Server
  • SharePoint 2010 no soportado en entornos 32 bits (fuente)
  • Windows XP no soportado para el cliente AX 2012
  • Mejorada la integración con SSRS (SQL Server Reporting Services) respecto a lo que ya existe en la versión actual (fuente)
  • AX 2012 contendrá 750 reports en SSRS y ningún report X++ (fuente)
  • Los informes personalizados en X++ tendrán que ser rediseñados en SSRS, no habrá una herramienta de actualización (como era de esperar) (fuente)
  • La seguridad a nivel de registro funcionará en los informes SSRS (fuente)
  • Los manejadores de eventos se pueden utilizar fuera de los WF, se pueden añadir a otros métodos de AX para personalizaciones menos intrusivas (fuente). Se puede poner un manejador en código AX y trababajar con los eventos en vez que en X++ (fuente)

Modelos

  • Los modelos intentan corregir los problemas de tener una capa completa en un sólo fichero (fuente), facilitar la implementación y el mantenimiento de modificaciones.
  • Los modelos son la nueva unidad de implementación (fuente) y todavía quedan novedades por descubrir (fuente)

DAXCONF | Definition of Model (@techmaniac1)
Definition of Model
Foto: @techmaniac1

  • El proceso de promoción cambia: Copiar la bbdd de producción a test e importar el modelo de desarrollo en test (fuente). Ya no se puede mover la bbdd completa ya que incluye ademas de los datos, el almacenamiento de los modelos (fuente).
  • Limitación: Un elemento en una capa sólo puede pertenecer a un modelo, dos modelos no pueden contener el mismo objeto en la misma capa. Tendrán que corregir esta limitación para que los modelos sean útiles del todo en la implementación de soluciones verticales/horizontales.

Desarrollo

  • Espacios de trabajo separados para desarrollo y usuarios finales (fuente). Al abrir el AOT desde un entorno de usuario se lanzará un nuevo entorno en modo desarrollo.
  • Desaparecen los ficheros aod, todo esta en la base de datos (fuente), lo que tambien facilita la implementación (fuente)
  • Se elimina el punto y coma (;) después de de las declaraciones de variables (fuente), yo le había cogido cariño 🙂
  • Añadidos los operadores IS y AS para evitar algunos problemas de anulación de métodos heredados (fuente)
  • Mejorada la funcionalidad de pruebas unitarias (unit testing)! (fuente), ¿llegaremos por fin a un modelo TDD válido?
  • Las tablas se pueden heredar! (fuente)

DAXCONF | Herencia de tablas (@techmaniac1)
Nuevo “Hierarchy browser” para tablas
Foto: @techmaniac1

  • El “Business Operations Framework” sustituye al RunBase Framework. (fuente) Este último permanece disponible por compatibilidad (fuente)

Visual Studio 2010 / Managed Code / CIL

  • Desde ahora X++ es “managed code” (fuente), lo que mejorará el rendimiento, entre otras cosas, por el recolector de basura. Muestran test de 90k lineas que pasa de 24h a 2h (fuente), aunque no todo el código se ejecutará como CIL (antes llamado MSIL, es el código que interpreta la máquina virtual de .NET) (fuente).
  • Integración con Visual Studio 2010 (y sólo 2010, no hay compatibilidad con versiones anteriores).
  • Mejorada la integración con TFS (Team Foundation Server), incluyendo el framework de Testing (fuente)
  • Intellisense completo en Visual Studio para todos los objetos de AX! (fuente)
  • Los proyectos de Visual Studio pueden guardarse en el AOT para facilitar la implementación y el mantenimiento (fuente)
  • Visual Studio muestra el mismo AOT que MorphX ya que conecta al mismo almacenamiento de modelos que AX 2012 (fuente)
  • Abstracciones de datos enriquecidas y mejoras en el .NET Interop hacen transparente el desarrollo AX desde Visual Studio (fuente)
  • Se puede ver el código X++ desde Visual Studio, pero no se puede modificar. Sí se pueden poner breakpoints. (fuente)
  • Existe la posibilidad de “enganchar / adjuntar” un proceso (attach process) en Visual Studio. Se puede adjuntar al cliente o al servidor, poner breakpoints y habilitar la depuración remota del código desde Visual Studio (fuente)
  • Se pueden ver los valores de un objeto .NET desde el depurador de X++ (por fin!) (fuente)
  • Nueva funcionalidad hot swapping para las librerías (fuente). Se puede actualizar una DLL sin tener que cerrar todas las sesiones que la utilizan ni reiniciar el AOS, los usuarios verán la nueva versión automáticamente cuando inicien una nueva sesión.

Rendimiento

  • El AOS por fin puede escalar hacia arriba (más recursos para el mismo AOS) y no sólo hacia afuera (mas AOS)! (fuente), esta probado para escalar hasta 32 cores! (fuente)
  • Será posible ejecutar benchmarks de rendimiento mediante Visual Studio Team System (fuente)
  • Procesado en paralelo y asíncono en AX 2012 (fuente)
  • La herencia de tablas supondrá coger una tabla y hacerla 8, lo que permitirá su optimización (fuente)
  • El framework Sys Operations es el encargado de activar el procesado en paralelo. Tendremos que utilizarlo en los desarrollos! (fuente)
  • Se ha rediseñado el 100% de la cache de datos (fuente), incluyendo el cacheo de Join’s
  • El analizador de eventos (event trace parser) ahora se ejecuta fuera del cliente (fuente), haciendo la traza de AX 2012 mas facil de ejecutar y analizar, esperando que mas gente la utilice como una herramienta de rendimiento (fuente)
  • Algunos escalados recomendados: La base de datos, para 4k a 12k lineas por hora por core, de 2 a 4 Gb. de RAM por core. (fuente). Para el AOS, de 4 a 8 Gb. de RAM por instancia (el doble de RAM por instancia que la base de datos) (fuente)
  • El procolo de comunicación para web y SharePoint ya no es RPC, ahora se realiza con servicios WCF (fuente), de esta manera se evita el BC.NET y por tanto una capa intermedia, lo que mejora el rendimiento (fuente)

Seguridad

  • El manejo de la seguridad en AX 2012 es totalmente diferente que en versiones anteriores. Algunos conceptos permanecen pero casi todo es nuevo (fuente)
  • La seguridad a nivel de registro será eliminada en futuras versiones, se mantiene por compatibilidad (fuente)
  • La configuración de “confianzas” (Federated Trust) es la pieza clave para habilitar los servicios en la nube (fuente)
  • El enfoque que se plantea es una pirámide (de arriba a abajo): Roles, derechos, privilegios, permisos (fuente)
  • Hay tres tipos de usuarios en AX 2012: “Claims”, usuarios y grupos de active directory. Active directory ya no se necesita para el control de acceso (fuente)
  • El soporte para seguridad federada permitirá el acceso mediante azure live id, google accounts, etc … (fuente) lo que permite el acceso a la lógica y los datos de AX desde dispositivos móbiles, etc. siempre de un modo seguro (fuente)
  • En AX 2012 desaparece el adaptador Biztalk, ahora el adaptador comun es WCF (Windows Communication Foundation) (fuente)

Administración y actualización

  • Se pueden migrar a AX 2012 las versiones 4 y 2009 (fuente)
  • El 80% del upgrade de datos en una migración se puede hacer mientras el sistema está funcionando, sin impacto para los usuarios o los datos (fuente), lo que reducirá drásticamente el downtime en el momento de arranque de la aplicación migrada.
  • Esto es posible gracias a “tablas sombra” (shadow tables) que preprocesan los datos mientras el sistema sigue funcionando, es importante que todos aprendamos esta nueva técnica a la hora de diseñar los scripts de migración (fuente)
  • Integración total con System Center Operations Manager (SCOM) (fuente y fuente)

DAXCONF | Systems Center Operations Manager - SCOM (@techmaniac1)
Systems Center Operations Manager – SCOM
Foto: @techmaniac1

  • Las otras herramientas imprescindibles para la administración e implementación de AX 2012, junto a SCOM, es la PowerShell de Windows (fuente) y la nueva utilidad de consola AXutil (fuente)
  • PowerShell incluirá opciones para impelementar, configurar y administrar informes hacia multiples instancias de la instalación (fuente). Se puede, por ejemplo, implementar los últimos reports modificados en SRSS (fuente)

Configurador de productos (Product Builder)

  • El nuevo configurador esta basado en la Microsoft Solver Foundation (fuente), no requiere una licencia de desarrollo ni programación secuencial en X++ (fuente), aunque será posible utilizarla.
  • Viene con un API para soportar las extensiones de los partners (fuente) utilizando X++ para las modificaciones mas complejas (fuente)
  • Mejorado el soporte para el dialogo del configurador en Enterprise Portal (fuente)
  • Nuevas mejoras para no tener que duplicar las variables en los modelos padres e hijos (fuente)
  • Los modelos padres e hijos son sustituidos por componentes y sub-componentes (fuente)
  • Los modelos actuales no se pueden actualizar, tendrán que ser rediseñados manualmente al nuevo sistema (fuente).
  • Durante el upgrade se podrán importar los modelos actuales y seguir utilizandolos, pero será necesario rediseñarlos ya que el sistema actual desaparecerá despues de AX 2012 (fuente)
  • La clase PcAdapter es la pieza clave del API para configurar las configuraciones basadas en Solver (fuente)

1 comentario
  • ismael
    septiembre 28, 2012

    buenas tardes
    tengo un error al querer exportar dynamics ax2009 a una hoja de excel algunas columnas no me pinta me podrian ayudar por favor.