We use cookies to improve our website and your experience when using it. By using our services, you agree to our use of cookies. To find out more about the cookies we use and how to delete them, see our privacy policy


How it works

Technical Details

Duplo constantly monitors the configured systems and the communication with other systems mapped on the network, in order to keep always the data correctly synchronized. All these streams are managed by the Duplo Service Manager, which is nothing more than an application server running on the Duplo machine.

The key function of Duplo is simple: capture changes made by applications in the database and replicate them in the target database. In this way, data are kept updated in real time in all the databases mapped by Duplo.

Let's see in detail how this process occurs. The operating modes are divided into five phases:

Capturing the changes

The inventory of the changes occurred in a database is given by the journal, a file that records all the activities. Duplo has its own journal which captures all the changes occurred in the record: updates, inserts, and deletes. This informations can be intercepted by Duplo in two different ways, depending on the database: either by the database's own journal or through Triggers, programs launched by the database which report the changes occurred. Both methods work even when Duplo, for whatever reason, should be temporarily inactive (eg. for an interruption of connectivity or during maintenance of the system). This feature grants that all changes made by source database will always be recorded.

Sending to destination database

The variation recorded by Duplo’s Journal, is sent to all target systems. Each database, thanks to the bidirectional alignment, can either receive or send information. Except in cases where you decide to filter the records which have to be updated, all databases will be always updated. During this step it is possible to apply rules, deciding whether  to send or not a variation to a certain system, or transform the contents of a field through functions defined inside Duplo’s scripting framework.

Receiving and optimization

Before being inserted, the variations are be optimized depending on the operating modes of the target database. Optimization, designed to increase efficiency and speed, ensures a perfect communication between systems based on different procedures  and languages.

Updating Data

Changes are inserted to the target database. The scripting possibilities provided by Duplo ensure, in this as in other steps, a high level of flexibility in the operations to be performed. You can include simple logic considerations, without writing code, using only the mouse. But, if needed, you can also insert very complex logics and rules, using the internal scripting framework.

Notification of successful update

Duplo ends its action logging the entire task and recording the updates. For all the positive feedbacks of correctly finished updates, Duplo will communicate to the source database to remove from the journal the items already entered, for negative responses Duplo will generate one or more notification messages.