Wie wichtig sind Opensource-Tools bzw. -Module für die Software-Modernisierung im Umfeld der IBM i? Eine Antwort auf diese Frage gibt Dr. Wolfgang Rother, Senior Technical Specialist Power bei IBM Technology Sales (DACH).
Man könnte die Einstiegsfrage auch ein wenig umformulieren zu: Können ohne Einsatz von Open Source Komponenten bestehende AS/400 Anwendungen modernisiert werden? Die Antwort lautet: Im Prinzip ja, aber …
Es wurde in der „neuen Fragestellung“ bewusst die AS/400 und nicht IBM i verwendet, da die meisten zu modernisierenden Anwendungen auf AS/400-Systemen entstanden sind. Man muss allerdings immer hinterfragen, was ein anderer unter „Modernisierung“ versteht. Denn es gibt verschiedene Zielrichtungen und Modernisierungsansätze.
Die Nutzung von ILE- statt OPM-Compilern mit auf Free Format umgewandelten Quelldateien, ist höchstens der Beginn eines Modernisierungsprojektes. Aber auch hier kann Open-Source bereits unterstützen. Tools wie der „Better Object Builder“, kurz BOB, kann beim Umwandeln von Source Physical Files in IFS-Quelldateien helfen, wandelt allerdings nicht Fix-Format-RPG in Free-Format um. Es bringt aber eine Art „make“ für IBM i Anwendungsprojekte mit, was gerade bei größeren Projekten hilfreich sein kann. Dagegen wäre „git“ ein weiteres nützliches Open-Source-Produkt für verteilte Versionsverwaltung. Selbst eine kostenfreie Entwicklungsumgebung steht mit VSCode zusammen mit „Code for i“ und anderen integrierbaren IBM i Tools zur Verfügung. Alles Open-Source!
Jeder der mit Open-Source zu tun hatte weiß, dass damit häufig nicht alle Wünsche erfüllt werden und Unterstützung nur in Form eines Community Supports existiert. Deshalb würde viele Experten beispielsweise RDi nicht gegen VSCode tauschen wollen. Andererseits fallen bei dem Open-Source-Tool erstmal keine Anschaffungskosten an und junge Entwickler kennen es bereits aus ihrer Ausbildung. So gesehen wird Nachwuchsgewinnung mit VSCode vielleicht einfacher.
Sprachen wie Python oder Node.js können ebenfalls hilfreich in Modernisierungsprojekten sein. Zur Automatisierung von immer wiederkehrenden Aufgaben können statt CL-Programmen auch Bash-Skripte verwendet werden – mit db2util sogar inklusive Datenverarbeitungsmöglichkeiten. Optionen also, die jungen Entwicklern ebenfalls bekannt sind.
Wer Java einsetzen will, kann neuere JDKs für IBM i als OpenJDK Version erhalten, usw. Selbst der IBM i Webserver (powered by Apache) und die Secure Shell Implementierung basieren auf Open Source.
Bei der Verwendung von Open-Source ist es empfehlenswert mit 5733-SC1 die Secure Shell, kurz ssh, unter Berücksichtigung von Sicherheitsaspekten einzurichten und entsprechende ssh-Clients zu verwenden, da diese, wie die Editoren „nano“ und „vim“, nicht für den 5250-Datenstrom konzipiert wurden. Daher sind QP2TERM und QShell sind eher als IBM i Optionen zu sehen, die nicht immer geeignet sind. Die Nutzung des Integrierten Filesystems ist mit bash-Befehlen auch einfacher als CL, wie beispielsweise Suchen und rekursives Löschen.
Zusammenfassend kann man sagen, Modernisierung ohne Open-Source ist möglich. Ob auch sinnvoll, hängt vom Ziel ab, was man erreichen will bzw. welche Programmiersprachen, Technologien, Tools usw. in der Entwicklung verwendet werden sollen. Wie so oft heißt es also auch in diesem Kontext: „It depends!“
Dr. Wolfgang Rother, Senior Technical Specialist Power bei IBM Technology Sales (DACH).
„IBM i OSS Docs“ bieten einen guten Einstieg in Open Source Technologien mit IBM i.