Ereignisgesteuerte Echtzeit-Scheduler

Feature | 12. Juli 2004 von admin 0

In einem effektiv arbeitenden Unternehmen sollten die Geschäftsdatenflüsse optimal durchgeführt werden, das heißt, in Echtzeit erfolgen, um die Kunden bestmöglich zu bedienen. Bei der physischen Lieferung wird der Kunde keinen Unterschied feststellen, solange die Waren am gleichen Tag versendet werden. Eine Bestellung in einem Online-Store muss beispielsweise nicht innerhalb von drei Millisekunden verarbeitet werden. Bei der elektronischen Lieferung hingegen, beispielsweise im Falle von Computersoftware, legen Kunden Wert auf Reaktionszeiten im Sekunden- bis Minutenbereich. Die Verarbeitung von Geschäftsprozessen in Echtzeit wird immer wichtiger. Dies bedeutet gleichzeitig, dass die herkömmliche Batch-Verarbeitung nicht mehr dem aktuellen Stand der Technik entspricht. Künftig reicht es nicht aus, festgelegte Sequenzen von Batch-Aufträgen über Nacht abzuarbeiten. Aufträge für jede Transaktion müssen zu jeder beliebigen Tages- oder Nachtzeit ausgeführt werden – je nachdem, wann sie auftreten.

Der richtige Dienst zur richtigen Zeit

Herkömmliche Scheduler definieren Jobs, die in der Regel einmal täglich zu einer vorgegebenen Zeit ablaufen, beispielsweise um ein Buchungssystem zu aktualisieren. Zeitgesteuerte Batches haben sich als sehr effektiv erwiesen, solange Unternehmen in einer statischen Umgebung arbeiteten. Die herkömmlichen, so genannten Mainframe-Scheduler erstellen einen Scheduling-Plan für einen bestimmten Zeitraum – meist 24 Stunden. Sind aus irgend einem Grund Änderungen erforderlich, beispielsweise wenn ein Endanwender einen Bericht anfordert, müssen diese manuell durchgeführt werden. Die üblich gewordenen längeren Geschäftszeiten, die Globalisierung und die Rücksicht auf unterschiedliche Zeitzonen bringen es mit sich, dass sich das Zeitfenster für die nächtliche Hintergrundverarbeitung stark verkleinert hat. Die internationale Geschäftspraxis setzt zugleich voraus, dass alle Daten, auch wenn sie in verschiedenen Systemen gespeichert sind, möglichst brandaktuell sind. Die Daten von gestern stellen heute niemanden mehr zufrieden.

Zur Hintergrundverarbeitung

Zur Hintergrundverarbeitung

Gerade anspruchsvolle, immer weiter verbreitete SAP-Anwendungen und sich stetig wandelnde Geschäftsanforderungen bedeuten für zeitgesteuertes Scheduling, dass zu viel manuell geändert werden müsste. Nur eine automatisierte Hintergrundverarbeitung kann sicher stellen, dass der richtige Dienst zur richtigen Zeit verfügbar ist. Dies bedeutet, dass ein modernes Scheduling-System in der Lage sein muss, die Jobverarbeitung auf der Grundlage dynamischer Bedingungen auszulösen: beispielsweise durch den Eingang einer E-Mail oder B2B-Nachricht oder durch die Meldung, dass ein anderer Job abgeschlossen (oder abgebrochen) wurde. Die Verarbeitung anstehender Jobs kann auch ausgelöst werden durch Geschäftsereignisse, etwa eine bestimmte Anzahl eingegangener Aufträge oder Rechnungen, oder durch Infrastruktur-Ereignisse wie eine Meldung, dass der Host-Prozessor ausgelastet ist. Die Arbeitslast des Systems lässt sich auf den gesamten Tag verteilen. Eine ereignisgesteuerte Scheduling-Lösung in Echtzeit kann sogar dafür sorgen, dass Prozesse nur bei ausreichenden Systemressourcen ablaufen. Auf diese Weise stellt sie jederzeit eine optimale Systemleistung sicher.

Automatisierte Hintergrundverarbeitung

Redwood

Redwood

Die offene Schnittstelle für eXternal Background Processing (SAP BC-XBP) von SAP unterstützt komplementäre Software zu Verarbeitungsmanagement und Job-Scheduling. SAP-Partner Redwood Software hat mit “Cronacle for SAP Solutions” eine ereignisgesteuerte Echtzeit-Job Scheduling-Lösung entwickelt, die die gesamte asynchrone Verarbeitung im Unternehmen übernimmt. Scheduling und asynchrone Verarbeitung stehen in einem engen Zusammenhang. Beim Scheduling geht es darum, Jobs zur vorgegebenen Zeit auf der Grundlage von Regeln und externen Bedingungen zu starten. Die asynchrone Verarbeitung ermöglicht eine Trennung der Jobs von den auslösenden Ereignissen. Scheduler mit asynchroner Verarbeitungskapazität stellen sicher, dass Systeme die Ausführung von Jobs zu einem bestimmten Zeitpunkt (oder nach einem bestimmten Plan) anfordern können oder diese durch ein externes Ereignis ausgelöst werden.
Administratoren können mit diesem Tool das gesamte Pensum der HIntergrundverarbeitung Plattform (UNIX, Linux, Windows, J2EE, Z/OS oder OpenVMS) übergreifend von einem zentralen Steuerpunkt aus verwalten und überwachen. Außerdem haben sie es in der Hand, die Hintergrundverarbeitung für eine SAP-Anwendung, die in heterogenen Umgebungen läuft, zu automatisieren und zu integrieren. Cronacle stellt eine asynchrone Umgebung bereit und führt Geschäftstransaktionen fast in Echtzeit durch. So schafft das Tool ein beträchtliches Pensum an Batches. Cronacle steuert die Hintergrundverarbeitung über kalenderbasiertes Scheduling, aber auch über (externe) Ereignisse. Für die Verwendung in SAP NetWeaver einschließlich dessen Komponenten SAP Business Intelligence (SAP BI) und SAP Web Application Server (SAP WAS) zertifiziert, verwaltet die Lösung ganze Geschäftsprozesse System übergreifend.

Jobs je nach Ereignis verarbeiten

Jede ereignisgesteuerte Scheduling-Lösung muss die Fähigkeit besitzen, ein auftretendes Ereignis als solches zu identifizieren. Sobald dies geschehen ist, ist es leicht, den entsprechenden Prozess in Reaktion darauf zu starten. Cronacle definiert als ersten Grundschritt explizit benannte Ereignisse. Als zweiter Schritt sollten Jobs – einzeln oder als Jobgruppe – als abhängig von bestimmten Ereignissen definiert werden. In einer solchen Jobdefinition kann auch angegeben werden, dass bei Auftreten des Ereignisses eine zusätzliche Jobinstanz erzeugt werden soll. So müssen die Anwender nicht länger sicher stellen, dass ein Job auf ein bestimmtes Ereignis wartet. Cronacle erkennt Ereignisse vielfältiger Art: aus Dateien, Programmen, SAP-Alerts, SAP-Events, Webdiensten, Mails, HTTP-Dateien, FTP-Dateien oder Cronacle-internen Ereignissen.

Komplexere Abhängigkeiten lassen sich als Job-Ketten definieren. Job-Ketten bieten den Vorteil einer einfacheren Systemsteuerung, da während der Verarbeitung Einzelschritte in koordinierter Weise wiederholt oder übersprungen werden können. In Cronacle lässt sich ein neues Objekt anlegen und als Jobkette bezeichnen. Jobketten bestehen wie SAP-Jobs aus Einzelschritten, die (normalerweise) sequenziell ausgeführt werden. In einem Einzelschritt lassen sich mehrere Programme parallel ausführen. Im Component Computer Center Management System von SAP (CCMS beziehungsweise BC-CCM) wird der gesamte Job abgebrochen, wenn ein Einzelschritt in einem Fehler resultiert. Bei Jobketten hingegen kann der Administrator differenzieren, wie nach jeder Art von Ergebnis weiter verfahren werden soll. Ein Einzelschritt kann prinzipiell zu den folgenden Ergebnissen führen:

  • Completed – Der Job wurde normal abgeschlossen.
  • Error – Der Job hat einen Wert zurückgegeben, der als problematisch eingestuft wird.
  • Canceled – Der Job wurde vom Anwender abgebrochen, bevor er ausgeführt wurde.
  • Unknown – Das System, in dem der Job ausgeführt wurde, ist während der Ausführung abgestürzt.
  • Killed – Der Job wurde vom Anwender während der Ausführung beendet.
Jobketten-Definition

Jobketten-Definition

Für jeden dieser Werte kann ein Administrator festlegen, wie weiter verfahren werden soll: die Verarbeitung mit dem nächsten Einzelschritt fortsetzen, zu einem anderen Einzelschritt der Jobkette (sowohl vorangehende, als auch nachgeordnete sind zulässig) gehen, alle weiteren Schritte abbrechen und Jobkette als abgeschlossen melden, alle weiteren Schritte abbrechen und Jobkette als fehlerhaft abgebrochen melden, Jobkette neu starten oder Anwender einschalten. Letztere Option bietet sich an, wenn manuelles Eingreifen erforderlich ist. In diesem Fall erhält die Jobkette den Zwischenstatus “Console” und wartet auf die Entscheidung des Anwenders, wie die Verarbeitung fortgesetzt werden soll. Da Jobketten auch Jobdefinitionen sind, können sie beliebig tief hierarchisch verkettet werden: Jobkette A ist abhängig von Jobkette B, die wiederum von Jobkette C abhängt, und so weiter.

Maßgeschneidert für SAP NetWeaver

Scheduler für SAP NetWeaver

Scheduler für SAP NetWeaver

SAP NetWeaver ist eine offene Technologieplattform, mit der Kunden die Möglichkeiten haben, ihre Geschäftsprozesse unternehmensintern und unternehmensübergreifend umfassend zu integrieren, und das mit einer einfachen Benutzeroberfläche. Da die SAP-NetWeaver-Technologie auch in zukünftigen SAP-Anwendungen zum Einsatz kommen wird, bietet Cronacle eine umfassende Integration mit dessen zentralen Komponenten wie Java, SAP BI oder SAP Enterprise Portal (SAP EP). Auf diese Weise ermöglicht das Tool eine automatisierte Hintergrundverarbeitung und spart Zeit für Administration und Betrieb des Systems.

Je mehr Anwendungen mit Hilfe des J2EE-Stack von SAP WAS entwickelt werden, desto mehr Bedeutung erlangt Java. Anwendungen wie SAP xApps, aber auch maßgeschneiderte Java-Anwendungen, müssen mit anderen SAP-Anwendungen integriert werden. Cronacle als ereignisgesteuerter, Java-kompatibler Scheduler kann sowohl SAP- als auch Java-Prozesse verwalten. Cronacle bietet für die NetWeaver-Technologie über Anwendungsplattformen Funktionen wie ABAP-Scheduling, J2EE-Deployment, vollständige Java-Scheduling-Funktionen, Anwender-Jobverwaltung oder eine Automatisierung von SAP-Ereignissen und der Batch-Eingabe. Mit seiner zertifizierten Schnittstelle zu SAP BI stehen den Anwendern Funktionen wie Workflow-Automatisierung sowie eine vollständige Unterstützung für Monitoring und Scheduling von Prozessketten in SAP BI zur Verfügung.

Integration von SAP BW und SAP Solution Manager mit Nicht-SAP- Lösungen

Immer mehr SAP-Kunden implementieren SAP Business Information Warehouse (SAP BW), das erheblichen Mehrwert für das leitende Management bietet. Zur Verwaltung der BW-Prozesse hat SAP so genannten Prozessketten definiert, über die BW-Administratoren in der Lage sind, komplexe Prozesse zu managen. Die Verarbeitung in SAP BW ist abhängig davon, ob und in welchem Umfang korrekte Daten zur Verfügung stehen. Dies wird von Cronacle verwaltet. Sobald alle vorgelagerten Verarbeitungsschritte abgeschlossen sind – beispielsweise alle Kundendaten in mySAP CRM aktualisiert wurden – kann die Verarbeitung in SAP BW beginnen. Für das Monitoring von Geschäftsprozessen bietet Cronacle eine vollständige Integration mit dem SAP Solution Manager einschließlich eines Toolsets, mit dem Kunden ihre kritischen Geschäftsprozesse überwachen können. Sämtliche Messgrößen und Alerts des SAP Solution Managers, beispielsweise die CPU-Auslastung des Anwendungsservers, können von Cronacle verwendet werden, um die Systembelastung dynamisch zu regeln. SAP- und Nicht-SAP-Geschäftsprozesse lassen sich von einem einzigen Steuerungspunkt aus automatisieren und kontrollieren.
Mehr Informationen zur Hintergrundverarbeitung im SAP-Heft 02/2004

Anjo De Heus

Anjo De Heus

Tags: ,

Leave a Reply