La forma en que una empresa IBM i aborda la modernización de aplicaciones heredadas no difiere de la modernización de aplicaciones en cualquier otra plataforma. Bueno, hay una ligera diferencia. Muchas de esas empresas de IBM i tienen el peso añadido de sustituir aplicaciones heredadas en funcionamiento por el simple hecho de que RPG dejó de ser la corriente principal de codificación hace décadas. El código es eficiente y ejecuta perfectamente aplicaciones de misión crítica, pero cada vez hay menos programadores para mantener ese código.
Los colegios y universidades dejaron de enseñar RPG antes de que el efecto 2000 fuera siquiera una preocupación. Los desarrolladores que aprendieron RPG en los años 80 y principios de los 90 estaban a 30 o 40 años de jubilarse. No había necesidad de modernizar aplicaciones que procesaban un millón de líneas de datos en milisegundos. Todo mientras la tecnología "más nueva" luchaba detrás de servidores saturados y microchips diseñados para manejar todo, desde música a vídeos, y documentos de Word, y todo lo demás que no fueran datos empresariales.
A medida que la "nueva" tecnología se hacía más y más rápida, las empresas empezaron a adoptar tecnologías web y estrategias en la nube. En gran medida, las empresas de IBM i se mantuvieron en la senda de las aplicaciones en sitio codificadas en RPG porque funcionaban y eran fiables. A medida que se acercaba el éxodo masivo de programadores de RPG que se jubilaban, seguía sin surgir la necesidad de modernizarse.
Así es como llegamos a la situación en la que nos encontramos hoy: millones de programas RPG ejecutando miles de aplicaciones de misión crítica, y ahora con un número cada vez menor de programadores RPG para mantener ese código.
Sabiendo que estas aplicaciones RPG necesitan modernizarse, ¿qué opciones tienen las empresas de IBM i? La buena noticia es que existen varias herramientas de modernización de IBM i y estrategias de modernización de aplicaciones heredadas, pero la refactorización de su código RPG heredado es probablemente el mejor enfoque.
Refactorización en detalle
La refactorización puede consistir en reelaborar, reorganizar o convertir el código heredado a otro lenguaje más adoptado (por lo general, lenguajes orientados a objetos como Java) para hacerlo más compatible con la nube y los servicios web modernos. Otra opción que está ganando adeptos es la refactorización del código heredado con low-code. Esto se hace a menudo a una fracción del coste y el tiempo frente a optar por la ruta tradicional de desarrollo de software. Las aplicaciones creadas en plataformas de desarrollo de bajo código son independientes del lenguaje y están preparadas para el futuro. Hay tres opciones principales a la hora de refactorizar sus programas RPG:
Opción 1: Herramienta de conversión RPG
La opción más tentadora podría ser utilizar una herramienta de conversión que promete convertir su código RPG heredado en una aplicación eficiente utilizando lenguajes modernos. Sin embargo, hay un problema importante con este enfoque: la nueva aplicación no es eficiente. Las aplicaciones refactorizadas de este modo suelen ser mucho más lentas y requieren modificaciones significativas para rendir al mismo nivel que el antiguo programa RPG.
¿Por qué la nueva aplicación no es tan eficiente si utiliza lenguajes modernos? Sencillo, RPG es un lenguaje procedimental, y el lenguaje al que se está convirtiendo son lenguajes orientados a objetos. Son fundamentalmente enfoques muy diferentes de la programación. Pasar de un lenguaje procedimental a uno orientado a objetos requiere una reescritura completa para aprovechar al máximo las ventajas del nuevo lenguaje. Intentar adaptar el código RPG a un lenguaje como Java no hará, sino aumentar la deuda técnica de las empresas, en lugar de reducirla. Los programadores tendrán que mantener, añadir funcionalidad, solucionar problemas y conservar la nueva aplicación mal refactorizada.
Opción 2: Código abierto al rescate
Si una herramienta de conversión no es una opción viable, ¿por qué no refactorizar una aplicación de código abierto completamente nueva? Esta es una opción mucho mejor que la anterior, pero tiene algunas consideraciones importantes. Aunque el código abierto es "gratuito", suele acabar costando a la empresa tiempo, dinero y seguridad. Esto se debe a que añade complejidad al desarrollo. Debido al tiempo añadido con el código abierto, los desarrolladores tendrán que acelerar el desarrollo con herramientas de pago o depender en gran medida de las bibliotecas de terceros. Esto último puede provocar graves problemas de seguridad.
Aparte de los problemas mencionados, cada vez es más difícil conseguir talentos por varias razones que escapan a su control. El sector tecnológico está en auge y la demanda de desarrolladores de software nunca ha sido tan alta. La oferta, sin embargo, no ha seguido el ritmo de la creciente demanda. Con el rápido ritmo de los avances tecnológicos, puede ser difícil encontrar desarrolladores con el conjunto de habilidades adecuado para mantenerse al día con las últimas tendencias. Además, el trabajo a distancia se ha convertido en la norma, y las empresas compiten ahora a escala mundial por los mejores talentos. Este aumento de la competencia ha dado lugar a salarios y paquetes de beneficios más elevados, lo que hace aún más difícil para las pequeñas empresas atraer y retener a los desarrolladores con talento.
Opción 3: Desarrollo híbrido de aplicaciones de código bajo con Visual LANSA
La tercera opción aborda todo lo anterior y además aumenta la producción de desarrollo de aplicaciones mientras utiliza sus recursos actuales. El uso de la plataforma de desarrollo de aplicaciones de bajo código de LANSA permite a los desarrolladores RPG que pronto se jubilarán, así como a los desarrolladores junior recién contratados, crear aplicaciones full-stack fácilmente. El enfoque único de Visual LANSA para el desarrollo de aplicaciones, que combina metodologías de bajo código de arrastrar y soltar con una estructura de lenguaje moderna, significa que cualquier persona de su equipo de desarrollo puede crear aplicaciones magníficas y eficientes.
Con Visual LANSA, puede crear interfaces front-end fáciles de usar y aplicaciones de bases de datos back-end de procesamiento de datos en el mismo IDE utilizando el mismo lenguaje para cada una. Los desarrolladores aprenden un lenguaje sencillo para crear una gran variedad de aplicaciones, incluidas las orientadas al cliente y las internas de misión crítica. Además, las aplicaciones de Visual LANSA pueden llamar a programas RPG y CL, lo que ofrece a las empresas flexibilidad para modernizar sus aplicaciones heredadas.
No espere a iniciar la modernización de su RPG
La forma en que decida modernizar sus aplicaciones heredadas dependerá de su situación y sus recursos. Visual LANSA ofrece un camino considerablemente más fácil hacia la modernización de aplicaciones heredadas que el uso de lenguajes de código abierto. Aunque tanto Visual LANSA como el código abierto ofrecen soluciones a largo plazo y menos deuda técnica que una herramienta de conversión RPG, no pase por alto las ventajas de ahorro de tiempo.
Visual LANSA puede crear aplicaciones full-stack con un lenguaje, en un IDE, incorporando técnicas de bajo código. El código abierto ofrece la ilusión de ser menos costoso, pero a medida que los tiempos de desarrollo se alargan, se compran herramientas adicionales y los desarrolladores se vuelven más escasos, los beneficios percibidos del software de código abierto se desvanecen rápidamente.
¿Aún no está seguro? Discuta gratuitamente sus requisitos de modernización con un desarrollador veterano de LANSA y descubra cómo puede satisfacer sus necesidades poniéndose en contacto con [email protected]. También puede visitar www.lansa.com para obtener más información sobre herramientas de desarrollador de bajo código para la modernización de IBM i.
Lansa - Con más de 35 años de experiencia en el sector, LANSA ofrece herramientas código bajo profesional para el desarrollo rápido de aplicaciones de misión crítica en la plataforma IBM i. Estas herramientas proporcionan resultados al menos 3 veces más rápidos en comparación con los métodos de codificación tradicionales. El enfoque modular de LANSA para la modernización permite a los desarrolladores implementar actualizaciones de UI/UX y funcionales sin interrumpir las operaciones comerciales. Ayuda a las organizaciones a preservar sus inversiones existentes y a preparar para el futuro sus sistemas empresariales sin necesidad de conocimientos de RPG ni de grandes recursos.