Cómo abordar la modernización de tus aplicaciones

Un centro de datos, por Robert Scoble, en Flickr (4870003098), con licencia CC by

Con frecuencia, aparece dentro de las organizaciones de IT la necesidad de preservar sus inversiones en activos de software, especialmente en aplicativos para los cuales los años pasan y necesitan ser sometidos a procesos de modernización para mantener su valor.

Aplicaciones que están dando servicio eficiente desde hace años, del tipo:

  • Cobol de mainframe, iSeries y de sistemas distribuidos
  • Natural/Adabas.
  • Oracle Forms/Reports.
  • Aplicaciones Power Builder y Microsoft basadas en tecnologías anteriores a .NET.
  • Plataformas Java Web de primera generación.

se perciben como un problema de difícil y costosa solución.

Mediante un proceso de modernización, podemos reconducirlas a lenguajes y arquitecturas abiertas y modernas, mejorando la usabilidad de la capa de interacción con el usuario aplicando diseños y tecnologías modernos, pero manteniendo su estabilidad y calidad.

Los principales fabricantes de software ofrecen herramientas para gestionar estos procesos de modernización.

  • IBM con su plataforma de herramientas Rational.
  • Microfocus con su serie de herramientas Enterprise para Cobol y PL/I
  • Pitss, el fabricante alemán, que da soporte a la modernización de Oracle Forms/Reports

Pero no basta solo con seleccionar una herramienta para modernizarlos, hay que complementarlas, desarrollando componentes para agilizar los procesos de transformación y orientar los resultados a las necesidades del cliente.

¿Cómo abordar la modernización?

Muchas son las razones que impiden dar paso a la modernización:

  • Programas y código fuente sin documentar.
  • Inventario difuso de programas y componentes.
  • Falta de consenso sobre hacia dónde evolucionar.
  • Incertidumbre en la duración del proceso de modernización.
  • Personas que envejecen al ritmo de las aplicaciones.
  • ¿Serán de fácil mantenimiento una vez modernizadas?

Para mitigar todos estos condicionantes, hoy existen productos que, sumados a una empresa colaboradora con experiencia en estos temas, aseguran el éxito sin traumas.

Fases de la modernización

Descubrimiento

El primer paso de cualquier modernización es detectar lo que hay que modernizar. A este proceso se lo denomina “Descubrimiento”. Para ello se utilizan herramientas del mercado o construidas “ad-hoc”, que inspeccionan las aplicaciones de la instalación, creando un inventario de componentes o partes utilizados y su interrelación. También se detectan partes y código no utilizado.

Este proceso de descubrimiento, además de ofrecer como valor añadido la obtención del inventario o catálogo de aplicaciones, elimina incertidumbres acerca de qué componentes hay que modernizar.

Arquitecturas destino

La decisión de la arquitectura hacia la cual se portarán las aplicaciones a modernizar es una decisión crucial.

Esta dependerá del código de origen y de los requisitos globales de la organización. Por ejemplo, si las aplicaciones a modernizar son Oracle Form/Report antiguo, resulta obvio que el camino más fácil es seleccionar la nueva arquitectura Oracle como destino.

Si partimos de aplicaciones Cobol, la gama de arquitecturas destino se amplía dada la flexibilidad del Cobol para su modernización.

Si en la empresa ya existen arquitecturas modernas, el mejor camino es seleccionar alguna de estas para portar las aplicaciones a modernizar.

Tooling

La construcción de herramientas para modificar las aplicaciones antiguas y transformarlas  a la nueva arquitectura, es vital para asegurar la rapidez, seguridad y calidad de las aplicaciones modernizadas.

Proceso de modernización

El proceso de modernización debe cumplir con tres premisas fundamentales:

  • Debe ser muy rápido.
  • Debe poder ser ejecutado por técnicos que no conozcan las aplicaciones a modernizar.
  • Debe permitir la convivencia con el resto de aplicaciones de la instalación.

La rapidez en la modernización es fundamental para evitar dobles mantenimientos. Si el proceso de modernización se demora en el tiempo no se podrá reemplazar la antigua aplicación de forma rápida y obligará a mantener dos aplicaciones en lugar de una.

Las herramientas construidas durante la fase de Tooling deben poder ser utilizadas por técnicos sin conocimiento de las aplicaciones, reduciendo el coste de la modernización y con un proceso en modalidad “fabrica” donde se procesan las aplicaciones de forma masiva.

Las aplicaciones modernizadas deben convivir con el resto de la instalación incluso con aplicaciones que aún no han pasado por el proceso de modernización.

El cumplimiento de todas estas premisas asegura la rapidez, seguridad y calidad en la puesta en producción de las nuevas aplicaciones.

El futuro de las aplicaciones modernizadas

Todos los CIOs, cuando tienen que decidir si afrontar o no un proceso de modernización se plantean los mismos interrogantes:

  • ¿Cómo quedarán mis aplicaciones modernizadas? ¿Serán mantenibles?
  • ¿Podrán evolucionar mis aplicaciones modernizadas?
  • ¿Mis actuales recursos técnicos podrán hacerse cargo del mantenimiento?

A todas podemos responder con SÍ rotundo.

Pero no es conveniente aplicar métodos generalistas en la transformación del código, la mayoría de las veces obtendremos un código de difícil lectura sin posibilidades de mantenimiento.

La construcción y adecuación de herramientas de transformación “ad-hoc”, de acuerdo con  la metodología con que las aplicaciones fueron desarrolladas, nos permitirá obtener un código claro y mantenible, incluso por las personas actuales de la empresa.

Aplicaciones con futuro.

Acerca de José María López Galizia

José María es socio de atSistemas y un reconocido experto en todo lo relacionado con modernización de aplicaciones heredadas, particularmente en relación con la tecnología IBM.
  

Deja un comentario

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