Versions Compared

Key

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

Table of Contents

Introduction

Each product JS7 brings its own wording, this also applies to JS7. Therefore, find wording for scheduling objects. Find explanations from the following sections about

  • the wording for objects used with JS7,
  • the mapping of terms used with the predecessor product JS1 (branch 1.x).

Terminology for Objects used with JS7

Generic Term

Specific TermMeaning
Job

The smallest unit of what can be executed on a given machine, for example from the command line (shell) of the operating system. Jobs are stateless objects, the instance of a Job is called a Task.

Jobs are available as Shell Jobs and they can run in a Java Virtual Machine as JVM Jobs, see JS7 - Job Templates.

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 that shell Jobs return Exit Codes, 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 that run independently from 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 to execute 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 to execute a Job, in a Workflow. Nodes are assigned labels that allow to recognize steps in a Workflow.

Workflow PatternA number of Nodes that are implemented by Instructions in a Workflow. Instructions include for example to execute a Job or to fork processing 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

the

execution of Workflows.

  • Order is the summary term for any
order
  • Order instance, such as
Scheduled
  • 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.

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

Ad hoc OrderSuch Orders are added by users or from external applications on-the-fly, no Schedules are 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 lifetime. States include for example to be scheduled for later execution, to wait for resources, to be running, to be failed etc.


State Transition

Orders are subject to State Transitions when moving from one State to the next. The 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 being running, being waiting, being 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
Resources
Resource
Job Resources are used to propagate variables and to inject environment variables to shell Jobs. They are a flexible means to parameterize Workflows and Jobs, for details see JS7 - Job Resources.
Notice
Boards
Board
Notice Boards implement job dependencies, for example to make a Job wait for some other Job in a different Workflow, for details see JS7 - Notice Boards.
Script
Includes
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 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

Monday, to the 1st Tuesday in month, to For

more specific days, for details see JS7 - Calendars.

Schedule

Schedules make use of Calendars that specify possible days for Workflow execution.

A Schedule

Schedules can create Orders for any days of the assigned Calendar and

it

they can further restrict for which days to create Orders.:

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

For details see JS7 - Schedules.

Order Template

The configuration object of an Order that includes default parameters and run-time settings.

  • The term Order Template corresponds to the term Permanent Order in JobScheduler1
  • The term Order corresponds to Ad Hoc Order in JobScheduler1
StatusThe status of an object, e.g. of a Job, Task, that do not know of transitions. In JS7 Jobs and Tasks do not represent objects with a status.

Terminology Mapping with JS1

Mapping of the Terminology used for Objects with JS1


JS1 Wording

JS7 Wording

MeaningComments
JobJobJobs in JS1 can be used standalone and in Job Chains. In JS7 any Jobs are used in Workflows, including use of a Workflow with a single Job.Meaning changed
Job ChainWorkflowAny Job Chain is considered a Workflow. In JS1 Job Chains are limited to forward-dependencies, JS7 adds backward-dependencies to Workflows.Meaning extended
OrderOrder
Wording
JS1

Wording
JS7

MeaningCommentsWording
JobScheduler1JobJobThe configuration object of what should be executed. Jobs are stateless objects, the instance of a Job is called a Task.Meaning changed.Job ChainWorkflowOrderScheduleThe instance of an Order Template that is scheduled for execution.

Orders is the summary term for any

order

Order instances, such as

e.g. Ad

Permanent Orders, Ad Hoc Orders, File Orders.

  • Orders are executed just once for a given date and time.
  • If an Order is split then this results in a Parent Order and in a number of Child Orders.
  • Exit CodeAn exit code is returned by a process, this includes that shell jobs will return exit codes, API jobs do not return exit codes (as the task can be re-used). Instead, API jobs and job steps complete with a Return Code.Exit Code

    This meaning is mapped accordingly to JS1 with the one exception being that Permanent Orders are mapped to Timed Orders and are intended for one-time execution.

    Meaning changed
    OrderSchedule

    JS1 Orders recalculate the next start time after each execution. JS7 Orders are created for one-time execution only. Instead, JS7 Schedules create individual Orders for any scheduled dates.

    Meaning extended
    ScheduleScheduleJS1 Schedules are common rules for start-times that are applied by a number of Jobs or Orders. JS7 Schedules can create a number of Orders for the same execution date.Meaning extended
    TaskTaskThe instance of a Job that is executed. The meaning of this term is the same with JS1 and JS7.Meaning unchanged
    Exit CodeExit CodeJS1 Exit Codes map to JS7 Exit Codes.Meaning unchanged
    Return Code
    File GroupA number of File Orders that are expected to be available. Processing continues if all expected File Orders are present, otherwise missing File Orders are waited for.n/aFile OrderAn Order that is represented by a file.Meaning unchanged.File OrderInstructionInstructions implement Workflow Patterns such as e.g. fork/join. They represent configuration elements that rule job dependencies.Job NetSynonym for the term Workflow.n/aNodeThe position of a Job in a Workflow. Synonym to the term Step. Nodes are assigned labels that include free text to allow recognizability of a step in a Workflow.NodeOrder

    The instance of an Order Template that is scheduled for execution.

    • Order is the summary term for any order instance, such as e.g. a File Order.
    • Orders are executed just once for a given date and time.
    • If an Order is split then this results in a Parent Order and in a number of Child Orders.
    Ad Hoc OrderOrder Template

    The configuration object of an Order that includes default parameters and run-time settings.

    • The term Order Template corresponds to the term Permanent Order in JobScheduler1
    • The term Order corresponds to Ad Hoc Order in JobScheduler1
    Permanent Order
    Return CodeA summary term for the Exit Code of a process and the Return Code provided by API Jobs.
    Meaning unchanged.Return CodeStateA state is not used in JS7. Instead the term Node is used and the content of a state in JobScheduler1 is moved to a Node Label in JS7.StateSequenceA Workflow Pattern that implements sequential execution of job nodes.Meaning changed.Job ChainStatusThe status of an object, e.g. of a Job, Task, that do not know of transitions. In JS7 Jobs and Tasks do not represent objects with a status.Meaning changedStatusStateThe state of an object that is subject to transitions, e.g. an Order. In JS7 the Order is the only object that knows a state.Meaning changedState
    JS1 Return Codes map to JS7 Return Codes.Meaning unchanged
    File OrderFile OrderAn Order that is represented by a file. The meaning of this term is the same with JS1 and JS7.Meaning unchanged
    NodeNodeA Node indicates the position of a Job in a Job Chain. The meaning is extended with JS7 Nodes that in addition to Jobs know a number of Instructions that are assigned Nodes.Meaning extended
    StateLabelJS1 States are assigned the Nodes in a Job Chain. This maps to use of labels with Nodes in JS7 Workflows.Meaning changed
    TaskThe instance of a Job that is executed.Meaning unchanged.TaskTransitionA Transition follows a Node in a Workflow Pattern. It causes an Order to be moved to the next Node. Transitions are signaled by Events.n/aWorkflow PatternA number of Jobs that are organized by Instructions in Nodes. Instructions include e.g. to fork processing within a Workflow Pattern.JobScheduler1 knows but job chains as a workflow pattern.n/aWorkflowThe instance of a Workflow Pattern that is used for an Order. A Workflow is started by an individual Order or by a number of Orders. Workflows for parallel Orders are instantiated independently from one another.n/a