Skip to main content

Synchronization servers

Description

Sync server is the engine responsible for connecting Soffid with data sources or managed systems.

Soffid allows you to configure different synchronization servers. These synchronization servers are installed and configurated using command line tool. 

More information about how to install sync server on the Installation chapter. Here you can find information on how to install a sync server in different environments.

Whenever an action is performed on any Soffid object, a synchronization task is created in Soffid database.

Initially, most of the tasks should be forwarded to every managed system connector. The specific system connector will be responsible for applying (or ignoring) the task to the managed system.

The normal synchronization server flow for a task is as follows:

1. Engine timely reads pending tasks table (SC_TASQUE). To avoid two sync servers to process the same task, the column TAS_SERVER is updated to reflect the actual server that is processing it.

2. Engine manage tasks priorities and updates the task queue. Engine keeps track of one task queue for each managed system connector.

Soffid allows you to configure the parameter soffid.sync.engine.threads with the number of threads available to run the tasks.

For more information about this parameter you can visit the Soffid Parameter page.

3. Engine has created some execution threads to forward each task to the specific connector class. During this process, dispatcher can decide to reject (mark as done) the task without forwarding it.

4. The specific connector class gets additional information about the task from core services.

5. Task is removed from database when every dispatcher has done it.

This architecture and its optimized engine allow Soffid to achieve great performance.

Screen overview

image-1641823484543.png


image-1641823523641.png

Standard attributes

  • Name: name of the synchronization server.
  • URL: URL of the synchronization server.
  • Type: there are different kinds of synchronization servers:
    • Synchronization server: that server connects to the main database and allocates the task to the different agents.
    • Synchronization agent proxy: uses a push mechanism. The main Synchronization server will send the tasks to the synchronization agent proxy when it detects tasks for the proxy. That server does not connect to the main database. 
    • Remote synchronization server: uses a pull mechanism. That server is asking for its tasks, when it asks and the Synchronization server has a task for the remote, the Synchronization server will send that tasks. That server does not connect to the main database. 
    • Synchronization agent gateway: this server is the broker between the main synchronization server and the remote servers.
  • Java options: additional parameters to pass to JVM (Java Virtual Machine). Some useful parameters:
    • For a high capacity server are: -Xmx1024M
    • For debugging communication: -Djavax.net.debug=ssl
    • To enable sync server to use old TLS version in client connections (from sync server to a managed system) add  -Djdk.tls.client.protocols=TLSv1,TLSv1.1 (Be in mind TLSv1.2 will be the default version, but some old applications can use TLSv1)
    • To enable sync server to use old TLS version for incoming connections (from a server or desktop to the sync server) add  -Dsoffid.tls.protocols=TLSv1.1,TLSv1,TLSv1.2,TLSv1.3  -Dsoffid.tls.excludedCiphers="^.*_(MD5)$" Mind that the system security can be compromised by using deprecated TLS protocols

If you change the Java Options of an existing Syncserver, you will need to restart the Syncserver.  You can visit the Sync server monitoring page for more information about how to restat the Syncserver.

If you are working on Soffid Console version 2.x to change the capacity you need to edit the iam-console.vmoptions file and change the -Xmx attribute.

Actions

Synchronization server query

Download CSV file

Allows you to download a CSV file with the  information of all synchronization servers. 

Synchronization server detail

Apply changes Allows you to save the synchronization server data and quit.
Save Allows you to save the synchronization server data
Undo Allows you to undo the changes to quit without save them.
Delete

To delete a sync server you can click on the hamburger icon and then click the delete button (trash icon).

Soffid will ask you for confirmation to perform that action, you could confirm or cancel the operation.