Server Processes

There are two types of server processes: work and communication processes. All server processes communicate with each other. If one process fails, the remaining ones assume its queued tasks.
As of version 11 of the Automation Engine there exists a third kind of server process, the Java work process (JWP). Implemented in Java, it is used to host special services, which have been developed in Java.

Server-process names are formed dynamically from the start sequence and the process numbers that have been specified in the INI file. This file contains a list of port numbers split into work and communication processes. Each process number obtains a port number for the connection. The process numbers must be unique in the entire AE system (even for multiple computer usage). The administration of process and port numbers is therefore very important. The name of a work process starts with the letters "WP" and the next available process number. The name of a communication process begins with "CP" and is also followed by the next available process number. The names of log and trace files are based on the respective process names.

Work Processes

Work processes do the actual "server work". They activate, generate and execute tasks, and monitor them until they are finished.

The primary work process is used for special tasks. It performs central work-process tasks which must not be allocated (time basis, process administration etc.). At system start, the work process which starts first becomes the primary work process. If the primary work process fails, one of the remaining work processes assumes its task (its becomes the primary work process). All relevant information is either regularly updated for all work processes or stored in the database.

The processing of some tasks is more complex than usual. For this reason, they are assigned to a Server role in order to avoid negative impacts to the AE system's performance. Each Server role has its own queue in which the corresponding tasks are stored.

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. At Automation Engine start, the primary work process obtains both Server roles. As soon as a second work process starts, the primary work process assigns the first Server roles to it. The work process which starts third obtains the second Server role. If a work process ends, the primary work process takes this Server role again and assigns it to a work process which does not yet have a Server role. If there is no such work process, the primary work process keeps the Server role.

In the sector "Automation Engine", the System Overview shows whether a work process has a Server role and which one this is.

A work process always processes the tasks of its Server role first. If there are no tasks for this role, it processes tasks of the general work-process queue.

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

The following irrelevant error messages are written to the log file when the first work process (PWP) starts in "cold start" mode and can be ignored:

U0029108 SQL_ERROR  Database-Handles  DB-HENV: 6d92d0  DB-HDBC: 6d93a0
U0003591 DB error info: Opc: 'SQLExecDirect' Return code: 'ERROR'
U0003592 Status: '42S02' NativeError: '4701' Msg: 'Cannot find the object "MQCP006" because it does not exist or you do not have permissions.'
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 (DWP) are special forms of work processes. They perform in the same way as regular work processes but are exclusively responsible for UserInterface messages (see also: Dialog Process).

AE.NonStopServer

With the use of NonStop processes, processing is taken on by the computer on which the NonStop server processes have been defined if the computer with the active server processes stops (see also: AE.NonStopServer).

Communication Processes

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

See also:

Multi-Server Operation

Java Work Process