The GORDA Architecture and Programming Interface (GAPI) allows portable replication protocols to be easily iplemented and reused with different database management systems. It is designed to be provided either natively by the database server or by a server wrapper.
The included functionality supports a variety of replication protocols, both master-slave or multi-master, synchronous or asynchronous. It should also be useful to build other data management tools.
The GAPI uses reflection, as abstract transaction processing concepts appear as objects in the target data model and programming language, and is based on widely used and tested design patterns and APIs (e.g. JDBC).