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.