SAP lieferte schon mit den ersten Versionen von SAP R/3 einen integrierten Scheduler aus. Dieser besaß im Wesentlichen einen zeitgesteuerten Algorithmus. Mit dem Scheduler ließen sich innerhalb des lokalen Systems Hintergrundprozesse, das heißt Prozesse ohne Interaktion der Anwender, starten und durchführen. Typische Aktivitäten für eine Hintergrundverarbeitung sind periodisch wiederkehrende Abläufe, um etwa ein Buchungssystem zu aktualisieren, oder zeitaufwändige Reports zu erstellen, die große Datenmengen analysieren.

Auch die automatische Umschaltung vom dialogorientierten Tagbetrieb zum Nachtbetrieb, in dem vorwiegend Hintergrundprozesse ablaufen, erfolgte über den SAP-eigenen Scheduler. Darüber hinaus machte SAP es möglich, vorkonfigurierte Verfahren für Hintergrundprozesse als so genannte Jobtemplates auszuliefern. Beispiele dazu finden sich in den neueren Versionen von SAP R/3 bis einschließlich dem Release 4.6.
Scheduling von ABAP-basierten Prozessen
Seit dem SAP R/3 Release 3.1I bietet SAP die Schnittstelle eXternal Batch Processing (XBP) an. SAP griff hiermit die Wünsche derjenigen Kunden auf, die einen externen Scheduler speziell für ihre Geschäftsprozess-Anwendungen – sowohl von SAP als auch Nicht-SAP – verlangten. Damit wurde den Scheduler-Lösungen von SAP-Partnern ermöglicht, Jobs in SAP-Lösungen weitgehend zu kontrollieren. Die Kontrolle umfasst die Prozesse, Jobs anzulegen, zu starten, abzubrechen, zudem Ausgabe- und Fehlerdateien zu lesen und weiter zu verarbeiten.

Diese XBP-Schnittstelle hat über mehrere Jahre den Ansprüchen der Kunden und Partner genügt. Jedoch entstanden weitergehende Anforderungen, wonach Scheduler einerseits das so genannte Intercept (Unterbrechung) anwenden und andererseits hierarchische Abhängigkeiten, so genannten Vater-Kind-Beziehungen, berücksichtigen sollten. Beide Forderungen ließen sich mit dem SAP Web Application Server 6.20 in einer erweiterten Version der XBP-Schnittstelle erfüllen. Das Intercept-Verfahren ermöglicht dem externen Scheduler, die Freigabe manuell angelegter Jobs in einer SAP-Lösung zurück zu nehmen und diese erst weiter zu verarbeiten, wenn es in geschäftlicher Hinsicht oder nach Lastgesichtspunkten in der Systemlandschaft sinnvoll ist. Dieser Fall tritt etwa auf, wenn Systemressourcen nicht zur Verfügung stehen und die vorgesehenen Jobs dann die Antwortzeiten oder den Datendurchsatz von in Echtzeit ablaufenden Programmen zu stark beeinträchtigen. Die Vater-Kind-Funktion von XBP liefert Information darüber, ob ein übergeordneter Job – der “Vaterjob” – mehrere nachrangige “Kind-Jobs” erzeugt hat. Dies ist häufig der Fall, um die Last bestmöglich zu verteilen. Die Kind-Jobs lassen sich jedoch nicht zeitversetzt abarbeiten, sie müssen zur gleichen Zeit gemeinsam mit dem Vater-Job als eine logische Einheit überwacht und gesteuert werden.
SAP NetWeaver an Scheduling gekoppelt
Im Gegensatz zu einem jeweils auf die einzelnen Komponenten bezogenen Scheduling in SAP R/3 wird mit der Einführung von SAP NetWeaver ein zentral gesteuertes Job Scheduling immer wichtiger. Auf der Integrationsplattform SAP NetWeaver müssen Business-Prozesse automatisiert über alle Komponenten ablaufen. Moderne Geschäftsprozess-Lösungen wie SAP NetWeaver Business Intelligence (SAP NetWeaver BI) und mySAP Customer Relationship Management (mySAP CRM) arbeiten mit Massen von Daten, die in der Systemlandschaft gezielt gesucht, ausgewertet und verdichtet werden. Um diese Lösungen zu optimieren, unterstützt SAP NetWeaver auch entsprechende Scheduling-Funktionalitäten.

Mit den Job-Scheduling-Funktionen, welche mit SAP NetWeaver `04 ohne zusätzliche Kosten ausgeliefert werden, lassen sich alle von SAP bereitgestellten Lösungen zentral steuern. Die aktuelle Version von SAP NetWeaver bietet den Kunden folgende Vorteile: ABAP-Programme lassen sich für die gesamte Systemlandschaft zentral planen, starten und überwachen. Dies trägt im Verhältnis zum dezentralen Scheduling dazu bei, die TCO in Abhängigkeit zur Größe der Systemlandschaft erheblich zu senken. Die Lösung arbeitet auch mit älteren SAP-Versionen problemlos zusammen. Es ist möglich, komponentenübergreifende Jobketten sowie solche mit parallel laufenden Aktivitäten, wie die Vater-Kind-Jobs, zu starten. Das Arbeiten mit Jobtemplates beschleunigt die Einplanung.
Was die Zukunft bringt
Zusätzlich zur Fähigkeit der zentralen Job-Steuerung wird die nächste Version von SAP NetWeaver die vollständige Integration der Scheduling-Funktionen möglich machen. SAP NetWeaver stellt dann für jede SAP-Applikationen einen Satz vorkonfigurierter Templates mit den entsprechenden Schedulingfunktionalitäten in einer Systemlandschaft zur Verfügung. Sie lassen sich über einen einzigen Steuerungspunkt automatisieren und kontrollieren. Damit wird ein Job-Management möglich, was ausschließlich durch den Business-Prozess gesteuert wird. Administratoren werden dann mit erheblich geringerem Aufwand Jobs für SAP-Lösungen anlegen und einplanen.
Die Neuerungen der nächsten Version von SAP NetWeaver betreffen folgende Bereiche: Die Benutzerschnittstelle wird mit WebDynpro in den SAP NetWeaver Administrator, SAPs neues zentrales Administrationsportal, integriert werden. Der Prozess-Server als Steuerungseinheit der Hintergrundprozesse wird auf der SAP-Anwendungsplattform innerhalb des J2EE Servers laufen. Damit entfällt auch die momentane Abhängigkeit von der Oracle-Datenbank, da zum Zugriff das datenbankunabhängige Open SQL benutzt wird. Ferner wird die nächste Version von SAP NetWeaver den Scheduler in die Software-Logistik einbinden, wobei sich zur Installation, zum Upgrade und zur Migration SAP-Werkzeuge anwenden lassen. Der Scheduler verwendet dann das System Landscape Directory (SLD) als zentrales Verzeichnis. Es enthält Informationen über die Systemlandschaft, zur Installation des Schedulers sowie Daten über die Version, den Hostrechner und ähnliches.

Da der reibungslose Ablauf von Hintergrundjobs für die produktiven Geschäftsprozesse wesentlich ist, liefert der Scheduler der nächsten SAP-NetWeaver-Version detaillierte Monitoringinformationen an die zentrale Monitoring Infrastruktur, das SAP Computing Center Management System (SAP CCMS). Die Monitoringinformation steht damit im SAP Solution Manager oder über Systemmanagementtools von SAP-Partnern zur Verfügung. In Zukunft wird es für alle auf SAP NetWeaver laufenden Anwendungen möglich sein, Jobs in anderen Systemen anzulegen. Die Ausführung erfolgt über erweiterte Anwendungsschnittstellen über das integrierte Schedulingsystem. Neben der Kontrolle von ABAP-Programmen wird es über eine allgemein verfügbare Schnittstelle möglich sein, auch JAVA-Programme zu starten. Dies wird entsprechend zur bereits bestehenden XBP-Schnittstelle in Zukunft auf Web-Services basierend verfügbar sein.
Auch wenn die integrierte Scheduling-Lösung die einzige sein wird, bei der SAP auch den Support leistet, bleibt SAP für Scheduling-Lösungen anderer Partner offen. Daraus folgert, dass SAP weiterhin den Zugriff auf alle Funktionen über zertifizierbare Schnittstellen anbietet. Im Gegenzug sollten die Scheduling-Lösungen der Partner die neuen SAP-Schnittstellen auch unterstützen.
Angesichts der stetigen Ausweitung der Scheduling-Funktionalitäten wird sich die Frage stellen, was eigentlich Jobs im Sinne von SAP NetWeaver künftig sein werden. In der Vergangenheit bildeten ABAP-Programme die zu steuernden Einheiten. Mit SAP Web Application Server 6.20 kamen JAVA-Programme, hauptsächlich als Enterprise JAVA Beans, hinzu. In Zukunft werden die zu steuernden Einheiten vollständig auf die Enterprise Service Architecture (ESA) und damit ganz auf die Geschäftsprozesse ausgerichtet sein. Standardisierungsarbeiten sind dort im Gange.

