Unter einer Scheduling Software (Automatisierungssoftware) wird ein Programm verstanden, mit dem mehrere Programme in Abhängigkeit voneinander automatisiert gesteuert werden. So ein Programm wird auf Servern benötigt. Da eine Automatisierung den manuellen Eingriff in eine Programmausführung überflüssig machen soll, laufen Scheduler in der Regel auf durchgehend erreichbaren Servern.
Eine Automatisierungssoftware stößt Programme auf einem oder mehreren Servern an und regelt die darauf basierenden Abläufe. Die Software steuert die Reaktion auf verschiedene Vorkommnisse. So können Automatisierungsprogramme auf unvorhergesehene Abbrüche von Programmabläufen reagieren oder Nachrichten versenden, wenn bestimmte Abläufe korrekt oder nicht korrekt abgelaufen sind. Zudem lässt sich mit einer Scheduling Software erkennen, wo genau in einer Jobverarbeitung ein Fehler aufgetreten ist. Im Vergleich zu einem einfachen Unix Crontab können Programmketten in einer Automatisierungssoftware nicht nur zeit- sondern auch bedingungsabhängig ausgelöst werden. Zudem können Bedingungen und Aktionen im Gesamtablauf eingebaut werden. Nicht zuletzt liefern solche Werkzeuge auch ein Monitoring, um Probleme in Programmabläufen zu erkennen. Bekannte Vertreter sind:
- UC4 Automic
- Control^M
- Tivoli
Eine ausführliche Übersicht über Scheduling Programme liefert Wikipedia.