Automation 360 architecture and resiliency

Automation 360 is a single, integrated platform that transcends front office and back office technology silos to automate business processes across all systems and applications, including both SaaS and legacy apps.

The Automation 360 platform is deployed using a distributed architecture.

Centralized management is done through a web-based server, called the Control Room, to manage all development and execution of the digital workforce. The Bot Agent executes automation and are run time systems installed on the devices.

The following image shows the architecture and relation between Control Room and Bot Agent:

Bot Agent architecture

  • *indicates that the Control Room creates a unique user name and device ID to persist in the public key in the database.
  • **indicates that device public key is validated by the Control Room and a new token is created.

The following table describes the flow and the actions that occur between the Control Room, Bot Agent and the back end services (as numbered in the previous image):

Actions Description
1 The browser sends the device token to the Bot Agent for registration.
2 The Bot Agent then registers the device request to create a public key and a token.
3 The back end services of the Control Room sends a response to the Bot Agent that the device has been registered with a unique user name and device ID.
4 The Bot Agent sends a message to the browser that the device has been registered successfully.
5 The Bot Agent sends a message to the back end services of the Control Room to indicate that the JSON web token has been authenticated successfully.
6 The back end services of the Control Room then validates the device public key and establishes a Web Socket connection with the new token.

Control Room and Bot Agent resiliency

The following table provides you the behavior and resiliency differences between Automation 360 and Enterprise 11.

User action Bot Agent in Automation 360 Bot Runner Client in Enterprise 11 Notes
Services Installation services are run on the local device. Installation services are run inside an active user session.
Registration Device is registered to the Control Room. An active user is registered to the Control Room. Bot Agent service runs on the local system.
Authentication Control Room stores the agent public key in the database. Control Room stores the authentication key in the memory. In Automation 360, the Control Room stores the public key in the database. So when the Control Room restarts, the reconnection is accepted faster. The Bot Agent is resilient across Control Room restarts.

However, in Enterprise 11, the Control Room reconnection does not happen after a restart.

Bot deployment Priority of bots is verified at deployment.

When bots are queued for a Bot Runner user, higher-priority bots are deployed before lower-priority bots.

However, if a lower-priority bot is already running, higher-priority bots are deployed only after the lower-priority bot completes running.

When a low-priority bot is running and a high-priority bot is deployed, the system pauses the low-priority bot and runs the high-priority bot.

After the high-priority bot is run, the low-priority bot resumes.

Advantage in Automation 360 is that lower priority bots are not paused and complete their deployment before the high-priority bots are deployed.
Error Handling Error handler package contains actions to easily handle exceptions a bot encounters and transfers control to other actions within that bot. Error Handling command helps in debugging when the Task Bot and MetaBot Logic are run.
Devices Connected when device is registered with the Control Room.

Reconnects when the device restarts.

When the Bot Runner Client restarts or loses connectivity with the Control Room, you must re-log to the Client to reconnect. Bot Agent reconnects without individually logging in to every single device.
Reconnection Bot Agent reconnects automatically if there is an interruption. The Bot Runner client needs to be reconnected manually. Bot registration in Automation 360 is more robust and can reconnect automatically to the Control Room.
Public and private key Public and private key is generated at the time of device registration.

This key is used to authenticate to the Control Room.

Same behavior as in Automation 360.
Services Bot Agent is run as a service. When device reboots, the services are automatically connected to the Control Room. Requires a client to log in and perform tasks.
Remote connection Remote Desktop Protocol is supported only on multi-user devices.

The Control Room does not maintain the RDP.

Remote Desktop Protocol is supported on both single and multi-user devices.

In Enterprise 11, Remote Desktop Protocol connection is established from the Control Room and maintained by the Control Room.

Auto-updates Control Room administrator can choose to automatically update the Bot Agent to a later version using auto-update capability. Auto-update option is not available. Auto-update reduces downtime because each user is not required to log in to the Control Room to update the Bot Agent installed on the user device.
Configuration updates Updates are pushed through Cloud No standalone configuration updates, but you can change it manually.

Enhancements to the configurations are released as patches.

Global cache Configure device settings to automatically set a user's current device as default device after the user logs in to the Control Room. Not available
Loss of connection from Bot Agent to Control Room Bots that are already running run to completion during the update. In general, bots already running can run to completion during the update. Exceptions are as follows:
  • If the bot tags data for Bot Insight, the bot will not run.
  • Parent/child bots will run to completion because the child bots are downloaded at the start of running the parent bot. However, if child bots are referenced using a variable parameter, calling those child bots need the Control Room to be available during parent bot runs.
  • Bots that use workload management (WLM) will not run.
  • If a bot is using values from Credential Vault, the bot execution might fail if the Control Room connection is interrupted or lost. This happens as the bot fetches the value from Credential Vault at the time of use.

Scheduling resiliency

Device pools provide built-in high availability (HA) for the Bot Runner devices if your unattended license is free to use. You are not tied to a single Bot Runner device, so if your device is unavailable for any reason and your unattended license is free for deployment, your automation is not affected. The scheduled automation will automatically run on the next available Bot Runner device, thereby providing high availability.

See About device pools.