Illustration by Carl Wiens
I remember back in the old IBM* System/38* days when companies had to write their own job-scheduler programs or buy third-party scheduling packages. (Whew, I'm really showing my age now.) Many shops would have this enormous CL program with all of the jobs that were to run wrapped in a conditional if statement for each night of the week. Do I need to go any further to say it was a nightmare?
With the introduction of the base job scheduler inside IBM OS/400*, scheduling jobs became much easier to maintain. Since its inception, the base job scheduler has been improved to provide more ways to schedule batch jobs. And when I say more ways, I just mean the frequency in which a job can be scheduled. From there, it pretty well stayed status quo until V3R6 when the 5722-JS1 IBM Advanced Job Scheduler for i5/OS* (AJS) hit the scene. AJS let customers schedule more complex job flows, including more ways to schedule a job, dependencies, report distribution and more. It would be futile for me to try to list every feature of AJS and see if the base scheduler offers matching features, so I'm only going to give the highlights.
Scheduling
Both programs can schedule jobs on specified days of the week, month and year. They both can be set up to not run on certain days, such as holidays. But here are some of the scheduling capabilities of AJS that the base scheduler lacks:
Dependencies
Dependencies determine whether a job can run or when to run it. I'd give you the types of dependencies that are part of the base scheduler, but there aren't any. Here's the list of AJS dependencies:
Job groups - A job group is a group of jobs that will run single threaded in a predefined sequence. The job group can be scheduled and subordinate jobs within the group can be defined to run only on certain days of the week. If a job in a job group doesn't complete normally, the job group will stop. Job groups can be restarted anytime.
Job dependencies - Job dependencies offer more flexibility than a job group. Job dependencies can have any number of jobs defined that must run before a job can be submitted or any number of jobs that will run after a job has completed.
Resource dependencies - A job can be dependent on the existence or nonexistence of resources (objects, hardware configuration statuses, IFS objects) on the system. For instance, the backup job could depend on the availability of a tape drive, or a job may depend on a file to exist and contain records before it will start.
Active dependencies - An active dependency is like a contingency, setting rules that won't allow certain jobs to run at the same time. For instance, you may not want the backup job to start if the daily processing jobs are still running.
Alternate job dependencies - In case a job fails, you may want to run another job.
Page 1 2
Browse products and services for Trends.