Key Components and Architecture
ActiveBatch is entirely client-server based and all aspects of ActiveBatch can be fully distributed. ActiveBatch consists of three major components, as listed below. This includes the various Clients that are supported, the Job Scheduler, and the Execution Agent. All of these components could reside on a single machine or on multiple machines (more common).
More details about each component can be accessed below.

The client component is the main user interaction point to the ActiveBatch system. ActiveBatch clients communicate with the Job Scheduler component. ActiveBatch provides a variety of client interfaces depending on the type of user you are and what mode of interaction you require.
Below is a list of client interfaces. Add-in's require additional licensing.
-
AbatConsole - This is the Windows graphical user interface component that provides the designer, administrator, and operator with the ability to create and manage Jobs and other objects.
-
PowerShell - This component provides native command-lets (cmdlets) for ActiveBatch scripted interaction.
-
Command-line - This option allows you to script ActiveBatch operations using a command shell of your choice.
-
Job Scheduler Service Web Services (JSSWS) - This is a programmatic interface using Web Services.
-
REST API - This is a programmatic interface using the ActiveBatch REST API (recommended over the older JSSWS interface, unless the functionality you need is only available in JSSWS).
-
COM - This is a COM-based programmatic interface that can also be used by the .Net framework through interoperability. Object-oriented scripting languages can directly access ActiveBatch objects, properties and methods through the various constructs of those languages.
-
Web Console (add-in) - This is a web-based user interface (AbatWebConsole) that includes most of the functionality offered in the GUI-based (AbatConsole) client. AbatWebConsole is a thin client that accesses the Job Scheduler using one of the more common web browsers.
-
Self-Service Portal (add-in) - This is a scaled-down web-based user interface designed for business users so they can watch and/or run their business processes. It accesses the Job Scheduler using one of the more common web browsers.
-
Mobile Ops (add-in) - This option is used to manage your run time environment (e.g. restarting a failed Job, aborting a Job, etc.) through the Mobile app (iOS and Android OS devices are supported). It is not used for design purposes.

The Job Scheduler is the heart of the Job management system. The Job Scheduler is the component that keeps track of all Jobs and determines when a Job is to execute. The Job Scheduler is responsible for the overall operation of the ActiveBatch system and its database. It is responsible for dispatching Jobs to Execution Agents and updating console users with real-time Job status updates.
As users connect to the Job Scheduler to get their work done, for example, creating a new Job object - it is the Job Scheduler that takes the client input and updates the backend database with the details of the new object. The objects reside in a namespace and the namespace resides in the ActiveBatch backend database. The Job Scheduler may be limited in terms of the number and type of Execution Agent(s) it can support, as the Job Scheduler and Execution Agent are separately licensed components.

The Execution Agent is the component that is responsible for running Jobs. Once a Job is ready to execute, the Job Scheduler communicates with a machine’s Execution Agent. The Execution Agent is the only cross-platform component of the ActiveBatch system. Each Execution Agent is licensed for use. TCP/IP is used for communications between the Job Scheduler and its Execution Agents. The Job Scheduler connects to Execution Agents using an object.
The image below depicts the ActiveBatch architecture. In summary, a client connects to the Job Scheduler to add/modify or delete ActiveBatch objects and/or take action against the objects (e.g. trigger a Job, or disable a Schedule). Clients also connect to the Job Scheduler to monitor the runtime environment, and/or to administer the environment (e.g., set policies, security, etc.). Next, the Job Scheduler connects to Execution Agents, where the Jobs run. The Job Scheduler dispatches Jobs to Execution Agents. The Job Scheduler also connects to the ActiveBatch backend database. There are high availability options for the Job Scheduler and Execution Agents. There are also monitoring options that can be utilized to monitor the health of the ActiveBatch environment. High availability for the backend database would be a function of the database you have chosen to use.
Additional utilities are described below (no additional licensing is required).

ActiveBatch provides administrative utilities to assist with the proper operation of ActiveBatch services and licensing.
-
Service Manager – This GUI program allows you to start, stop and otherwise manage ActiveBatch services.
-
License Manager – This GUI program allows you to manage the addition and removal of ActiveBatch licensing keys.

This GUI program allows you to create trigger dates based on a fiscal calendar and user-defined date tags.

This GUI program allows you to test Date Arithmetic expressions to make sure they are syntactically correct, and it displays computed dates based on the expression entered.

This GUI program allows you to compare different Job Scheduler environments, then promote ActiveBatch objects (for example, Plans, Jobs, Schedules, Queues, etc.) from one Job Scheduler to another. For more information, please read the Change Management Guide.

The ActiveBatch Dashboard allows you to graph various performance and Job processing metrics using a variety of graphs. Operational, historical and trend metrics can be graphed for analysis.

Reporting services includes reporting on ActiveBatch instances and templates (i.e. object definitions). The Instance Reporting option contains dozens of built-in reports and is also fully documented to allow for custom reporting through any interface that supports the SQL Server or Oracle Analysis facilities. The Template Reporting facility lets you create your own custom reports concerning all objects and their relationships within ActiveBatch.
Note: Additional configuration is required before you can use Instance and Template reporting. For more information, please see the Reporting Services Guide and the ActiveBatch Installation Guide.