Synchronizing LDAP data to or from a relational database requires creating a Java database connectivity (JDBC) Sync Source or Destination extension to act as an interface between PingDataSync and the relational database. The Server SDK provides APIs to develop plugins and third-party extensions to the server using Java or Groovy. The Server SDK’s documentation is delivered with the Server SDK build in .zip format.

The Server SDK contains two abstract classes that correspond to how the database is used:

The remainder of the SDK contains helper classes and utility functions to facilitate the script implementation. The SDK can use any change tracking mechanism to detect changes in the database. Examples are provided in the <server-root>/config/jdbc/samples directory for Oracle Database and Microsoft SQL Server.

PingDataSync uses a scripted adapter layer to convert any database change to an equivalent LDAP entry. The Sync Pipe then processes the data through inclusive (or exclusive) filtering using attribute and DN maps defined in the Sync Classes to update the endpoint servers. For example, a script using Java can be configured by setting the extension-class property on a ThirdPartyJDBCSyncSource or ThirdPartyJDBCSyncDestination configuration object within PingDataSync. The following figure is a sample architecture.

A diagram illustrating synchronization with RDBMS.