¿Qué es el software heredado? Definición | Aplicación antigua

El software heredado a menudo se ha utilizado durante mucho tiempo y ya no está actualizado tecnológicamente, sin embargo, estas aplicaciones antiguas todavía se utilizan por varias razones, por ejemplo, porque forman la base de un software más nuevo.

La palabra “legacy” describe software o sistemas de TI que existen desde hace mucho tiempo y que, desde un punto de vista tecnológico, deberían ser reemplazados por una versión más moderna. La conexión con tecnologías modernas (por ejemplo, la nube) a menudo solo es posible con un esfuerzo y desvíos considerables, si es que lo hacen. Sin embargo, todavía están en uso.

A menudo es, por ejemplo, componentes centrales que se utilizan como base para sistemas más complejos y, por lo tanto, no son triviales de reemplazar. A veces simplemente no vale la pena reemplazarlos con una nueva solución. Por tanto, son cuidados e integrados lo mejor posible en el ecosistema de las tecnologías modernas.

¿Qué problemas causan los sistemas heredados?

El software heredado generalmente crea nuevos problemas con la edad, especialmente cuando se opera junto con tecnología más moderna. Ejemplos de problemas incluyen:

  • Mayor esfuerzo de cuidado y mantenimiento: Los sistemas antiguos son cada vez más difíciles de mantener. Una de las razones de esto es que continúan creciendo orgánicamente con el tiempo y, por lo tanto, se vuelven confusos para los desarrolladores. Por otro lado, el conocimiento en desarrollo y soporte se puede perder cuando los compañeros abandonan la empresa. Entonces, si se debe hacer algo en el sistema heredado, los empleados deben trabajar más y más para familiarizarse con el problema a fin de resolverlo.
  • Disminución de la seguridad: a veces, el fabricante ya no mantiene el software heredado, por ejemplo, porque durante mucho tiempo ha habido un nuevo software que supuestamente reemplaza al antiguo sistema. Esto significa que no hay más actualizaciones incluso para problemas críticos de seguridad. Los usuarios usan el software bajo su propio riesgo y corren el riesgo de una montaña creciente de brechas de seguridad.
  • Problemas de compatibilidad: la tecnología antigua a menudo no es compatible con la tecnología moderna. Un navegador desactualizado, por ejemplo, no mostrar muchos sitios de Internet modernos. Es muy posible que los desarrolladores se encarguen de escribir constantemente nuevos parches para los sistemas antiguos y así garantizar la compatibilidad con los sistemas más nuevos. Pero en muchos casos este soporte se interrumpe en algún momento porque hay suficientes alternativas modernas y el esfuerzo no vale la pena.

¿Por qué se siguen utilizando los sistemas heredados?

Hay una serie de razones por las que las organizaciones a menudo se apegan a aplicaciones obsoletas, como:

Pérdida de conocimiento: algunos programas de software son tan antiguos que los desarrolladores originales se han retirado hace mucho tiempo. Si no ha habido una transferencia suficiente de conocimiento de antemano, el conocimiento sobre la construcción de estos sitios contaminados a menudo simplemente se pierde.

Las generaciones más jóvenes de desarrolladores primero tendrían que aprender a lidiar con tecnologías obsoletas para comprender en detalle lo que hace el software. Sin embargo, este conocimiento sería importante si deseas reproducir la gama de funciones en la tecnología moderna. Según el lema “nunca cambies un sistema en ejecución”, este esfuerzo a veces solo se realiza cuando realmente no hay otra manera.

Tecnología heredada: los sistemas heredados a menudo se desarrollaron para hardware técnicamente obsoleto. Esto significa que, por lo general, el hardware solo se puede abordar con lenguajes de programación, que ahora se consideran obsoletos y engorrosos. El nuevo software también tendría que recurrir a la tecnología anterior para controlar el hardware correctamente. Si es absolutamente necesario que el hardware continúe funcionando, el software heredado a menudo se mantiene en aras de la simplicidad.

Costo: si el sistema continúa funcionando y se mantiene vivo mediante actualizaciones ocasionales, una nueva solución a veces simplemente no vale la pena financieramente. Podría, por ejemplo, ser un producto de nicho que solo es utilizado por unos pocos clientes existentes, mientras que otros clientes hace tiempo que se han cambiado a una solución más moderna.

Leer: ¿Qué es OpenStack?

Tratar con software heredado: ¿Renovación o nueva construcción?

Tratar con software heredado
Tratar con software heredado

Por lo tanto, el software obsoleto trae consigo muchos problemas que requieren una atención constante y consumen recursos. A menudo existe una necesidad urgente de actuar, especialmente en las áreas de seguridad y compatibilidad con tecnología más moderna.

Los clientes confían en el hecho de que su forma habitual de trabajar seguirá funcionando y que los datos que han mantenido durante muchos años seguirán siendo utilizables. Existen diferentes enfoques para abordar este problema. Una opción es migrar a un producto completamente nuevo, otra es reescribir parcial o completamente el software existente.

Migración de software

Una solución es el desarrollo de software nuevo e independiente para reemplazar el sistema anterior. Los datos del cliente se transfieren a este sistema. De esta manera, puedes cambiar a una aplicación moderna y continuar trabajando con los datos recopilados al mismo tiempo. Una dificultad aquí es que los modelos de datos de ambos sistemas deben tenerse en cuenta para evitar la pérdida de datos.

Reingeniería de software

Un sistema heredado a menudo llega a un punto en el que solo se puede mantener y adaptar con gran esfuerzo. Si la migración de software no es una solución adecuada, todavía existe la reingeniería como alternativa. Se reescriben partes del sistema heredado o todo el sistema.

Deja un comentario