Delphi framework for data replication
TMS Echo is a Delphi framework for data replication. It's part of TMS Business product line, and it's relies on TMS Aurelius to function.
What does it do?
It allows you to have two or more databases and synchronize data between them. Changes you make to one client database (inserts, updates, deletes) can be sent to another database. It's bidirectional, so you can send and receive changes between databases.
How does it work?
It creates a log of all the changes made to a database (using TMS Aurelius), and when requested, it sends those changes to the other nodes (databases) registered to receive changes from that one database. Thanks to relying on TMS Aurelius, it works very smoothly and almost automatically, since it benefits from existing information and mechanisms like logging, mapping, model information, etc.
How can I benefit from it, in what types of applications can I use it?
TMS Echo is great if you want to distribute your databases so you don't need to have a direct connection to a central database for your application to work. It will perform data on a local database and synchronize data to central database when needed. Some examples of scenarios:
- Client applications that need to work offline
- Applications on mobile devices with slow connection (3G, bad Wifi)
- Users that go out of office with notebooks/mobile devices to places where there are no internet connections
- Any scenario where connection to server is not 100% reliable and you need to be sure your application will be available to work all the time (save data)
- Better performance by using local databases
- Improve the application overall performance by saving data in a local database (or a database in a local server network)
- Send data to a remote server in a background/service process, while keeping the user experience smooth by saving data locally
- Client data is only a subset of central, server data (multi-tenancy)
- You might have a distributed system where you need a central database server with all data for static purposes, but each client will only have access to a subset of that data (multi-tenancy architecture)