Die IBM i (AS400/iSeries)-Systeme sind bereits seit 1988 auf dem Markt und haben durch ihre hohe Leistung, die niedrigen Kosten und eine enorme Sicherheit und Stabilität große Beliebtheit erlangt. Software-Lösungen, die für den Betrieb auf diesem System konzipiert sind (so genannte Legacy-Anwendungen), sind in aller Regel im Laufe der Jahre adäquat an die Anforderungen der Unternehmen, bei denen sie im Einsatz sind, angepasst worden. Allerdings könnten auch diese Lösungen in Verbindung mit modernen Technologien eine weitaus höhere Produktivität erreichen, weshalb die Modernisierung von IBM i-Anwendungen ein wichtiger und notwendiger Prozess ist. Ein Beitrag von Jörg Hamacher, Geschäftsführer der S.M.Hartmann GmbH.
Viele Legacy-Anwendungen wurden entwickelt, um spezifische Bedürfnisse zu erfüllen. Allerdings können diese Anwendungen oftmals nicht miteinander interagieren oder sie lassen sich nicht in andere Abläufe integrieren, Daten oder wiederkehrende Funktionalität können nicht effektiv untereinander ausgetauscht und übergreifend verwendet werden; und die Greenscreen-Benutzeroberfläche wirkt für heutige Benutzer aus der Zeit gefallen.
Es ist also aus verschiedensten Gründen wichtig, Geschäftsprozesse einer Legacy-Anwendung zu modernisieren – ohne gleich die komplette Anwendung in den Ruhestand zu schicken.
Warum sollten IBM i-Lösungen modernisiert werden?
Über Jahre hinweg bewährte IBM i-Lösungen erfüllen gerade exakt die geschäftskritischen Anforderungen und bilden die Abläufe im Unternehmen gezielt ab. Allerdings werden in der Regel daneben auch zusätzlich neue Windows- oder Web-basierte Anwendungen eingesetzt, die auf modernen Technologien beruhen.
Der Versuch, eine Legacy-Anwendung mit einer neuen Applikation zu verbinden, führt oft zu Integrationsproblemen – dadurch ist die Möglichkeit zum unternehmensweiten Datenaustausch natürlich begrenzt. Um IBM i-Anwendungen im erweiterten IT-Umfeld weiterhin effektiv zu nutzen, sollten diese modernisiert werden.
Hier sind weitere wichtige Gründe, warum eine Modernisierung von IBM i-Anwendungen sinnvoll ist:
- Die Wartungskosten für Legacy-Anwendungen sind zu hoch.
- Mangel an qualifizierten Fachkräften, die noch die „alten“ Programmiersprachen wie RPG oder COBOL zur Pflege des Quellcodes beherrschen.
- Die Legacy-Anwendung lässt sich nur schwer aktualisieren.
- Schwierigkeiten bei der Integration mit anderen Anwendungen.
- Unfähigkeit zur Skalierung, um wachsende Geschäftsanforderungen zu erfüllen.
Vorteile der Modernisierung von Legacy-Anwendungen:
- Vereinfachter Datenzugriff.
- Anpassung von Legacy-Anwendungen zur Unterstützung neuer Geschäftsmodelle.
- Vereinfachte Wartung.
- Möglichkeit zur Erstellung neuer Benutzeroberflächen für die Anwendung.
- Verbesserung der Anwendungsqualität.
- Senkung der Wartungskosten
- Beschleunigung der Entwicklungszeiten
- Größere Anwender- und Kunden-Akzeptanz
Was wird bei IBM i-Lösungen modernisiert?
Die Anwendungsarchitektur besteht aus drei Schichten: der Präsentationsschicht, der Geschäftsschicht und der Datenschicht. Eine Modernisierung kann auf allen Ebenen oder nur auf bestimmten Ebenen erfolgen. Bei IBM i-Programmen sind oft alle drei Schichten in einem einzigen Quellcode eingebunden.
Präsentationsschicht (Presentation layer)
Die Präsentationsschicht ist das, was der Benutzer beim Arbeiten mit der Anwendung sieht. Die Modernisierung dieser Schicht ermöglicht es, die Greenscreen-Anzeige durch eine grafische Darstellung zu ersetzen, wie man sie aus Windows- oder Web-basierten Anwendungen gewohnt ist. Dies lässt eine Legacy-Anwendung wie eine moderne Anwendung wirken, ohne dass sich die Logik ihrer Funktion ändert.
Geschäftsschicht (Business Layer)
Die Geschäftsschicht implementiert die programmtechnischen Aspekte der Anwendung, einschließlich Algorithmen und Datenvalidierung. Die Modernisierung auf dieser Ebene erfordert das Extrahieren von Geschäftsregeln und deren Integration in eine separate Business-Regel-Engine oder die Umwandlung von Anwendungsfunktionen in z. B. Webservices. Dadurch sind Geschäftsregeln auch außerhalb der Legacy-Anwendung nutzbar, und die Präsentations- und Datenschicht werden voneinander getrennt.
Datenschicht (Data Layer)
In zahlreichen IBM i-Programmen sind Datenprozesse, Geschäftsregeln und Algorithmen oft miteinander vermischt. Die Modernisierung der Anwendung auf dieser Ebene ermöglicht die Trennung von Datenbank und Anwendung sowie die Schaffung neuer Datenzugriffsmechanismen. Dadurch wird der Datenzugriff für andere Anwendungen erleichtert und zugleich abgesichert.
Warum müssen bei der Modernisierung von Altsystemen die kritischen Geschäftsprozesse erhalten bleiben?
Legacy-Anwendungen sind weiterhin relevant und zuverlässig. Sie wurden an die Bedürfnisse des Unternehmens angepasst und bieten bewährte Geschäftsfunktionen. Diese Anwendungen haben den Test der Zeit bestanden und erfüllen weiterhin wichtige Geschäftsaufgaben. Losgelöst vom stetigen technologischen Wandel sichern sie kritische Geschäftsprozesse ab. Neue Anwendungen zu erstellen, die dieselbe Funktionalität bieten, ist ein sehr schwieriger, zeitaufwändiger und risikoreicher Prozess.
Gründe für die Beibehaltung von Legacy-Anwendungen:
- Sie sind zuverlässig.
- Legacy-Anwendungen unterstützen geschäftskritische Prozesse.
- Sie verwalten Geschäftsprozesse, die einen Wettbewerbsvorteil bieten.
- Die Kosten für die vollständige Ersetzung einer Legacy-Anwendung sind zu hoch und die Risiken nicht überschaubar.
Welche Techniken werden zur Modernisierung von IBM i-Lösungen verwendet?
Es gibt verschiedene Techniken zur Modernisierung von IBM i-Lösungen. Sie ermöglichen die Modernisierung einzelner Anwendungsebenen oder der gesamten Anwendung. Um beste Ergebnisse zu erreichen, empfiehlt sich die Kombination mehrerer Modernisierungstechniken. Im Folgenden sind einige Techniken zur Modernisierung von Legacy-Anwendungen aufgeführt.
Screen Scraping
Diese Technik ermöglicht es, den alten Bildschirm in einem neuen grafischen Format als Anwendung oder im Browser darzustellen. Die Logik der alten Anwendung bleibt unverändert.
Hinzufügen einer neuen Benutzeroberfläche
Bei dieser Methode wird der auf dem Bildschirm verfügbare Inhalt erweitert und die Darstellung einzelner Bildschirmbereiche verändert. Dies ist durch Skripte möglich, die sowohl die Bildschirme als auch deren Zweck und Inhalt erkennen und so den ursprüngliche Bildschirminhalt in eine neue Darstellung umwandeln können – die Prozesse und Ereignisse der Legacy-Anwendung bleiben dabei natürlich unverändert.
Bereitstellung von Geschäftsfunktionen als aufrufbare Dienste
Diese Modernisierungsmethode untersucht Legacy-Anwendungen und definiert die Geschäftslogik. Anschließend werden Webservices erstellt, die die Geschäftslogik implementieren. Auf diese Weise sind Geschäftsfunktionen aus Legacy-Anwendungen von anderen Programmen durch den Aufruf eines Webservices nutzbar (diese Funktionalität ist z. B. bei der Anbindung eines externen Webshops notwendig).
Migration der Anwendung
Die Migration ist eine Technik, die die Übertragung von Funktionalitätsblöcken einer Legacy-Anwendung auf andere Ebenen ermöglicht. Eine Anwendungs-Migration aktualisiert also die Geschäftsprozesse und nicht die gesamte Anwendung. Es ist möglich, nur bestimmte Funktionen zu migrieren und kritische Funktionen beizubehalten.
Re-Hosting oder Outsourcing der Anwendung
Das Re-Hosting gestattet die Migration von Legacy-Anwendungen auf eine andere Plattform, wobei sie ohne Änderungen weiterarbeiten. Mit der Re-Hosting-Technik kann auf alte Hardware und Betriebssysteme verzichtet werden.
Das Outsourcing überträgt den Betrieb, die Wartung und die Aktualisierung der Anwendung auf ein anderes Unternehmen.
Neuschreiben der Anwendung
Bei diesem Ansatz programmieren Entwickler neue Anwendungen mit modernen Technologien, wobei die Funktionen des Legacy-Systems als Vorlage dienen. Kritische Legacy-Funktionen bleiben mit dieser Technik erhalten, aber werden mit moderner Technologie umgesetzt. Sie ist jedoch mit einem immensen Zeit- und Kostenaufwand verbunden.
Ersetzen der Anwendung
Das Ersetzen der Anwendung bedeutet, die Legacy-Anwendung abzuschaffen und eine neue zu erwerben. Die Geschäftsfunktionen aus der Legacy-Anwendung werden nicht beibehalten, sondern es erfolgt nur Übernahme der die Daten in die neue Anwendung. Allerdings stellen sich in diesem Zusammenhang immer zwei elementare Fragen: „Inwieweit ist die neue Software überhaupt in der Lage, die geschäftskritischen Prozesse im Sinne Ihres Unternehmens so abzubilden, wie es die Legacy-Software kann?“ und „Ist es im Endeffekt nicht weitaus kostengünstiger, die bestehende Anwendung zu modernisieren?“
Wie modernisiert man IBM i-Lösungen am besten?
Wenn Sie sich dafür entscheiden, die bewährte IBM i-Software weiterzuverwenden – und dafür gibt es nun wirklich viele gute Gründe – und zu modernisieren, gibt es natürlich diverse Wege.
Der einfachste und wahrscheinlich letztendlich auch kostengünstigste, effizienteste und zukunftssicherste Weg liegt im Einsatz hochmoderner, vielschichtiger und flexibler Entwicklungs- und Modernisierungstools, die über einen tiefgreifenden Erfahrungsschatz sowohl im IBM i-Bereich als auch im Bereich der aktuellen „modernen“ Technologien verfügen.
Solche Tools vereinfachen die Programmierung, indem sie jede Form der Technologie im Rahmen einer einzigen, leicht erlernbaren Entwicklungs- und Programmiersprache verfügbar machen. Sie müssen kein Spezialwissen in den unterschiedlichsten Teildisziplinen moderner Programmierung erwerben – Sie werden automatisch zum Full-Stack-Entwickler, weil Sie mit einer einzigen Sprache sowohl Frontend- als auch Backend-Programmierung durchführen und auch die Datenbank-Ebene mit einbeziehen.
Ein Anbieter solch leistungsstarker plattformübergreifender Tools zur Migration und Modernisierung von Legacy-Anwendungen ist LANSA. Mit diesen Tools können Sie Ihre Anwendungen problemlos aktualisieren, portieren oder wiederverwenden, ohne sie neu schreiben zu müssen. LANSA bietet Lösungen, die einfach zu bedienen sind – Sie entwickeln mit einer einzigen Sprache alles von IBM über Windows bis hin zu Web, unabhängig von Betriebssystem oder Endgerät.
Dies sind die Tools, die LANSA bereitstellt:
- aXes ermöglicht die Modernisierung von Anwendungen auf Präsentationsebene und die einfache Umwandlung von Legacy-5250-Anwendungen in Webseiten ohne den Einsatz von Code.
- Visual LANSA ermöglicht die Erstellung neuer, funktionsreicher Webanwendungen mit vollständiger Integration in IBM i.
- RAMP ermöglicht die Erstellung neuer Anwendungen von Grund auf, während die Logik der Legacy-Anwendungen genutzt und neue Funktionen hinzugefügt werden.
- LongRange ermöglicht die Erstellung mobiler Anwendungen für IBM i-Lösungen, wobei alle Funktionen moderner mobiler Geräte wie Kamera, Scanner, GPS usw. genutzt werden.