Server Processes

The Automation Engine uses four main types of server processes: work processes (WP) and Java work processes (JWP), communication processes (CP), and as of v12.1, the Java communication process (JCP) which hosts special services such as the REST API. The dialog process (DWP) is a special process that is used for AWI messages.

The following graphic shows that all server processes communicate with each other. If one process fails, the remaining ones take over.

Server-process names are dynamically built and reflect the starting order and a process number that is specified in the Automation Engine's INI file. This file includes a list of port numbers that are specifically assigned to WPs and CPs. Each process number obtains a port number for its connection.

Process numbers must be unique in the entire AE system even if the system is distributed over several computers.

Work process names start with the letters WP followed by the next available process number. Communication process names start with CP followed by the next available process number. The name of a JCP also starts with CP but for load-balancing reasons, it uses the highest available process number. Log and trace file names are based on the related process names.

Work Processes (WP) and Primary Work Process (PWP)

Work processes do the actual server work. They activate, generate and execute tasks, and monitor them until they are finished. The primary work process (PWP) is used for special tasks. It performs central WP tasks that must not be distributed such as the time basis, or process administration.

At system start, the WP that starts first becomes the PWP. If the PWP fails, one of the remaining WPs turns into a PWP. All relevant information is either regularly updated for all WPs or stored in the database.

Some tasks require more attention when they are processed than others. For this reason, and to avoid negative impacts on the system's performance, they obtain a server role. Each server role has its own queue in which the corresponding tasks are stored.

The following server roles are available:

Server role Description
"O" for outputs
  • Stores log messages of server processes and agents to the AE database
  • Stores activation reports of ERP and Java agents of the Automation Engine
"R" for resource calculations
  • Checks Sync objects
  • Calculates Calendar objects
  • Maximum number of simultaneous object executions
  • Events of type "Console"
  • Automatic FileSystem events
  • Deadlock avoidance

Each server role is only assigned once. When the Automation Engine starts, the PWP obtains both server roles. As soon as a second WP starts, the PWPs assigns the first server roles to this WP. The WP that starts as the third one obtains the second server role. If a WP ends, the PWP takes this server role again and assigns it to a WP that does not yet have a server role. If there is no such WP, the PWP keeps the server role.

A WP always processes the tasks of its own server role first. If there are no tasks for this role, it processes tasks of the general WP queue.

Starting a WP in cold-start mode has the effect that all requests that are still available will be deleted.

In the Role column of the Processes & Usage page in the Administration perspective, you can see whether a WP has a server role and which one this is. See The Processes List

Ignore the following error messages that are written to the log file when the first work process (PWP) starts in cold-start mode:

U0029108 SQL_ERROR  Database-Handles  DB-HENV: 6d92d0  DB-HDBC: 6d93a0
U0003591 DB error info: Opc: 'SQLExecDirect' Return code: 'ERROR'
U0003594 UCUDB Ret: '3590' OpCode: 'EXEC' SQL-Stmnt: '{call UC_Truncate_Table('MQCP006')}'
U0003590 DB error: 'SQLExecDirect', 'ERROR  ', '42S02', 'Cannot find the object "MQCP006" because it does not exist or you do not have permissions.'

Dialog Processes

Dialog processes (DWPs) are a special form of work processes (WPs). DWPs work in the same way as WPs but are exclusively used for Automic Web Interface messages.

See Dialog Process.

AE.NonStopServer

When you are using non-stop processes, the computer on which the NonStopServer processes are stored takes over if the computer with the active server processes stops. See AE.NonStopServer).

Communication Processes

The communication processes hold the connections to the agents and the Automic Web Interface. All communication between agents and Automic Web Interfaces is exclusively performed through CPs. After the start, a connection is established to the primary work process. 

See also: