23.11.2022 | Peter Kindiger

Was heißt Merlin eigentlich?

Zauberer haben immer etwas dämonisches an sich – auch wenn Sie wie Merlin gegen das eigentliche Böse kämpfen. Nimmt man das neue Anwendungsmodernisierunsgtool „Merlin“, so ist der Name erstmal nur eine Abkürzung für „Modernization Engine with Lifecycle Integration“. Dämonisch mag aber für den ein oder anderen Entwickler allerdings der damit verbundene „Kulturwandel“ in seiner Arbeit sein.
Dr. Wolfgang Rother, Senior Technical Specialist Power bei IBM Technology Sales, erklärte Peter Kindiger Merlin so:

  1. Das Tool wird über einen Browser gestartet und benutzt, kompiliert wird unter IBM i.

Das IBM i Tools für IBM i nicht unbedingt unter IBM i laufen müssen, ist dagegen den meisten bekannt, denn das tut z.B. RDi auch nicht. Aber nachdem man sich an RDi gewöhnt hat, fragt man sich, ob Merlin das nun in Zukunft ablösen wird. Die Antwort in den FAQs zu Merlin lautet: „Nein!“. Versucht man allerdings eine Cloudlösung einzusetzen, was durchaus auch mit RDi möglich wäre, erscheint aber der Ansatz über Browser geeigneter.

  1. Die Sourcen liegen im IFS.

Die IBM i Compiler können schon seit längerem Code aus Streamfiles kompilieren, doch vielen ist ein Source Physical File immer noch vertrauter. Streamfiles haben gegenüber Member aber den unschlagbaren Vorteil, dass sie auch notfalls mit einem simplen Notepad Editor unter Windows bearbeitet werden könnten. Der größte Vorteil liegt aber darin, dass man nun alle vorhandenen Anwendungsentwicklungstools ebenfalls benutzen könnte, wie z.B. Microsoft‘s VSCode.

  1. Build statt Compile

In C/C++ steht ein „make“ für die Anwendungsentwicklung zur Verfügung. Dagegen besitzt IBM i – ausgenommen Third Party Lösungen – kein derartiges Build Tool für RPG und COBOL. Mit dem OpenSource „Better Object Builder“, liebevoll als „BOB“ bezeichnet, ändert sich das. BOB benutzt dabei das Build Tool GNU Make und zur Versionskontrolle Git. Es läuft in PASE und mit den über „Regeln“ erzeugten Makefiles werden native IBM i Objekte erzeugt. BOB kompiliert dabei nur Objekte, die neu erzeugt werden müssen, z.B. aus neuem oder geändertem Quellcode. Es versteht sogar die Beziehungen zwischen Ihren Objekten, d.h. wenn sich ein Objekt ändert, wird alles, was von ihm abhängt, ebenfalls neu kompiliert. Es kann zudem in andere Tools, wie RDi und VSCode, integriert werden. Dann wird aus einem einzelnen Befehl zum Kompilieren des gesamten Codes eines Projektes, wie in Merlin umgesetzt, ein einzelner Klick.

 

Das was für den einen eventuell ein „Kulturschock“ ist, sehen andere als normal an, wie z.B. junge Programmierer, die das vielleicht auch nicht anders kennengelernt haben. Somit kann man durch den Einsatz solcher Tools seine Chancen für die Nachwuchsgewinnung sogar erhöhen.

VSCode, BOB und git stehen dabei kostenfrei zur Verfügung. „Nur“ die Integration und das Einrichten muss man selbst erledigen. Wer dagegen eine integrierte und sogar erweiterte Lösung mit Support sucht, der sollte sich auf jeden Fall Merlin anschauen. Dabei wird die browser-basierte und zu Visual Studio Code kompatible Thea IDE verwendet.

Zusätzlich zu den bisher beschriebenen Werkzeugen sind in Merlin auch weitere Softwarekomponenten für die professionelle Programmierung enthalten. Dazu zählen u.a.

  • der Arcad Software Builder für die Vereinfachung des Build Prozesses
  • der Arcad RPG Formatter zur Konvertierung von Fix- zu Free-format RPG
  • der Arcad Observer, um Zusammenhänge und Beziehungen zwischen den Objekten zu finden
  • und eine CI/CD Pipeline powered by Arcad für einen automatisierten Staging Prozess von der Entwicklung bis hin zum Deployment in die Produktivumgebung.

Insgesamt ist Merlin ein professionelles Entwicklungstool, das in einer privaten Red Hat OpenShift Umgebung heraus genutzt werden kann.

Zum ersten Kennenlernen bietet IBM bei Interesse Merlin in einer Sandbox an, die eine Woche lang kostenfrei genutzt werden kann.
Wer daran Interesse hat oder noch weitere Informationen hierzu benötigt kann uns jederzeit gerne kontaktieren!