Legacy-Systeme: Wie modernisieren?

Der Unterhalt von Altsystemen ist aufwendig und teuer. Für eine Modernisierung stehen verschiedene Optionen zur Auswahl.

Artikel erschienen in Swiss IT Magazine 2007/15

     

Sollten IT-Verantwortliche weiterhin Geld in ihre Altsysteme investieren, diese modernisieren oder vielleicht sogar ersetzen? Führungskräfte im IT-Bereich grosser Unternehmen müssen sich diese Frage am Ende jedes Geschäftsjahrs wieder neu stellen. Die Altsysteme haben Zusammenschlüsse überlebt, Übernahmen, Re-Engineering, technische Revolutionen, Neuordnungen in der Branche und den Jahrtausendwechsel. Diese Systeme, die zum Teil aus den 1960er Jahren stammen, bleiben weiterhin der Kern des IT-Portfolios, auch wenn die Unternehmen sich bereits auf Gelegenheiten im E-Commerce konzentrieren.


Pflege, Modernisierung und Ersatz von Altsystemen gehören zu den schwierigsten Herausforderungen, denen sich viele Unternehmen heute stellen müssen. Die Pflege von Altsystemen stellt aufgrund des ständig fortschreitenden technologischen Wandels oft keine Option dar. Der Ersatz des bestehenden durch ein vollkommen neu entwickeltes System ist dagegen mit verschiedenen Schwierigkeiten verbunden. Folgende Faktoren stehen beispielsweise dieser Strategie entgegen:




- Die Geschäftsführung stimmt selten einer grösseren Ausgabe zu, wenn diese nur die Instandhaltungskosten senkt, jedoch keinen Mehrwert schafft.



- Die Entwicklung umfangreicher Systeme nimmt Jahre in Anspruch; nicht eingeplante Geschäftsprozesse müssen ergänzt werden, um mit dem sich ändernden Geschäftsklima Schritt zu halten, was das Ausfallrisiko erhöht.



- Eine Dokumentation für das alte System existiert meist nicht oder ist bereits überholt.



- Wie bei den meisten Grossprojekten dauert der Entwicklungsprozess länger als geplant.


Im allgemeinen neigen Gross­projekte dazu, weit mehr Kosten zu verursachen als erwartet. Dies erklärt, warum viele Organisationen eine Modernisierung wählen. Doch was sind die Folgen, welche Wege sind möglich?


Herausforderungen durch Legacy-Source-Code

Altsysteme sind oft inkompatibel mit überlappenden Applikationen oder schwierig zu integrieren. Ein Altsystem lässt sich möglicherweise schwer mit Software für das Customer Relationship Management (CRM) und mit Internet-basierten Geschäftsapplikationen integrieren. Darüber hinaus sind Altsysteme im Gegensatz zu modernen, verteilten und geschichteten Architekturen häufig monolithisch und schlecht unterteilt. Und schliesslich ist die Qualität des Source Code von Altsystemen im allgemeinen schlecht.


Ausserdem gestaltet es sich für IT-Abteilungen zunehmend schwierig, Entwickler zu finden, die die Qualifikation besitzen, in Programmiersprachen an Applikationen zu arbeiten, die in modernen Technologien nicht mehr verwendet werden. Die Notwendigkeit einer Modernisierung wird bedingt durch den Faktor Kosten im Vergleich zum Geschäftswert von Altsystemen. Eine Business-Case-Analyse sollte zeigen, ob die Investitionen für die Modernisierung geringer sind als der erhöhte Geschäftswert.






Herausforderungen durch alten Source Code


Ausgewogene Strategie

Bei der Auswahl des besten Modernisierungswegs müssen IT-Verantwortliche die Folgen für die vier Dimensionen im Hinblick auf das Altsystem berücksichtigen. Zusammen stellen diese den entwickelten Wert des Systems für die Organisation dar. Die weiteren Dimensionen neben dem Altsystem selbst sind folgende:



- Die Datenbank des Altsystems. Eine typische Datenbank wurde in jahrelanger Arbeit aufgebaut und verbessert. Mit den Jahren wurden Geschäftsregeln und semantische Abhängigkeiten auf Feld- und Tabellenebene eingebaut, die den Entwicklern und Benutzern bekannt sind.




- Geschäftsprozesse. Entwicklerteams haben in mehreren Jahren die Applikationen aufgebaut und verbessert. Sie kennen das System in- und auswendig und sind mit den unterstützten Geschäftsprozessen bestens vertraut. Die Gemeinschaft der Benutzer ist ebenfalls an die Arbeit mit diesen Applikationen gewöhnt; sie wissen, wie diese ablaufen und warum sie so ablaufen.



- Menschliches Kapital. Viele Unternehmen haben zu spät festgestellt, dass sie hohe Investitionen im Hinblick auf Schulungen und geistiges Eigentum in ihre Mitarbeiter getätigt haben, die ihnen verlorengehen, wenn die Systeme ersetzt werden. Ausscheidende Mitarbeiter nehmen in jahrelanger Arbeit erworbene Kenntnisse über das Geschäft, über Geschäftsprozesse und über Applikationen ihres Arbeitgebers mit sich. Dieses Wissen ruht in den Köpfen der Mitarbeiter und ist nur in den seltensten Fällen dokumentiert.




Die vielleicht am meisten unterschätzten Auswirkungen von Modernisierungsinitiativen betreffen das menschliche Kapital des Altsystems. Durch eine Modernisierung des Systems auf eine Weise, die das menschliche Kapital steigert, anstatt es zu vernichten, nutzt die Organisation bestehende menschliche Ressourcen und erweitert die Fähigkeiten und die Produktivität dieser Mitarbeiter. Werden Systeme ersetzt, dauert es dagegen Jahre, bis das in die Altapplikationen eingeflossene Wissen und das damit befasste Personal wieder auf demselben Stand sind.


Diese vier Dimensionen sind interdependent. Bei jeder Modernisierungsinitiative werden idealerweise alle vier Dimensionen gleichermassen modernisiert oder zumindest bewahrt. Auf diese Weise bewahrt die Organisation nicht nur kritische Elemente aller Altanlagen, sondern nutzt auch die Investition in das System und ergänzt sie gleichzeitig durch moderne Lösungen.


Modernisierungsoptionen

Bei der Planung einer Modernisierung sollten IT-Verantwortliche sowohl bedenken, wie bestehende Anlagen am besten genutzt werden können, als auch – was von ebenso grosser Bedeutung ist – wie zukünftige Initiativen, über die möglicherweise noch sehr wenig bekannt ist, am besten zu unterstützen sind. Modernisierungsoptionen sind beispielsweise:



- Screen Scraping (oder «Web Facing») ist eine Methode des Web-Enablement, die bei Benutzern sehr beliebt ist, die Applikationen und Daten über eine Benutzeroberfläche zur Verfügung stellen oder Host Screens in eine Web-ähnliche Form bringen wollen, ohne die Applikationen oder Prozesse zu verändern. Diese Technik bietet Internetzugriff auf Altapplikationen, ohne dass Änderungen an der zugrundeliegenden Plattform vorgenommen werden müssen. Aufgrund ihrer Eigenständigkeit können Screen Scrapers in Tagen oder manchmal sogar Stunden installiert werden. Die Skalierbarkeit kann jedoch ein Problem darstellen, da die meisten Altsysteme bei weitem nicht so viele Benutzer bedienen können wie Internet-basierte Plattformen.




- Legacy Wrapping ist eine zweite Option. Wie das Screen Scraping lassen sich Wrapping-Techniken in Situationen anwenden, in denen nicht die Notwendigkeit besteht, Geschäftsfunktionen der bestehenden Plattform zu ändern. Mit dieser Technik werden aufrufbare APIs um Alttransaktionen herum gebaut, die dann einen Integrationspunkt mit anderen Systemen bilden.



- Eine dritte Möglichkeit ist schliesslich die Migration von Source Code des Altsystems in eine moderne Programmierumgebung (wie Java oder C#), die auf moderner verteilter Hardware ausgeführt werden kann. Dies resultiert in einer echten Modernisierung und ergibt einen Source Code, der mit modernen Programmierumgebungen kompatibel ist, und ein System, das sowohl aktuelle als auch zukünftige Anforderungen erfüllen kann.
Bei der Auswahl der neuen technologischen Umgebung sind allerdings sorgfältige Überlegungen notwendig. Mit jeder Technologie können ausgereifte, moderne Geschäftsapplikationen geschaffen werden, die auf eine Vielzahl verschiedener Datenbankplattformen zugreifen können; die Auswirkungen auf die vier Dimensionen – Mitarbeiter, Prozesse, Applikationen und Daten – sind jedoch unterschiedlich.


Die Art und Weise, wie die vier Dimensionen genutzt und beeinflusst werden, muss unbedingt bedacht werden. Darüber hinaus ist es von essentieller Bedeutung zu wissen, ob ein Modernisierungsweg zukünftige Entwicklung und zukünftiges Wachstum begünstigt. Eine Modernisierungsmethode muss in einem System resultieren, das sowohl die Flexibilität einer Organisation verbessert als auch die vier Pfeiler bewahrt, auf denen das Geschäft ruht.


Screen Scraping (oder Web Facing) stellt eine teure Option dar, die mit grosser Wahrscheinlichkeit nicht rentabel ist. Hier wird nur der Anschein einer Modernisierung geschaffen. Das menschliche Kapital der Organisation wird nicht erhöht, da die Programmierer einfach den alten Source Code durch ein Tool leiten, das die Ausgabe erstellt. Die resultierenden Webseiten sind in ihrer Funktionalität begrenzt und können nicht erweitert werden. Werden Änderungen an der Applikation vorgenommen, müssen alle betroffenen Screens neu extrahiert werden. Scraping besitzt im Hinblick auf die Daten keinen Modernisierungseffekt. Der alte Source Code und die Applikationen bleiben, nur die Benutzeroberfläche ist modern.

Auch Wrapping liefert keine Methode zur grundlegenden Änderung der Struktur und zur Verbesserung der Codequalität des Altsystems. Und schliesslich wird bei Screen Scraping und Wrapping nichts gegen die hohen Kosten unternommen, die mit der Pflege eines Altsystems und der Suche nach Personal verbunden sind, das dazu bereit ist, mit veralteter Technologie zu arbeiten.


Migrationsschritte

In den frühen Stadien des Migrationsprozesses muss die zentrale Geschäftslogik identifiziert und abgebildet werden, um die Wechselbeziehungen im Source Code, mit dem die Geschäftsfunktion der Applikation ausgeführt wird, deutlich zu machen. Eine Programm­affinitätsanalyse kann durchgeführt werden, um Aufrufmuster und Prozessablaufdiagramme zu erstellen, die die Abhängigkeiten zwischen den Programmen in bezug auf Aufrufe und Verlinkung enthalten. Diese Muster und Diagramme ermöglichen, verbundene Programm-Cluster, die gute Indikatoren für verknüpfte Geschäftsaktivitäten darstellen, visuell zu identifizieren.



Nach der Identifikation und Abbildung der zentralen Geschäftslogik lässt sich diese in eigenständige Komponenten unterteilen, die in Client/Server- und Internet-basierten Umgebungen installiert werden können. Durch diesen Prozess werden Programmsammlungen erstellt, die eine bestimmte Geschäftsfunktion ausführen. Darüber hinaus besitzen die Komponenten klar definierte APIs; auf sie kann über moderne Protokolle nach Industrienorm zugegriffen werden.

Die Komponenten können auf einem Mainframe verbleiben oder in modernen verteilten Umgebungen neu installiert werden.
Im Zuge des Umwandlungs­prozesses müssen zunächst die üblichen Systemdienstfunktionen wie Fehlerreporting, Transaktionsprotokollierung und Datumsberechnungsroutinen identifiziert werden. Um Verarbeitungsredundanz zu vermeiden und ein konsistentes Systemverhalten zu gewährleisten, müssen diese Komponenten in einer systemweit wiederverwendbaren Dienstprogrammbibliothek standardisiert werden.


Schlussfolgerung

Altsystemmodernisierung ist von essentieller Bedeutung für Organisationen, die zu hohe finanzielle Mittel aufwenden müssen, um den Geschäftswert ihrer überholten Datensysteme zu erhalten. Ein zweiter Faktor, der Änderungen notwendig macht, ist der Trend hin zu Internet-basierten Plattformen wie beispielsweise .NET und J2EE in der Industrie. Die Einführung neuer Computersysteme kann die Betriebskosten senken und es erleichtern, eine Applikation an Veränderungen am Markt oder an den Wettbewerbsdruck anzupassen.



Es steht eine Vielzahl verschiedener Optionen zur Verfügung, darunter auch Massnahmen wie Screen Scraping und Code Wrapping. Jede Strategie hat unter bestimmten Umständen ihren Sinn. Die erstgenannte Methode kann Altapplikationen eliminieren, bei denen die Codequalität für eine Migration zu schlecht ist, und die letztgenannte Methode bietet einen schnellen und kostengünstigen Zugriff auf die Altfunktionalität. Doch für solche Unternehmen, die die Funktionalität ihres Altsystems auf einer modernen Plattform bewahren und erweitern möchten, stellt eine Migration mit unterstützenden Tools mit grosser Wahrscheinlichkeit die kostengünstigste Strategie dar.


Der Autor

Hans Sassenburg ist CEO der Software Improvement Group (www.sig-AG.ch). Sie erreichen ihn unter h.sassenburg@sig.eu.




Artikel kommentieren
Kommentare werden vor der Freischaltung durch die Redaktion geprüft.

Anti-Spam-Frage: Wieviele Zwerge traf Schneewittchen im Wald?
GOLD SPONSOREN
SPONSOREN & PARTNER