Wann haben Sie zuletzt über die Frage „Wie planen Sie Ihre Jobs auf IBM i?“ nachgedacht? In vielen Fällen wird die Antwort auf den Befehl WRKJOBSCDE – also den Job Scheduler des Systems – hinauslaufen. Vielleicht nutzen Sie aber auch eine Software eines Drittanbieters, weil Ihnen die Funktionalität des Basis-Schedulers nicht genügt.
Die große Alternative von IBM dazu heißt „Advanced Job Scheduler for i“ (im Folgenden auch AJS abgekürzt) und existiert seit vielen Jahren. Im Zuge der „IBM i Simplification“ im Juni 2022 wurde der Preis dieses vormals kostenpflichtigen Lizenzprogramms auf 0 € reduziert. Es ist also bereits in Ihrer IBM i-Lizenz enthalten!
Im Oktober 2023 wurde die Prüfung des Lizenzschlüssels durch PTFs entfernt, sodass das Produkt nun auch ohne Kontakt zu Ihrem Businesspartner und Bestellung nutzbar ist. Das gilt für die IBM i-Releases von 7.1 bis 7.6.
Nachdem Sie nun wissen, dass Ihnen durch die Verwendung dieses Produktes keine Lizenzkosten entstehen, fragen Sie sich vielleicht, warum Sie sich mit dem AJS beschäftigen sollten. Um Ihnen die Beantwortung dieser Frage etwas zu erleichtern, möchte ich Ihnen die Unterschiede zwischen dem Basis-Scheduler und dem AJS aufzeigen.
Dazu betrachten wir die folgenden Bereiche:
Jobplanung
Beginnen wir mit einem vermeintlich einfachen Problem: ein geplanter Job soll mehrmals am Tag ausgeführt werden. Mit dem Basis-Scheduler können Sie diese Anforderung nicht nativ umsetzen. Das verleitet dazu, diese Funktionalität über Umwege (z. B. mehrere Scheduler-Einträge für die verschiedenen Uhrzeiten) nachzubauen, was das Fehlerpotential erhöht und nicht gerade zur Übersichtlichkeit beiträgt. Auch eine Ausführung alle n Minuten können Sie mit Bordmitteln nicht realisieren. Anspruchsvoller wird es dann, wenn ein Job nur an bestimmten Tagen, wie beispielsweise dem ersten Arbeitstag im Monat oder nach einem individuellen Kalender laufen soll. Diese Anforderung haben Sie daher vielleicht im auszuführenden Programm selbst implementiert, aber auch hier erkennen Sie, dass dies nicht zur Übersichtlichkeit beiträgt und die Wartbarkeit der Jobplanungseinträge erschwert.
Abhängigkeiten
Gravierende Unterschiede zeigen sich im Bereich der Abhängigkeiten. Einfaches Beispiel: zuerst soll JOB1 ausgeführt werden, dann JOB2 und zum Schluss JOB3. Diese Umsetzung ist mit dem Basis-Scheduler nicht realisierbar. Anwender, die vor diesem Problem stehen, lösen dies meist auf zwei Arten:
- Sie erstellen für jeden Job einen eigenen Eintrag und setzen die Startzeit der Jobs auf das vermutete Ende des Vorherigen (meist noch inkl. eines Puffers). Damit der zweite Job nicht vor Beendigung des Ersten losläuft, muss eine programmatische Abfrage eingebaut werden. Wenn der erste Job nun früher fertig ist, wird Zeit verschenkt, in der der zweite Job eigentlich schon laufen könnte.
- Sie erstellen einen Eintrag im Job Scheduler und rufen am Ende ihres Programms das nächste auf. Das vorher angesprochene Problem der „verschenkten“ Zeit wurde eliminiert, aber ohne Programmkenntnisse weiß keiner genau, was wann passiert und wie der Jobablauf ist.
Weitere Abhängigkeiten, die Sie eventuell bei Jobausführung prüfen möchten, könnten sein:
- Existenz eines Objekts
- Vorhandensein von Sätzen in einer Datei
- Status eines Subsystems
- Parallele Ausführung von JOB1 und JOB2, Start von JOB3 erst dann, wenn beide Vorgänger fertig sind
All diese Punkte können Sie mit dem AJS prüfen und umsetzen – und so aus Ihren Anwendungsprogrammen herauslösen.
Quelle: WellmannKalender
Eine weitere, sehr nützliche Funktionalität im AJS sind Kalender. Insgesamt stehen Ihnen drei verschiedene Kalendertypen zur Verfügung: Arbeitskalender, Feiertagskalender und Finanzkalender. Dadurch lassen sich beispielsweise Feiertage und arbeitsfreie Tage zentral hinterlegen und Ihre Jobs werden zu diesen Zeitpunkten (nicht) ausgeführt. Mithilfe der Finanzkalender können Sie Quartale oder andere beliebige, in Ihrem Unternehmen verwendete Zeiträume definieren. Dies bietet sich für Jobs an, die nur zu bestimmten Tagen im Quartal (z. B. am ersten Samstag) ausgeführt werden sollen. Die Pflege der Kalender erfolgt bequem über den Navigator for i und ist sehr leicht durchführbar.
Quelle: WellmannBenachrichtigungen und Berichtserstellung
Auch hier findet sich ein vermeintlich einfaches Beispiel, dass ohne AJS einen größeren Aufwand verursachen könnte: die Erstellung von Berichten und das Versenden von Benachrichtigungen. Mit dem AJS können Sie bei Jobende (normal / abnormal) E-Mails versenden. Die Empfänger können Sie individuell definieren, ebenso können Sie einen Anhang mitschicken und so Joblogs oder andere Spooldateien erhalten.
Darüber hinaus können Sie für jeden Empfänger spezifische Arbeitszeiten („On-Call-Zeitplan“) eintragen und so erreichen, dass die Berichte nur bei den Kollegen laden, die an diesem Tag auch wirklich arbeiten.
Sie möchten die Ergebnisse eines Jobs, der zwar täglich läuft, nur an bestimmten Tagen erhalten? Auch das ist mit dem AJS möglich.
Protokollierung
Zu jeder Jobsausführung werden umfangreiche Protokolle generiert, die es Ihnen erleichtern, den Jobablauf und dessen Verarbeitung genau nachzuvollziehen. Der AJS speichert diese Informationen für den von Ihnen gewünschten Zeitraum ab und ermöglicht dadurch auch einen Blick in die Vergangenheit. Falls Sie also nach einer Programmänderung wissen möchten, ob die Nachtverarbeitung nun schneller als vorher läuft – ein Blick in das Protokoll gibt Auskunft. Alle Ihnen von anderen Stellen her bekannten Informationen lassen sich so abrufen, z. B. Nachrichten-ID, Programm, Nachricht oder der Hilfetext zur Nachricht.
Quelle: WellmannInstallation
Die Installation des AJS nehmen Sie am einfachsten über einen Imagekatalog vor. Das dafür notwendige Datenträgerimage erhalten Sie im IBM ESS als Download. Wählen Sie hier unter „Meine berechtigte Software“ den Punkt „Software-Downloads“ und dann „IBM i“ als Kategorie sowie ein Release. In der unteren Tabelle zur Produktauswahl haken Sie das Produkt „5770-SS1“ an und klicken auf „Weiter“.
Anschließend bestimmen Sie Ihre Sprache und anschließend die Produktoption „5770_JS1_IBM_i_720_GROUP1“.
Quelle: WellmannBitte lassen Sie sich an dieser Stelle nicht verunsichern – obwohl in der Bezeichnung des Downloads von Release 7.2 die Rede ist, handelt es sich doch um die aktuelle Version des AJS.
Nachdem Sie das Lizenzprogramm installiert haben, bietet es sich an, den PTF-Stand Ihrer Maschine zu aktualisieren. Dies gilt insbesondere für die HTTP-Gruppe und den TR-Stand, da hier die Verbesserungen des Navigators enthalten sind.
Bei der Bestimmung der PTFs helfen Ihnen die folgenden Links:
- Allgemeine PTF-Informationen zum Navigator for i: https://www.ibm.com/support/pages/node/6486565
- Details zu den Neuerungen im Navigator for i: https://www.ibm.com/support/pages/node/6520030
Die Coverletter enthalten auch ab und zu Hinweise zur PTF-Installation, wenn der AJS verwendet wird. Sie sollten diese daher aufmerksam lesen und die beschriebenen Anweisungen befolgen.
Ausblick
Ich hoffe, Sie haben nun einen Einblick erhalten können, wie der AJS Ihre Arbeit erleichtern kann. In den nächsten Teilen widmen wir uns der eigentlichen Arbeit mit dem Advanced Job Scheduler, konfigurieren ihn und erstellen die ersten geplanten Jobs.
Wenn Sie möchten, können Sie sich vorher schon einmal einen Überblick verschaffen und sich im Navigator umschauen. Sie finden den AJS dort unter „Arbeitsmanagement“.
Quelle: WellmannBis dahin!
Der Autor Tom Wellmann ist Software-Entwickler und schreibt regelmäßig für den MIDRANGE Deep Dive.
Sie erreichen ihn unter:
Tom Georg Wellmann – IT-Beratung und -Dienstleistungen
Bonner Str. 459a
50968 Köln
E-Mail: info@tomwellmann.de
Telefon: +49 (0)221 54813560,
Web: www.tomwellmann.de
