Iniciativa Universal Code para Microsoft Dynamics 365 Business Central

Leave a Comment

Iniciativa Universal Code para Microsoft Dynamics 365 Business Central

En el colectivo de desarrolladores y usuarios de Microsoft Business Central se lleva tiempo hablando de esta iniciativa que, en el último “Directions EMEA” también ocupó un lugar destacado en algunas intervenciones.

¿Qué es Microsoft Universal Code Initiative?

“Universal Code” pretende conseguir que la comunidad de Business Central genere soluciones preparadas para la nube, siguiendo el principio ya conocido de que, si funciona bien en la nube, lo hará también en On-premises, cuestión que no siempre sucede a la inversa.

Esta iniciativa sustituye al anterior “Programa de editores” (Publisher Program) de Microsoft, aunque el foco es algo diferente: el “Programa para editores” estaba dirigido a los ISV y era complejo de monitorear. Por el contrario, la iniciativa “Código universal» está dirigida a todos los usuarios (implantadores, ISV, y Clientes finales), y además es muy sencilla de monitorear, (a través de las licencias On-premieses).

Módulos adicionales en la licencia On-premises de Business Central.

A partir de abril de 2022, aquellos clientes que quieran ejecutar código “no universal”, deberán licenciar dos módulos adicionales cuyos nombres definitivos todavía no figuran en la “lista de precios de Business Central”:

  • Módulo “Código implementado no está en extensiones”: Necesario para poder ejecutar modificaciones del código base de Business Central está modificada. Este módulo requiere también licenciar el siguiente.
  • Módulo “El código implementado no está optimizado para Cloud”: Necesario para cuando el código está desarrollado en extensiones no optimizadas para la nube.

El coste de estos módulos será recurrente (anual), comenzará siendo gratuito durante 2022 e irá incrementándose sustancialmente durante los siguientes años, aproximadamente como se indica en la siguiente tabla:

Cronograma de cuotas recurrentesImplemented code is not in extensionsImplemente code is not Cloud-optimized
2022$0$0
2023$75$0
2024$125$75
2025$250$175
2026 en adelantePor determinarPor determinar

¿A quiénes afecta Universal code?

Es muy importante resaltar que este cambio sólo afecta a nuevos clientes de Business Central On-Premises que adquieran el producto a partir de abril de 2022 y que además tengan código no compatible con Cloud.

Esto no aplica a los clientes que están en BC On-premises con una licencia adquirida antes de abril de 2022, con independencia del desarrollo que estén utilizando.

Muy importante resulta el caso de los clientes que actualicen su versión NAV a Business Central a partir de abril de 2022, y tienen que migrar el código de sus personalizaciones a extensiones AL de VS Code., En este caso deberán plantearse el coste adicional de estos módulos (coste recurrente que se incrementará sustancialmente en los próximos años), o bien modificar el código para convertirlo en Cloud-Ready.

¿Qué funciones debemos revisar / re-factorizar?

En general debemos rediseñar todas aquellas funciones no compatibles con la nube:

  • Base App modificado (estándar de Microsoft con código añadido).
  • Extensiones configuradas como target “OnPrem”. Normalmente este tipo de extensiones se utiliza para poder acceder desde código AL a recursos locales (impresoras, entornos de producción, bases de datos SQL…), o también para poder ejecutar código .NET sin utilizar clases nativas de AL desde el propio Business Central:
    • .Net Interop. Debemos sustituir cualquier tipo de dotnet. Si disponemos de DLLs propias, podemos desarrollarlas en Azure Functions o bien una Web API
    • Complementos de control .Net
    • Accesos directos a Microsoft SQL Server
    • Operaciones relacionadas con impresoras
    • Automatización de procesos (se puede utilizar en su lugar un servicio de archivos como Azure Blob Storage por ejemplo).

Conclusiones

Lógicamente, la opción ideal es no requerir estos nuevos módulos, y para ello desarrollar siempre desde esta perspectiva de código en extensiones optimizadas para Cloud. Y en esta mentalidad es necesario trabajar. Si un cliente mantiene desarrollos de éstas características o bien desea implementar un producto ISV On-premises que no esté en extensiones “Cloud-ready” deberá tener en cuenta este coste recurrente anual adicional.

En mi opinión, esta iniciativa tampoco pretende recaudar más dinero por parte de Microsoft por las licencias On-premises, el objetivo es actualizar y mejorar el código utilizado en Business Central y no tener que utilizar estos nuevos módulos.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *