Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Terminology for Components used with JS7


Generic Term

Specific TermMeaning
ControllerStandalone Controller

A Controller knows what Workflows and Jobs to execute, when to execute and with which Agents to execute. A Controller receives the job-related inventory from JOC Cockpit and deploys this information to Agents which execute Workflows and Jobs on the respective servers. A Standalone Controller is a singe instance that orchestrates Agents.


Controller ClusterA Controller is clustered for high availability by two instances, one being active and one being in standby mode. A manual switch-over and an automated fail-over between instances can occur. For details see JS7 - Controller Cluster.
AgentStandalone Agent
, Single Agent
Agents execute Jobs that call executable files and commands on the Agent's server. Agents receive the information what Jobs to start and when to start from a Controller and report back execution results and log output to the Controller. Agents can act autonomously without a Controller being connected at the point in time of job execution. Standalone Agents act independently from each other.

Agent Cluster, SubagentAgent instances that are clustered for high availability and for performance are called Subagents. If
an Agent instance fails
Subagent fails in an active-passive
cluster
Cluster then
an
automated fail-over takes place. In an active-active
cluster
Cluster a number of
Agents
Subagents run Tasks for the same
application
applications in parallel
. Clusters are
and can replace each other. A Cluster is a logical layer that allows
an Agent to
to select any number of Subagents for Task execution in fixed-priority mode or in round-robin mode. Subagents can participate in any number of Clusters
at the same point in time
. For details see JS7 - Agent Cluster.

Director AgentAgent Clusters work autonomously, they include primary and secondary Director Agent instances that act as a passive Cluster and that implement automated fail-over. Director Agents communicate with a Controller and orchestrate Subagents in the Cluster.
JOC CockpitStandalone
JOC Cockpit
JOC Cockpit is the user interface to manage the job-related inventory and to monitor & control Workflow execution with Controllers and Agents. A Standalone JOC Cockpit is a single instance that can be used to manage one or more Controllers.

JOC Cockpit Cluster

A number of JOC Cockpit instances act in a passive cluster for high availability that allows manual switch-over and automated fail-over between instances. For details see JS7 - JOC Cockpit Cluster.

Terminology for Objects used with JS7


Generic Term

Specific TermMeaning
Job

Jobs come in two flavors: Shell Jobs specify job scripts that are executed for an operating system shell, JVM Jobs specify use of a Java class, see JS7 - Job Templates.

For both usages the Job defines what should be executed. At the point in time when a Job is started it is called a running Task, i.e. the instance of a Job.

A Job specifies what is executed on a given machine, for example, the commands in a shell of the operating system. Jobs are stateless objects, Tasks are stateful objects that can be started, killed etc.

For details see JS7 - Job Instruction.


TaskThe instance of a Job that is executed. A Job can run in a number of parallel Tasks.

ProcessThe operating system view of a Task. In addition, Tasks can have child processes.

Return CodeA summary term for the Exit Code of a Process and the Return Code provided by Jobs running in a JVM.

Exit CodeAn Exit Code is returned by a terminating Process. This includes Exit Codes that are returned by shell Jobs. JVM Jobs do not return Exit Codes as their Tasks can be re-used. Instead, JVM Jobs complete with a Return Code.
Workflow

A Workflow is started by an Order that passes the Nodes and Instructions included with the Workflow. Any number of Orders can execute the same Workflow in parallel instances running independently of each other.

The succession of Instructions in a Workflow implements a Workflow Pattern, for example a Sequence. However, the most simple Workflow Pattern can include execution of a single Job.

Frequently used synonyms include the terms Job Net, Job Stream. For details see JS7 - Workflows.


InstructionInstructions implement Workflow Patterns such as Fork/Join, a Sequence etc.. Instructions rule job dependencies, see JS7 - Workflow Instructions.

NodeThe position of an Instruction, for example, for the execution of a Job in a Workflow. Nodes are assigned labels that allow recognition of steps in a Workflow.

Workflow PatternA number of Nodes that are implemented by Instructions in a Workflow. Instructions include, for example, execution of a Job or forking execution according to a Workflow Pattern. For details see JS7 - Workflow Patterns.

SequenceA Workflow Pattern that implements sequential execution of Instructions in a Workflow.
Order

Orders represent triggers for execution of Workflows.

  • Order is the summary term for any Order instance, such as Timed Orders, Ad hoc OrdersFile Orders.
  • Orders are executed just once for a given date and time.
  • If an Order meets a Fork/Join Instruction in a Workflow then this results in a number of Child Orders being created.

For details see JS7 - Orders.


Timed OrderSuch Orders are automatically created by a Schedule that determines when to run the Order and what parameterization to be applied.

Ad hoc OrderSuch Orders are added by users or from external applications on-the-fly. Schedules are not involved.

File OrderAn Order that is represented by an incoming file, see JS7 - File Watching.

State

Orders are stateful objects that pass a number of State Transitions during their lifetime. States include, for example, being scheduled for later execution, waiting for resources, running, failed, etc.


State Transition

Orders are subject to State Transitions when moving from one State to the next. JS7 implements a Finite-state Machine with non-deterministic transitions that can be considered a Directed Acyclic Graph.

State Transitions are signaled by Events. For details see JS7 - Order State Transitions.


EventEvents signal State Transitions of Orders. They are used, for example, to automatically update information in the JOC Cockpit GUI about Orders running, waiting, having failed, etc.
File Order Source
The scheduling object that defines a source for File Orders, for example, the directory that should be watched for incoming files. For details see JS7 - File Watching.
Resource Lock

Resource Locks implement mutual exclusion and can be used to limit parallelism of Jobs. For details see JS7 - Resource Locks.

Job Resource
Job Resources are used to propagate variables and to inject environment variables to shell Jobs. They are a flexible means for parameterizing Workflows and Jobs. For details see JS7 - Job Resources.
Notice Board
Notice Boards implement job dependencies, for example, to make a Job wait for another Job in a different Workflow. For details see JS7 - Notice Boards.
Script Include
Script Includes are re-usable pieces of shell code that can be added to Job scripts. For details see JS7 - Script Includes.
Calendar

Calendars determine the days that are considered by Schedules when creating Orders. For example, a business day Calendar can specify Monday to Friday as possible days for Workflow execution. A Schedule that is assigned this Calendar can further restrict execution to more specific days. For details see JS7 - Calendars.

Schedule

Schedules make use of Calendars that specify possible days for Workflow execution. Schedules can create Orders for any days of the assigned Calendar and they can further restrict the days on which Orders are created.:

  • Schedules create and parameterize Orders for execution of Workflows.
  • Schedules can restrict execution dates of a Calendar, for example, creating Orders exclusively for Mondays, for the 1st Tuesday in the month, for the last day of the month, etc.
  • Schedules determine the point in time during the day when an Order should be executed.

For details see JS7 - Schedules.

Terminology for Operations used with JS7

...