CopyCat -- database replication engine for Embarcadero Delphi / C++Builder
CopyCat is a Delphi VCL component set embedding a full-featured database replication engine. This allows you to build your own personalized replication tool around CopyCat to rapidly develop highly stable replication systems of all sorts. CopyCat provides the grunt work, you concentrate only on the business logic specific to your situation. Thus you save time, and get a fully featured replication system with very little effort!
CopyCat is highly configurable -- the main replication component provides 31 events, allowing you to personalize every step of the replication logic, as well as keep track of the errors, log the progress, etc. This means that you will truly have full flexibility to tweak CopyCat for use in complex situations, without needing to code any of the logic from scratch. Again, you need only be concerned with the business logic required in your specific circumstances.
- Configurable two-way replication. You can easily choose to replicate all or only some of your database tables, in both directions or only one-way.Advanced conflict management techniques, allowing you to completely avoid the risk of crushing any data in the event that changes were made to the same record in both databases.
- Configurable per-table filtering. You needn't replicate a whole database table, you can choose to share only part, or to share different elements with different nodes of the replication system... Any combination is possible, using an SQL expression as a filter condition allows you full flexibility to apply any synchronization logic that meets your requirements!
- Manual synchronization capabilities. Typically, CopyCat automatically logs changes to the tables you want to replicate (using database triggers). In complex situations however, it can be useful to be able to manually specify which records need to be synchronized : with one procedure call, you can synchronize all records matching a user-specified SQL condition, thus giving you full control over the replication process while still considerably simplifying your task. This can also be useful for initially pumping data into an empty database when setting up replication.
- Advanced primary key synchronization techniques, using either a generator, a stored procedure, or a custom SQL expression. This makes it easier to manage primary keys in a two-way replication system.
- Transport layer abstraction. Various transport layers can be transparently plugged in, so that replication can take place without directly connecting to the various databases over the network. This can allow better security and/or compression, depending on the transport layer being used. We currently support XMLRPC and RTC.
- Java server side. If used with a transport layer, a server side receiver is needed. This can be implemented in Delphi (using any supported transport layer), in Java (using XMLRPC) or in PHP (also using XMLRPC). This provides flexibility and
- Support for Interbase, Firebird, and Microsoft SQL Server and MySQL/PHP. You can also mix and match, so that a MySQL database on a PHP server can be synchronized with a Firebird database server, and vice versa.
- Supports C++Builder 5 - 6, Delphi 5 - 7 and Embarcadero RAD Studio 2006 - XE.
- Support for many different data-connectivity components: FIBPlus, IBX, IBObjects, UIB, Zeos and ADO.
- Missing a feature? We are eager to offer custom development of features that would be useful for you but that are currently missing from CopyCat. Our development is very reasonably priced : simply contact us here to ask for a quote!

