Synchronization servers


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.
  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.

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:
    • For selecting TLS version: -Djdk.tls.client.protocols=TLSv1 (Be in mind TLSv1.2 will be the default version, but some old applications can use TLSv1)

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 restat the Syncserver.


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 update the Type and Java options of a synchronization server.
Undo Allows you to undo the changes to quit without save them.
Delete Allows you to delete a synchronization server.