In „IBM i Shops“ versehen sehr viele alte Anwendungen ihren Job. Sie sind über die Jahrzehnte gewachsen und tragen enorm viel firmenspezifisches Know-how und Logik in sich. Diese Anwendungen neu zu schreiben, erweist sich oft als ein sehr schwieriges und teures Unterfangen. Markus A. Litters, Inhaber der edvberatung.litters, verdeutlicht im Interview mit dem Midrange Magazin, wie sich Altanwendungen in einer Web- oder Microservices-Umgebung weiterverwenden lassen.

MM: Warum haben sich Web Services erst in den letzten Jahren so verbreitet?

Litters: Web Services – kurz WS – gibt es bereits seit Ende der 1990er-Jahre, und ich habe bei meinen Kunden im IBM i-, Windows- und Linux-Umfeld bereits ab 2004 WS implementiert. Richtig los ging es allerdings erst in den letzten Jahren, seitdem sich mobile Geräte und Apps immer stärker verbreitet haben, die Anwender immer mehr Echtzeit fordern, immer mehr Cloud-Lösungen nutzen und immer mehr Entwickler verstanden haben, dass sie mit WS weit mehr erreichen können, als „nur“ Daten auszutauschen.

MM: Welche Vorteile zeichnet eine Microservice-basierte Architektur aus, und was ist der Unterschied zu einer serviceorientierten Architektur, also einer SOA?

Litters: Bei beiden Begriffen muss man zunächst aufpassen, denn es geistern zahlreiche Definitionen durchs Netz und viele verstehen völlig unterschiedliche Dinge darunter. Aus meiner Sicht sind Microservices, kurz MS, der Ansatz, der eine SOA überhaupt erst sinnvoll möglich macht. Das heißt, bei einem echten MS handelt es sich um ein Stück Software, das alles beinhaltet, um eine bestimmte Funktion auszuführen. Dabei ist der MS so neutral aufgebaut, dass er zustandslos arbeitet und in beliebiger Anzahl auf verschiedenen Servern parallel betrieben werden kann. Der Vorteil einer solchen Architektur ist ganz klar die Modularisierung der Anwendungen, die dadurch erheblich flexibler und den Anforderungen unserer Zeit gerechter werden. Außerdem ist diese Form der Entwicklung ausfallsicherer, skalierbarer sowie leichter zu warten und weiterzuentwickeln, was unterm Strich die Gesamtkosten einer Anwendung senkt.

MM: Was haben Container mit Web Services und Microservices zu tun?

Litters: Die Container-Technologie, allen voran Docker, ermöglicht die einfache Veröffentlichung von WS und MS. Daher bieten sie sich auf den „Nicht IBM i“-Plattformen zum Betreiben dieser Container an. Außerdem haben sie den großen Vorteil, dass sie alles mitbringen, was ein Service zum Laufen braucht und die darin ablaufenden Prozesse abschirmen. Fast wie bei der IBM i, wenn man eine ILE-Bibliothek installiert…

Markus A. Litters, Inhaber der edvberatung.litters. „Oft steckt gerade in 5250-Dialoganwendungen viel firmenspezifisches Know-how, das über Jahrzehnte gewachsen ist und nur mit immensem Aufwand um- oder neu geschrieben werden kann“; Quelle: edvberatung.litters

MM: Welche Rolle spielt IBM i im Bereich der Web Services, Microservices und Cloud-Lösungen?

Litters: Leider noch eine recht kleine, wobei die Plattform ideal für dieses Thema geeignet ist. Denn sie bringt alles mit, was auf den anderen Betriebssystemen derzeit erst mühsam nachentwickelt wird: zum Beispiel Container, Skalierbarkeit und Sicherheit. Durch die Öffnung von IBM hin zu Open Source-Projekten, die gerade mit dem im März 2018 bereitgestellten RPM noch intensiviert wurde, ist es ein Leichtes, zum Beispiel unzählige Node Services unter IBM i direkt laufen zu lassen und mit vorhandenen Anwendungen zu integrieren.

MM: Wie lassen sich bestehende RPG- und Cobol-Programme in die „Neue Welt“ integrieren?

Litters: Schaut man sich das ILE-Konzept an, stellt man schnell fest, dass hier bereits eine Art MS-Infrastruktur seit Mitte der 1990er-Jahre existiert. Dabei besteht eine Anwendung nicht mehr aus einem Programm mit 30.000 Zeilen, sondern aus vielen kleinen Modulen, die in Serviceprogrammen zusammengefasst sind und konkrete Aufgaben erfüllen. Das entspricht genau einem MS. Bereits mit IBM-Bordmitteln können so SOAP- und REST-Services basierend auf vorhandenen RPG-/Cobol-Modulen bereitgestellt und genutzt werden. Hat man das Thema Modularisierung bisher ausgesessen, so macht es jetzt mehr denn je Sinn, sich damit zu beschäftigen. Reichen die Bordmittel von IBM nicht aus, weil sie zum Beispiel zu langsam, zu umständlich oder nicht so einfach für RPG-/Cobol-Entwickler zu nutzen sind, so gibt es Alternativen wie beispielsweise IceBreak.

MM: Wie kann man in einem „Microservice-Kontext“ noch 5250-Dialoganwendungen nutzen?

Litters: Oft steckt gerade in 5250-Dialoganwendungen viel firmenspezifisches Know-how, das über Jahrzehnte gewachsen ist und nur mit immensem Aufwand um- oder neu geschrieben werden kann. Hier bietet sich zum Beispiel die Möglichkeit des virtuellen 5250-Emulators von IceBreak an, der es möglich macht, per RPG-/Cobol Dialoganwendungen im Batch zu bedienen. Dabei empfängt das Programm beispielsweise JSON- oder XML-Daten, ruft das passende Modul auf, gibt auf dem Bildschirm eine Kunden- oder Artikelnummer ein, drückt Enter sowie Funktionstasten und greift Ergebnisse aus Feldern der Ausgabemasken ab. Diese werden mit den komfortablen IceBreak JSON-/XML-Funktionen in ein Antwortdokument gepackt und an den Aufrufer zurückgesendet. Genauso kann man damit auch Web Service Clients ganz einfach erstellen