De Wikipedia, la enciclopedia libre
Saltar a navegación Saltar a búsqueda
En 2011, MS-DOS todavía se usaba en algunas empresas para ejecutar aplicaciones heredadas, como este sistema de administración de servicios de alimentos de la Marina de los EE. UU .

En informática , un sistema heredado es un método, tecnología, sistema informático o programa de aplicación antiguo , "relacionado con un sistema informático anterior u obsoleto", [1] que aún se utiliza. A menudo, hacer referencia a un sistema como "heredado" significa que allanó el camino para los estándares que lo seguirían. Esto también puede implicar que el sistema está desactualizado o necesita ser reemplazado.

Resumen [ editar ]

Aunque no se admite desde abril de 2014, Windows XP ha soportado un uso continuo en campos como el software del sistema operativo de cajeros automáticos .

El primer uso del término legado para describir sistemas informáticos probablemente ocurrió en la década de 1970. [ cita requerida ] En la década de 1980 se usaba comúnmente para referirse a los sistemas informáticos existentes para distinguirlos del diseño y la implementación de nuevos sistemas. Legacy se escuchó a menudo durante un proceso de conversión, por ejemplo, al mover datos del sistema heredado a una nueva base de datos.

Si bien este término puede indicar que algunos ingenieros pueden sentir que un sistema está desactualizado, un sistema heredado puede continuar usándose por una variedad de razones. Puede ser simplemente que el sistema todavía satisfaga las necesidades de los usuarios. Además, la decisión de mantener un sistema antiguo puede verse influenciada por razones económicas como los desafíos de retorno de la inversión o el bloqueo del proveedor , los desafíos inherentes de la gestión de cambios o una variedad de otras razones además de la funcionalidad. La compatibilidad con versiones anteriores (como la capacidad de los sistemas más nuevos para manejar formatos de archivo heredados y codificaciones de caracteres ) es un objetivo que los desarrolladores de software suelen incluir en su trabajo.

Incluso si ya no se usa, un sistema heredado puede continuar impactando a la organización debido a su función histórica. Es posible que los datos históricos no se hayan convertido al formato del nuevo sistema y que existan dentro del nuevo sistema con el uso de un esquema de paso de peatones personalizado , o que existan solo en un almacén de datos . En cualquier caso, el efecto sobre la inteligencia empresarial y los informes operativos puede ser significativo. Un sistema heredado puede incluir procedimientos o terminología que ya no son relevantes en el contexto actual y pueden dificultar o confundir la comprensión de los métodos o tecnologías utilizados.

Las organizaciones pueden tener razones de peso para mantener un sistema heredado, como:

  • El sistema funciona satisfactoriamente y el propietario no ve ninguna razón para cambiarlo.
  • Los costos de rediseñar o reemplazar el sistema son prohibitivos porque es grande, monolítico y / o complejo.
  • Reentrenamiento en un nuevo sistema sería costoso en tiempo y dinero perdidos, en comparación con los apreciables beneficios anticipados de reemplazarlo (que pueden ser cero).
  • El sistema requiere una disponibilidad casi constante , por lo que no se puede poner fuera de servicio, y el costo de diseñar un nuevo sistema con un nivel de disponibilidad similar es alto. Los ejemplos incluyen sistemas para manejar las cuentas de los clientes en bancos , sistemas de reservas informáticas , control de tráfico aéreo , distribución de energía ( redes eléctricas ), plantas de energía nuclear , instalaciones de defensa militar y sistemas como la base de datos TOPS .
  • No se comprende bien la forma en que funciona el sistema. Tal situación puede ocurrir cuando los diseñadores del sistema han dejado la organización y el sistema no se ha documentado completamente o se ha perdido la documentación.
  • El usuario espera que el sistema se pueda reemplazar fácilmente cuando sea necesario.
  • Los sistemas más nuevos realizan funciones secundarias indeseables (especialmente para usuarios individuales o no institucionales) como a ) seguimiento e informes de la actividad del usuario y / ob ) actualización automática que crea vulnerabilidades de seguridad " ocultas " y deja a los usuarios finales dependientes del bien fe y honestidad del proveedor que proporciona las actualizaciones. Este problema es especialmente agudo cuando estas funciones secundarias de un sistema más nuevo no pueden desactivarse.

Problemas que plantea la informática heredada [ editar ]

Algunos ingenieros de software consideran que los sistemas heredados son potencialmente problemáticos por varias razones. [2]

  • Si el software heredado se ejecuta solo en hardware anticuado , el costo de mantenimiento del sistema puede eventualmente superar el costo de reemplazar tanto el software como el hardware, a menos que alguna forma de emulación o compatibilidad con versiones anteriores permita que el software se ejecute en hardware nuevo. [3]
  • Estos sistemas pueden ser difíciles de mantener, mejorar y expandir porque hay una falta general de comprensión del sistema; el personal que era experto en el tema se ha jubilado o se ha olvidado de lo que sabía al respecto, y el personal que ingresó al campo después de que se convirtió en un "legado" nunca lo aprendió en primer lugar. Esto puede empeorar por falta o pérdida de documentación. La compañía aérea Comair despidió a su director general en 2004 debido a la falla de un sistema de programación de tripulaciones heredado y anticuado que se topó con una limitación que nadie en la compañía conocía. [4]
  • Los sistemas heredados pueden tener vulnerabilidades en sistemas operativos o aplicaciones más antiguos debido a la falta de parches de seguridad disponibles o aplicados. También puede haber configuraciones de producción que causen problemas de seguridad. Estos problemas pueden poner el sistema heredado en riesgo de verse comprometido por atacantes o conocedores internos. [5]
  • La integración con sistemas más nuevos también puede ser difícil porque el nuevo software puede utilizar tecnologías completamente diferentes. La integración a través de la tecnología es bastante común en la informática, pero la integración entre las tecnologías más nuevas y las sustancialmente más antiguas no es común. Es posible que simplemente no haya una demanda suficiente para que se desarrolle la tecnología de integración. Parte de este código "adhesivo" es desarrollado ocasionalmente por proveedores y entusiastas de tecnologías heredadas particulares.
  • Las limitaciones presupuestarias a menudo llevan a las empresas a no abordar la necesidad de reemplazar o migrar un sistema heredado. Sin embargo, las empresas a menudo no consideran los crecientes costos de soporte (personas, software y hardware, todos mencionados anteriormente) y no toman en consideración la enorme pérdida de capacidad o continuidad del negocio si el sistema heredado fallara. Una vez que estas consideraciones se entienden bien, basarse en el ROI probado de una plataforma de pila de tecnología nueva, más segura y actualizada no es tan costosa como la alternativa, y se encuentra el presupuesto.
  • Debido al hecho de que la mayoría de los programadores heredados están entrando en la edad de jubilación y la cantidad de ingenieros jóvenes que los reemplazan es muy pequeña, existe una escasez alarmante de mano de obra disponible. Esto, a su vez, genera dificultades para mantener los sistemas heredados, así como un aumento en los costos de adquisición de programadores experimentados. [6]

Mejoras en los sistemas de software heredados [ editar ]

Cuando sea imposible reemplazar los sistemas heredados mediante la práctica del retiro de aplicaciones , aún es posible mejorarlos (o "rehacerlos"). La mayor parte del desarrollo se destina a agregar nuevas interfaces a un sistema heredado. La técnica más destacada es proporcionar una interfaz basada en web a una aplicación de mainframe basada en terminal. Esto puede reducir la productividad del personal debido a tiempos de respuesta más lentos y acciones del operador más lentas basadas en el mouse, sin embargo, a menudo se considera una "actualización", porque el estilo de la interfaz es familiar para los usuarios no calificados y es fácil de usar para ellos. John McCormick analiza las estrategias que involucran middleware . [7]

Las mejoras de impresión son problemáticas porque los sistemas de software heredados a menudo no agregan instrucciones de formato o usan protocolos que no se pueden usar en impresoras modernas de PC / Windows. Se puede utilizar un servidor de impresión para interceptar los datos y traducirlos a un código más moderno. Los documentos con formato de texto enriquecido (RTF) o PostScript se pueden crear en la aplicación heredada y luego interpretarlos en una PC antes de imprimirlos.

Las medidas de seguridad biométricas son difíciles de implementar en sistemas heredados. Una solución viable es utilizar un servidor proxy Telnet o HTTP entre los usuarios y el mainframe para implementar un acceso seguro a la aplicación heredada.

El cambio que se está llevando a cabo en algunas organizaciones es cambiar a un software de procesos comerciales automatizados (ABP) que genera sistemas completos. Estos sistemas pueden entonces interactuar con los sistemas heredados de las organizaciones y usarlos como repositorios de datos . Este enfoque puede proporcionar una serie de beneficios importantes: los usuarios están aislados de las ineficiencias de sus sistemas heredados y los cambios se pueden incorporar rápida y fácilmente en el software de ABP.

Los enfoques de ingeniería inversa y directa impulsados ​​por modelos también se pueden utilizar para mejorar el software heredado. [8]

Ejemplo de la NASA [ editar ]

Andreas Hein, de la Universidad Técnica de Munich, investigó el uso de sistemas heredados en la exploración espacial. Según Hein, los sistemas heredados son atractivos para su reutilización si una organización tiene las capacidades de verificación, validación, pruebas e historial operativo. [9] [10] Estas capacidades deben integrarse en varias fases del ciclo de vida del software, como el desarrollo, la implementación, el uso o el mantenimiento. Para los sistemas de software, la capacidad de usar y mantener el sistema es crucial. De lo contrario, el sistema se volverá cada vez menos comprensible y mantenible.

Según Hein, la verificación, la validación, las pruebas y el historial operativo aumentan la confianza en la confiabilidad y la calidad de un sistema. Sin embargo, acumular este historial suele ser caro. El programa de transbordadores espaciales ahora retirado de la NASA utilizó una gran cantidad de tecnología de la década de 1970. El reemplazo tenía un costo prohibitivo debido al costoso requisito de la certificación de vuelo. El hardware original completó el costoso requisito de integración y certificación para el vuelo, pero cualquier equipo nuevo habría tenido que pasar por todo ese proceso nuevamente. Este proceso largo y detallado requirió pruebas exhaustivas de los nuevos componentes en sus nuevas configuraciones antes de que una sola unidad pudiera usarse en el programa del Transbordador Espacial. Así, cualquier nuevo sistema que se inició el proceso de certificación se convierte en una de facto sistema heredado en el momento en que se apruebe para el vuelo.

Además, todo el sistema del transbordador espacial, incluidos los activos de los vehículos terrestres y de lanzamiento, se diseñó para funcionar en conjunto como un sistema cerrado. Dado que las especificaciones no cambiaron, todos los sistemas y componentes certificados se desempeñaron bien en las funciones para las que fueron diseñados. [11] Incluso antes de que se programara la retirada del Shuttle en 2010, la NASA encontró ventajoso seguir usando muchas piezas de la tecnología de la década de 1970 en lugar de actualizar esos sistemas y recertificar los nuevos componentes.

Usos adicionales del término Legacy en informática [ editar ]

El término soporte heredado se usa a menudo junto con sistemas heredados. El término puede referirse a una característica del software moderno. Por ejemplo, los sistemas operativos con "soporte heredado" pueden detectar y utilizar hardware más antiguo. El término también puede usarse para referirse a una función comercial; por ejemplo, un proveedor de software o hardware que respalda o proporciona mantenimiento de software para productos más antiguos.

Un producto "heredado" puede ser un producto que ya no se vende, ha perdido una participación sustancial en el mercado o es una versión de un producto que no es actual. Un producto heredado puede tener alguna ventaja sobre un producto moderno, por lo que resulta atractivo para los clientes mantenerlo. Un producto sólo es verdaderamente "obsoleto" si no tiene una ventaja para nadie , si ninguna persona que toma una decisión racional opta por adquirirlo nuevo.

El término "modo heredado" a menudo se refiere específicamente a la compatibilidad con versiones anteriores . Se dice que un producto de software que es capaz de funcionar como si fuera una versión anterior de sí mismo "se ejecuta en modo heredado". Este tipo de característica es común en los sistemas operativos y navegadores de Internet, donde muchas aplicaciones dependen de estos componentes subyacentes.

La era de la computadora central vio muchas aplicaciones ejecutándose en modo heredado. En el entorno informático empresarial moderno, las arquitecturas de n o 3 niveles son más difíciles de colocar en modo heredado, ya que incluyen muchos componentes que forman un solo sistema.

La tecnología de virtualización es una innovación reciente que permite que los sistemas heredados continúen funcionando en hardware moderno mediante la ejecución de navegadores y sistemas operativos más antiguos en un sistema de software que emula el hardware heredado.

Arquitectura brownfield [ editar ]

Los programadores han tomado prestado el término brownfield de la industria de la construcción, donde las tierras previamente desarrolladas (a menudo contaminadas y abandonadas) se describen como brownfield . [12]

  • La arquitectura brownfield es un tipo de software o arquitectura de red que incorpora sistemas heredados.
  • La implementación brownfield es una actualización o adición a un software o arquitectura de red existente que retiene componentes heredados.

Vista alternativa [ editar ]

Existe una opinión favorable alternativa, que crece desde el fin de la burbuja Dotcom en 1999, de que los sistemas heredados son simplemente sistemas informáticos en uso:

El " código heredado " a menudo difiere de su alternativa sugerida en que realmente funciona y se escala.

-  Bjarne Stroustrup, creador de C ++

Los analistas de TI estiman que el costo de reemplazar la lógica empresarial es aproximadamente cinco veces mayor que el de la reutilización, [ cita requerida ] incluso descontando el riesgo de fallas del sistema y brechas de seguridad. Idealmente, las empresas nunca tendrían que reescribir la mayor parte de la lógica empresarial central: débitos = créditos es un requisito perenne.

La industria de TI está respondiendo con una "modernización heredada" y una "transformación heredada": reacondicionando la lógica empresarial existente con nuevas interfaces de usuario, a veces utilizando el raspado de pantalla y el acceso habilitado para servicios a través de servicios web . Estas técnicas permiten a las organizaciones comprender sus activos de código existentes (utilizando herramientas de descubrimiento), proporcionar nuevas interfaces de usuario y aplicación al código existente, mejorar el flujo de trabajo, contener los costos, minimizar el riesgo y disfrutar de las calidades clásicas de servicio (cerca del 100% de tiempo de actividad, seguridad, escalabilidad , etc.). [ cita requerida ]

Esta tendencia también invita a reflexionar sobre qué hace que los sistemas heredados sean tan duraderos. Los tecnólogos están volviendo a aprender la importancia de la arquitectura de sonido desde el principio, para evitar reescrituras costosas y arriesgadas. Los sistemas heredados más comunes tienden a ser aquellos que adoptan principios arquitectónicos de TI bien conocidos, con una planificación cuidadosa y una metodología estricta durante la implementación. Los sistemas mal diseñados a menudo no duran, tanto porque se desgastan como porque sus fallas inherentes invitan a ser reemplazadas. Por lo tanto, muchas organizaciones están redescubriendo el valor de sus sistemas heredados y los fundamentos teóricos de esos sistemas.

Ver también [ editar ]

  • Retiro de la aplicación
  • Bitrot
  • Migración de datos
  • Deprecación
  • Edad oscura digital
  • Código heredado
  • Codificación heredada
  • PC sin legado
  • Puerto heredado
  • Arqueología de software
  • Fragilidad del software
  • Entropía de software
  • Sistema de estufa

Referencias [ editar ]

  1. ^ "Merriam-Webster" . Consultado el 22 de junio de 2013 .
  2. ^ (por ejemplo, ver Bisbal et al., 1999).
  3. ^ Lamb, John (junio de 2008). "Los sistemas heredados siguen teniendo un lugar en la empresa" . Computer Weekly . Consultado el 27 de octubre de 2014 .
  4. Stephanie Overby (1 de mayo de 2005). "Desastre navideño de Comair: destinado al fracaso - CIO.com - Liderazgo en tecnología empresarial" . CIO.com . Consultado el 29 de abril de 2012 .
  5. Razermouse (3 de mayo de 2011). "El peligro de los sistemas heredados" . Mousesecurity.com. Archivado desde el original el 23 de marzo de 2012 . Consultado el 29 de abril de 2012 .
  6. ^ "Beneficios de la modernización de mainframe" . Centro de modernización . Consultado el 23 de agosto de 2017 .
  7. ^ "Middleware de mainframe-web - John McCormick" . Gcn.com. 2000-06-02. Archivado desde el original el 5 de diciembre de 2008 . Consultado el 29 de abril de 2012 .
  8. ^ Menychtas, Andreas; Konstanteli, Kleopatra; Alonso, Juncal; Orue-Echevarria, Leire; Gorronogoitia, Jesús; Kousiouris, George; Santzaridou, Christina; Bruneliere, Hugo; Pellens, Bram; Stuer, Peter; Strauss, Oliver; Senkova, Tatiana; Varvarigou, Theodora (2014), "Modernización y cloudificación de software utilizando la metodología y el marco de migración ARTIST", Computación escalable: práctica y experiencia , 15 (2), doi : 10.12694 / scpe.v15i2.980
  9. ^ AM Hein (2014), ¿Cómo evaluar los sistemas patrimoniales en las primeras fases? , 6a Conferencia Internacional de Sistemas e Ingeniería Concurrente para Aplicaciones Espaciales 2014, ESA
  10. ^ AM Hein (2016), tecnologías patrimoniales en programas espaciales - Metodología de evaluación y análisis estadístico , tesis doctoral Facultad de Ingeniería Mecánica, Universidad Técnica de Munich
  11. ^ AM Hein (2014), ¿Cómo evaluar los sistemas patrimoniales en las primeras fases? , 6ª Conferencia Internacional de Sistemas e Ingeniería Concurrente para Aplicaciones Espaciales 2014, ESA, p. 3
  12. ^ "Definición de implementación greenfield y brownfield" . Searchunifiedcommunications.techtarget.com . Consultado el 29 de abril de 2012 .

Lectura adicional [ editar ]

  • AM Hein, ¿Cómo evaluar los sistemas patrimoniales en las primeras fases? SECESA 2014, 08-10 de octubre de 2014, Universidad de Stuttgart Alemania
  • "Consejos y trucos para hardware heredado" por Danny Budzinski, Revista Control Design , enero de 2011
  • "Fallo de un sistema de programación de personal relativamente nuevo durante la Navidad" por Stephanie Overby, CIO Magazine , 1 de mayo de 2005
  • "El fracaso de la computadora digital" por Adam N. Rosenberg
  • Bisbal, J .; Lawless, D .; Wu, B .; Grimson, J. (1999). "Sistemas de información heredados: problemas y direcciones". Software IEEE . 16 (5): 103-111. doi : 10.1109 / 52.795108 .
  • Jim McGee (10 de noviembre de 2005). "Sistemas heredados: por qué importa la historia" . Diario de sistemas empresariales .
  • "The Danger of Legacy Systems" por Steve R. Smith, 3 de mayo de 2011.

Enlaces externos [ editar ]

  • Medios relacionados con los sistemas heredados en Wikimedia Commons