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:
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.