Definition „Altanwendung“ Was ist Legacy Software?

Autor / Redakteur: chrissikraus / Stephan Augsten

Legacy Software ist häufig schon lange im Einsatz und technologisch nicht mehr auf dem aktuellen Stand. Solche Altanwendungen werden aber aus verschiedenen Gründen weiterhin genutzt, z. B. weil sie die Basis für neuere Software bilden.

Firmen zum Thema

Altanwendungen bringen Probleme mit sich, die immer wieder Aufmerksamkeit erfordern und Ressourcen binden.
Altanwendungen bringen Probleme mit sich, die immer wieder Aufmerksamkeit erfordern und Ressourcen binden.
(© Nmedia - stock.adobe.com)

Das Wort „Legacy“ umschreibt Software oder IT-Systeme, die schon längere Zeit existieren und aus technologischer Sicht durch eine modernere Version abgelöst werden müssten. Der Anschluss an moderne Technologien (z. B. Cloud) ist oft nur mit erheblichem Aufwand und auf Umwegen möglich – wenn überhaupt. Dennoch sind sie weiterhin im Einsatz.

Oft handelt es sich z. B. um Kernkomponenten, die als Basis für komplexere Systeme gelten und daher nicht trivial zu ersetzen sind. Manchmal lohnt es sich auch einfach nicht, sie durch eine neue Lösung abzulösen. Sie werden also gepflegt und bestmöglich in das Ökosystem aus modernen Technologien integriert.

Welche Probleme entstehen durch Legacy-Systeme?

Legacy Software bereitet in der Regel mit zunehmendem Alter immer neue Probleme, vor allem wenn sie gemeinsam mit modernerer Technologie betrieben wird. Beispiele für Probleme sind unter anderem:

  • Steigender Aufwand für Pflege und Wartung: Alte Systeme werden zunehmend schwerer wartbar. Das liegt um einen daran, dass sie mit der Zeit immer weiter organisch wachsen und dadurch unübersichtlich für Entwickler werden. Zum anderen kann Wissen in Entwicklung und Support verloren gehen, wenn Kollegen das Unternehmen verlassen. Wenn also etwas am Legacy System gemacht werden soll, müssen sich Mitarbeiter mit immer mehr Aufwand in das Problem einarbeiten, um es zu lösen.
  • Abnehmende Sicherheit: Manchmal wird Legacy Software vom Hersteller nicht weiter gewartet, z. B. weil es längst neue Software gibt, die das alte System ablösen soll. Das bedeutet, dass es auch für kritische Sicherheitsprobleme keine Updates mehr gibt. Nutzer verwenden die Software auf eigene Gefahr und riskieren dabei einen immer weiter wachsenden Berg an Sicherheitslücken.
  • Kompatibilitätsprobleme: Alte Technologie verträgt sich oft nicht von sich aus mit moderner Technik. Ein veralteter Browser kann z. B. viele moderne Internetseiten nicht mehr korrekt darstellen und moderne Betriebssysteme funktionieren nicht automatisch auf stark veralteter Hardware. Es ist durchaus möglich, dass Entwickler sich darum kümmern, immer neue Patches für Altsysteme zu schreiben und somit für Kompatibilität zu neueren Systemen sorgen. Aber in vielen Fällen wird dieser Support irgendwann eingestellt, weil es genug moderne Alternativen gibt und der Aufwand sich nicht lohnt.

Warum bleiben Legacy-Systeme dennoch weiter im Einsatz?

Es gibt verschiedene Gründe, aus denen Unternehmen häufig an veralteten Anwendungen festhalten, z. B:

Wissensverlust: Manche Software ist so alt, dass die ursprünglichen Entwickler längst im Ruhestand sind. Wenn zuvor kein ausreichender Wissenstransfer stattgefunden hat, geht das Wissen um die Konstruktion dieser Altlasten oft schlicht verloren. Jüngere Generationen von Entwicklern müssten den Umgang mit veralteten Technologien erst lernen, um zu verstehen, was die Software im Detail tut. Dieses Wissen wäre aber wichtig, wenn man den Funktionsumfang in moderner Technologie nachstellen möchte. Nach dem Motto „never change a running system“ wird dieser Aufwand darum manchmal erst dann betrieben, wenn es wirklich nicht mehr anders geht.

Technologie-Altlasten: Altsysteme wurden oft für Hardware entwickelt, die technisch längst überholt ist. Das bedeutet, dass die Hardware in der Regel auch nur mit Programmiersprachen angesprochen werden kann, welche heute als überholt und umständlich gelten. Neue Software müsste also ebenso auf alte Technologie zurückgreifen, um die Hardware korrekt anzusteuern. Wenn die Hardware unbedingt weiterhin betrieben werden muss, wird daher oft der Einfachheit halber die Legacy Software gepflegt.

Kosten: Wenn das System weiterhin funktioniert und durch gelegentliche Updates am Leben gehalten wird, lohnt sich eine neue Lösung aus finanzieller Sicht manchmal einfach nicht. Es könnte sich z. B. um ein Nischenprodukt handeln, das nur noch von wenigen Bestandskunden verwendet wird, während andere Kunden längst auf eine modernere Lösung umgestiegen sind.

Umgang mit Legacy-Software: Renovierung oder Neubau?

Veraltete Software bringt also viele Probleme mit sich, die immer wieder Aufmerksamkeit erfordern und Ressourcen binden. Vor allem in den Bereichen Sicherheit und Kompatibilität zu modernerer Technologie gibt es oft dringenden Handlungsbedarf. Kunden verlassen sich darauf, dass ihre gewohnte Arbeitsweise weiterhin funktioniert und ihr langjährig gepflegter Datenbestand nutzbar bleibt. Es gibt verschiedene Herangehensweisen, um diesem Problem Herr zu werden. Eine Option ist die Migration auf ein komplett neues Produkt, eine andere die teilweise oder vollständige Neuschreibung der vorhandenen Software.

Software-Migration

Eine Lösung ist die Entwicklung einer neuen, eigenständigen Software zur Ablösung des Altsystems. Die Daten des Kunden werden in dieses System übertragen. So kann auf eine moderne Anwendung umgestellt und zugleich mit den gesammelten Daten weitergearbeitet werden. Eine Schwierigkeit hierbei ist, dass die Datenmodelle beider Systeme im Auge behalten werden müssen, um Datenverlust zu vermeiden.

Software Reengineering

Häufig erreicht ein Legacy System einen Punkt, an dem es nur noch unter großem Aufwand gewartet und angepasst werden kann. Wenn Software Migration keine taugliche Lösung ist, gibt es noch Reengineering als Alternative. Dabei werden Teile des Legacy Systems oder auch das gesamte System neu geschrieben.

(ID:47560983)