Migración de .NET Framework a .NET Core


Quienes tienen aplicaciones GeneXus generadas con .NET Framework, deberán migrarlas a .NET Core.

Esta forma de decirlo, es usando la nomenclatura vieja de Microsoft, pues ahora deberia decirse que hay que pasarse a .NET (a secas). 

Las nuevas versiones de .NET traen como ventaja la de ser mas liviano su consumo en ejecución y la de poder ejecutar en Linux y en Windows. 

Quienes programamos con GeneXus tenemos el camino un poco mas fácil que el resto pero igual hay que hacer un trabajo lindo de migración del generador .NET Framework al generador .NET. 

Esto es indispensable, pues entiendo que el generador .NET Framework no va a tener mejoras en el futuro y todos los cambios se realizaran únicamente en el generador .NET. 

Como toda migración, va a traer diferentes dolores de cabeza. 

Por ejemplo, tengo el siguiente proyecto. 

  • KB Mediana, generada con .NET Framework. 
  • Utilizar PDFTools para concatenar archivos PDF (no funciona aun en .NET Core)
  • Necesita usar Azure Queues para realizar un procesamiento de mensajes (solo se soporta en .NET Core y no en .NET Framework). 
  • Envia mails con HTML generado con Webwrapper. 

Ante estos dos requerimientos, vemos que no vamos a poder satisfacerlos con un solo generador. 

En estos casos, priorizo el trabajo que va a perdurar más en el tiempo (en este caso pasar al generador .NET) y sacrificar un poco la funcionalidad de concatenar PDF haciéndola como un servicio en otro servidor. Va a ser mas lenta y posiblemente cancele en algunas oportunidades pero el usuario va a poder tener una funcionalidad similar pero de menor calidad. Con seguridad encontremos una forma mejor de concatenar PDF en el futuro cercano que funcione con .NET Core en forma nativa. 

Otra funcionalidad que hay que reprogramar, es la de WebWrapper. Esto esta descontinuado desde hace varias versiones de GeneXus pero aun seguia funcionando correctamente en el generador .NET. 

Hay que tener cuidado con esto, pues ni siquiera da mensajes de warning en el generador .NET, simplemente da errores al compilar. 
Los mails que enviaban HTML generados con el WebWrapper hay que generarlos a mano o mandar archivos de texto con links a la aplicación. 

Seguramente aparezcan algunas funcionalidades mas que dejen de funcionar, pues el sistema también consume varios servicios de terceros y publica servicios que son bastante sensibles a estos cambios de plataformas. 

Una vez terminada la migración, el sistema debería funcionar mejor (un poco mas rapido) en casi toda la aplicacion, deberia poder usar las colas de Azure Queues y funcionaria un poco peor en otras funcionalidades a las cuales les tenemos que buscar soluciones lo suficientemente buenas como para que los usuarios puedan seguir trabajando sin inconvenientes. 

Comentarios

Entradas más populares de este blog

La nefasta influencia del golero de Cacho Bochinche en el fútbol uruguayo

Aplicación monolítica o distribuida?

Funcionalidades de GeneXus que vale la pena conocer: DATE Constants.