adTempus Architecture

This topic provides an overview of the adTempus architecture, introducing key concepts.

Logical Architecture

adTempus is highly modular in design. This means that there are lots of pieces (we will call them "objects"), most of which are fairly simple, that can be combined in many ways to produce complex configurations.

Before we proceed, we will set up an example that will be used to illustrate concepts as we go.

Example. You need to automate the nightly update of your organization's data warehouse. This involves several different steps:

    1. Download a data file using FTP.

    2. Load the downloaded data into the data warehouse.

    3. Run the process that reprocesses the data warehouse and rebuilds the data cubes

Note that each of these three steps involves a single discrete task.

Jobs, Steps, and Tasks

Because adTempus is a job scheduler, the central object is the job. In adTempus the job contains all of the information needed for adTempus to accomplish a specific goal for you. Each job contains one or more steps; each step executes a single task.

In our example above, our goal is to complete the nightly data warehouse update; this becomes our job. Each of the steps we listed above becomes a step within the job.

Note that in many automation tools, "job" and "task" are synonymous: each of the steps above would be a separate job; the separate jobs could be linked together in "chains," "queues," or "sequences."

The task represents a single operation that adTempus is to perform (typically, a single program, script, or batch file that it is to execute). adTempus supports several different kinds of tasks that allow you to run programs, scripts, and batch files; launch documents; restart the computer; and control services. For more information, see the Tasks topic.

For each step, you can specify the rules that adTempus will use to determine whether that step succeeded; this result can then be used to alter the flow of execution for the job by using Responses.

Sometimes it makes sense to put tasks in separate jobs instead of in multiple steps within a job. More information.

More information on jobs, steps, and tasks.

Triggers

Triggers are what tell adTempus when to run a job. For example, if you want your data warehouse update to run at 11:30 each night, you would add a schedule trigger to the job to trigger it at 11:30.

More information on triggers.

Conditions

Conditions place restrictions on whether a job or step should run. For example, you can specify that a job should run only if a particular file exists.

Conditions do not cause a job to start—only triggers do this. Conditions are evaluated after a trigger starts a job.

More information on conditions.

Responses

Responses give you tremendous flexibility to direct the flow of execution within and between jobs.

At various points during the execution of jobs and steps, adTempus fires events. For example, an event is fired when a job starts, when a step starts, when a step finishes successfully, if a step fails, etc. To each of these events you can attach Responses, which specify Actions adTempus should execute when the event occurs. Actions allow you to execute other jobs or steps, send notification messages, capture files, and run scripts.

More information on Events, Responses, and Actions.