RabbitMQ use in Hub and Interact

The queues referred to in this topic relate to RabbitMQ queues and not to Blue Prism work queues.

The Blue Prism Hub platform uses quorum queues in RabbitMQ, which enable the use of high availability environments. Classic queues are not supported in these types of environments. For more information, see the RabbitMQ documentation on quorum queues.

Queues overview

The following diagram and table illustrate where RabbitMQ® is used in Blue Prism Hub and Interact.

Components

Queues

BPC.Windows
AuditQueue
Listener

BPC.Email
Service

BPC.IADA

BPC.Notification
Center

BPC.SignalR

 

Connect.Core
(Hub)

ImsServer
(Authentication Server)

Interact

P

H

P

H

P

H

P

H

P

H

P

H

P

H

P

H

Hub

ü

 

ü

 

 

 

ü

 

 

 

ü

 

ü

     

Interact

ü

 

 

 

 

 

ü

 

 

 

       

ü

 

Authentication Server

ü

 

ü

 

 

 

 

 

 

 

   

ü

     

Windows Audit Queue Listener

 

ü

 

 

 

 

 

 

 

 

           

Windows IADA

 

 

ü

 

 

ü

 

 

 

 

           

Windows Submit Form Manager

ü

 

ü

 

ü

 

 

 

 

 

           

Windows SignalR

 

 

 

 

 

 

 

 

 

ü

           

Windows Interact Remote API

 

 

 

 

 

 

 

 

 

 

       

ü

 

Windows Email Service

 

 

 

ü

 

 

 

 

 

 

           

License Manager

 

 

 

 

 

 

 

 

 

 

           

Notification Center

 

 

 

 

 

 

 

ü

ü

 

           

Description of table

Queue

  • P = Publish/Send – Posting an object to a queue.
  • H = Handle/Listen – Retrieving an object from a queue.

BPC.WindowsAuditQueueListener queue

Hub and Interact post objects to this queue.

Audit Event Listener retrieves objects from Hub and Interact to store audit events in the Audit database.

BPC.EmailService queue

Hub, Interact, and Submit Form Manager post objects to this queue.

Email Service retrieves object from this queue so it can send emails to the relevant users.

BPC.IADA queue

Submit Form Manager posts object to this queue.

IADA retrieves objects from this queue so it can place submission data into work queues.

BPC.NotificationCenter queue

Hub and Interact post objects to this queue about notifications.

The Notification Center retrieves objects from this queue and stores the notification in the Notification Center database.

BPC.SignalR queue

Notification Center posts objects to this queue to notify that an object has been sent.

SignalR retrieves objects from this queue and pushes a message to Hub or Interact to notify the user that a new notification has been added.

Connect.Core queue

Hub posts objects to this queue, broken down by topics.

Authentication Server and Interact retrieve objects from this queue and update the appropriate data.

ImsServer queue

Hub posts objects to this queue, broken down by topics.

Hub and Interact retrieve objects from this queue and update the appropriate data.

Interact queue

Interact Remote API posts objects to this queue, broken down by topics.

Interact retrieves objects from this queue and updates the appropriate data.

Queue topics

Some of the queues use topics to break down the messaging further. These are displayed as additional entries in the Queues tab in RabbitMQ. Each of these topics can publish (P) or handle (H) messages. For example:

These are appended with Publisher or Handler

Connect.Core
(Hub)

Interact

ImsServer
(Authentication Server)

License Manager

P

H

P

H

P

H

P

H

AddEditUser
(Create or update user)

 

ü

 

ü

ü

 

 

 

AddedUsersFromAd
(Create Active Directory user)

 

ü

 

ü

ü

 

 

 

DeleteUsersFromAd
(Delete Active Directory user)

 

ü

 

ü

ü

 

 

 

UpdateUsersFromAd
(Update Active Directory user)

 

ü

 

ü

ü

 

 

 

DeleteUsers
(Delete user)

 

ü

 

ü

ü

 

 

 

MakeUserAlive
(Activate user)

 

ü

 

ü

ü

 

 

 

UpdateUserProfile
(Update user profile)

 

ü

 

ü

ü

 

 

 

CreateUpdateRoleMessage
(Create or update role)

ü

 

 

ü

 

ü

 

 

DeleteRoleMessage
(Delete role)

ü

 

 

ü

 

ü

 

 

AddEditBusinessProcessForm
(Create or update business process form)

ü

 

 

ü

 

 

 

 

AddFormVersion
(Increase form version)

ü

 

 

ü

 

 

 

 

RemoveLatestFormVersion
(Remove form version)

ü

 

 

ü

 

 

 

 

DeleteForm
(Delete form)

ü

 

 

ü

 

 

 

 

CreateUpdateEnvironment
(Create or update environment)

ü

 

 

ü

 

 

 

 

DeleteEnvironment
(Delete environment)

ü

 

 

ü

 

 

 

 

PluginsLicenseUpdated
(Update plugin license)

 

ü

 

ü

 

ü

ü