Buscar

2007/12/14

Un proyecto europeo combate la “obesidad” del software obsoleto

Fuente: Tendencias Informaticas.

Informáticos de la Universidad de Leicester, en el Reino Unido, y de la empresa ATX Software están trabajando en el creciente problema de la evolución y la degradación del software. Ellos lo llaman software “obeso”, usando un símil médico. Este proyecto está financiado con fondos comunitarios, dentro del Sexto Programa Marco (6PM) de la UE. Su investigación se centra en metodologías y tecnologías para abordar los retos a los que se enfrentan las empresas y organizaciones a la hora de modernizar sus sistemas informáticos sin que pierdan recursos ni competitividad. Por Raúl Morales.

La obesidad no es sólo un problema que tenemos las personas. Investigaciones punteras llevadas a cabo por la Universidad de Leicester han puesto de manifiesto, usando este símil, que el software también tiene problemas de “obesidad” que le impiden trabajar correctamente, poniendo en peligro la actividad de empresas y organizaciones

Los informáticos que están trabajando en el proyecto Leg2Net consideran que, como los coches y otros equipamientos, si el software no se cuida correctamente, es decir, si no lleva una vida “sana”, se vuelve frágil y deja de funcionar correctamente. Esto pone en peligro sobre todo los sistemas operativos y pude resultar un auténtico problema para instituciones y empresas que se olvidan de modernizar sus sistemas.

Este grupo de informáticos está colaborando con la empresa ATX Software, que está especializada en desarrollar tecnologías que apoyan la actualización de sistemas obsoletos, para encontrar nuevos métodos y técnicas que puedan ser utilizados para que el software se mantenga ágil y preparado para desarrollar el trabajo para el que fue diseñado.

“Para muchas personas, el software es una cosa que nos permite utilizar un ordenador para realizar ciertas actividades (como escribir un texto)”, comenta el profesor José Luiz Fiadeiro, coordinador de Leg2Net, en un comunicado. “Sin embargo, el software no está simplemente "parado" dentro del ordenador. Tiene su propia vida y evoluciona con el tiempo.”

Leyes de Lehman

Esto es lo que pasa cuando se pide a los usuarios que se descarguen una actualización de una aplicación que acaba de ser lanzada al mercado. El hecho de que un software tenga que adaptarse constantemente para proporcionar siempre el mismo nivel de satisfacción al usuario (o incluso aumentarla), se conoce como la primera Ley de Lehman.

Estas leyes reciben el nombre del informático Meier Lehman, que fue uno de los impulsores de la “evolución del software”. Junto a sus colegas de la Universidad de Londres, identificó una serie de comportamientos a los que denominaron, precisamente, “Leyes de Lehman”.

“Con frecuencia, las actualizaciones de software se limitan a añadir capa sobre capa en el sistema existente, sin tener en cuenta la estructura global”, comenta Luis Andrade, que es el presidente de ATX Software. De esta manera, se puede decir que el software se va haciendo "obeso" a medida que permite que se acumule "grasa", por ejemplo cuando un código antiguo que ya no se necesita.

“De esta manera, las aplicaciones van perdiendo eficiencia y cada vez resulta más difícil cambiarlas. Una vez que esto ocurre, los sistemas empiezan a perder la agilidad y la flexibilidad que necesitan las empresas para afrontar la competencia feroz y la volatilidad de mercados que caracteriza a los negocios de hoy”, apunta Andrade.

Las grandes organizaciones, como los bancos, usan aplicaciones de software muy complejas. Su modernización supone una tarea extremadamente complicada.“Para empezar, no es sólo un al usuario al que hay que mantener satisfecho. Si no se tiene cuidado, la complejidad va aumentando a medida que se actualiza el software”, comenta Fiadeiro.

Soluciones

La forma de solucionar este problema es el equivalente a una “liposucción” en medicina. O sea, desarrollar una aplicación que reestructure el software y permita una arquitectura de alto nivel (“musculosa”) que sea, además, independiente del código del software.

En cualquier caso, para que un software informático funcione saludablemente, los cambios en la aplicación se realizan en la arquitectura (el músculo del que antes hablábamos) y el código es generado de manera automática, de tal manera que la arquitectura es perfectamente preservada.

Por el contrario, si los programadores juegan con el código directamente, la “grasa” se vuelve a acumular de nuevo, aseguran los investigadores.

En Leicester, el equipo Leg2Net están buscando algunas técnicas capaces de combatir estos problemas. Y, como en los humanos, el profesor Reiko Heckel, que también participa en el proyecto, hay que hacer una operación quirúrgica para quitar lo que sobra.

Para ello, en primer lugar hay que analizar el software cuidadosamente para entender qué es "grasa" y qué es "músculo", para luego reorganizar lo que sobre, de tal manera que la función original quede preservada. Estas técnicas de re-ingeniería requieren sofisticadas operaciones matemáticas, un trabajo para especialistas que está teniendo el apoyo de ATX.

Como nos ocurre a nosotros, si el software no cambia su “estilo de vida” volverá a tener el problema pasado un tiempo. En este sentido, una de las técnicas más aceptadas para mantener el software ágil es la adopción de una arquitectura orientada a los servicios, la cual no se fundamenta en sistemas monolíticos formados por componentes vinculados de forma estática, sino en una estructura dinámica.

Se trata de infraestructuras que reducen la complejidad y maximizan la flexibilidad gracias a componentes que pueden ser reconfigurados dinámicamente. De esta manera, la actualización de los sistemas es más sencilla y acumulan menos “grasa”.

“Precisamente, las metas de nuestra investigación son reacondicionar el software heredado u "obeso", dotándolo de tales arquitecturas orientadas a los servicios, y dar con maneras de facilitar la evolución dentro de dichas estructuras”, dice Heckel.

No hay comentarios: