Creating and Configuring BackPlane database

In order for CXO-Cockpit to run properly in the load-ballanced environment, the BackPlane database must be created.

The BackPlane database is allowing to connect multiple servers together.

CXO-Cockpit uses a technology called SignalR, which allows bi-directional communication between CXO-Cockpit servers and clients.

It is what allows us for example to notify clients that a storyboard has been shared with them or to display new messages in the conversation without having to reload the webpage.  

It means that if a client decide to scale out his CXO-Cockpit application, to have it run on different servers. SignalR events sent by one server would not be received by clients connected to another server.


 


To create the Backplane database, run the Configurator in the Maintenance tab click on the Backplane Settings link to open the form allowing you to create or select your Backplane database.

In this form you will be first asked to insert an existing Microsoft SQL Server server name.

The second field allow you to insert the name of either a database you wish to create or an already existing database.

Finally enter the credentials of your Microsoft SQL server server.

You can test the connection by pressing the Test button.


Creating a Backplane Database

You have two options concerning the creation of a new Backplane Database:

1. Let the configurator create the database for you.

To do so, simply enter the name of a non existing database in the field Database name¹ and press Create. The configurator will enable the Service Broker for you.


/!\  Once you application is deployed the database will be managed by CXO-Cockpit. Do not alter it manually.


1.If you entered the name of an already existing database before pressing the create button a new Database will not be created. the configurator will, however, verify that the specified database can be used as Backplane database.

2. Create a new database manually and provide it to the configurator.

if you choose to do so make sure that the database is empty and has its Service Broker enabled. It is important for performance reasons. 

if you are not sure you can run the following script:

SELECT [name], [service_broker_guid], [is_broker_enabled]
FROM [master].[sys].[databases]

if the Service Broker is not enabled you can enable it by running the following script:

ALTER DATABASE YOUR_DATABASE SET ENABLE_BROKER