mainframe

Existen 2 posturas enfrentadas en torno a las aplicaciones basadas en mainframe: los que defienden el mantenimiento de los sistemas actuales frente a los que proponen su modernización. Esta disputa suele reducirse a la confrontación de los costes y riesgos de llevar a cabo la modernización, en el corto plazo, frente a los costes de mantenimiento y eventual estancamiento, en el mediano y largo plazo. En este artículo se exponen los diferentes argumentos y riesgos que hay en cada fase en un proceso de modernización de aplicaciones, así como las oportunidades que pueden surgir.

El primer paso en cualquier proyecto de modernización de aplicaciones basadas en mainframe es la decisión de pasar de un entorno centralizado a uno distribuido. El constante aumento de los costes de mantenimiento del mainframe, la disminución simultánea en la oferta de recursos humanos con conocimientos técnicos en tecnologías de mainframe y las posibilidades que ofrecen las tendencias más emergentes, como la nube, son los argumentos más sólidos de los defensores del cambio.

Por otro lado, los partidarios del mantenimiento generalmente señalan los riesgos en términos de seguridad y rendimiento, incluso argumentan que los mainframes ya ofrecen alternativas de integración para nuevas tecnologías y lenguajes, como el soporte para Java o Web Services.

Hay diferentes soluciones de seguridad disponibles para entornos distribuidos igual o más potentes que las que ofrecen los mainframe

Sin embargo, hay diferentes soluciones de seguridad disponibles para entornos distribuidos igual o más potentes que las que ofrecen los mainframes. En cuanto al rendimiento, las ventajas y menores costes que presenta el scale out de los entornos distribuidos en comparación con el scale up de los mainframes (la nube ofrece ambos), suele ser suficiente para convencer a los defensores más firmes del mantenimiento.

También es necesario destacar las oportunidades que representa la modernización en términos de limpieza, normalización y reducción de código obsoleto.

¿Mantener el código heredado o migrar a otro lenguaje?

Una vez superadas las reservas sobre trasladar el mainframe a un entorno distribuido, el siguiente obstáculo se encuentra en el mantenimiento del código heredado. Los que se oponen al cambio generalmente señalan los riesgos que implica reescribir o modificar el código consolidado con las posibles interrupciones y amenazas que pueden ocasionar al negocio.

En este punto, hay que recordar que uno de los principales impulsores del cambio es la escasez de habilidades en el mainframe, con el aumento de los costes correspondientes. Insistir en apostar por lenguajes y paradigmas de programación más antiguos, que ya no se enseñan en las universidades, supone una amenaza para el futuro mantenimiento y evolución de las aplicaciones.

Además, hay que tener en cuenta las oportunidades que ofrece el cambio a un nuevo lenguaje, en un nuevo paradigma (orientado a objetos), con una creciente oferta de posibilidades de integración y un gran potencial de evolución.

¿Preservar o hacer evolucionar la estructura y la arquitectura del código?

A menudo, nos encontramos con situaciones en las que los clientes, que incluso aceptan cambiar el lenguaje de programación, tienen muchas reservas y dudas con respecto a cambios en la estructura y organización del código. Además de los temores por una posible disrupción funcional futura, apuntan a las dificultades para apropiarse de las aplicaciones migradas si no mantienen la estructura, nomenclatura, organización e incluso el mismo tipo de componentes.

Sin embargo, en todos los proyectos de migración ha quedado demostrado que refactorizar el código original, alineándolo con los principales aspectos del lenguaje de destino, como la herencia, polimorfismo, encapsulación, etc., merece la pena. Si bien es cierto que hay algunos riesgos inevitables inherentes, estos son claramente compensados ​​por la calidad y facilidad del mantenimiento del código de las aplicaciones migradas.

En definitiva, apostar por la migración de las aplicaciones implica más riesgos que su mantenimiento, pero ofrece una oportunidad única para mejorar la calidad general de las aplicaciones heredadas basadas en mainframe y abrirlas a las nuevas oportunidades proporcionadas por la cloud. Para lograrlo, no solo es necesario identificar y mitigar estos riesgos, sino también estar constantemente al tanto de las oportunidades de mejora que se pueden realizar en el código, la arquitectura y los componentes heredados.

Carlos Machado, Country Manager de Morphis Tech España

>