Synchronizing LDAP data to or from a relational database requires creating a 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:
com.unboundid.directory.sdk.sync.api.JDBCSyncSource
com.unboundid.directory.sdk.sync.api.JDBCSyncDestination
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 is a sample architecture.