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

Note:

Server SDK support is provided with Premium Support for each product. Ping Identity does not provide support for the third party extensions developed using the Server SDK. Contact a Ping Identity support representative for assistance.

Server SDK support is provided with Premium Support for the each product. Ping Identity does not provide support for the third party extensions developed using the Server SDK. Contact a Ping Identity support representative for assistance.

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 Server 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 Server. The following is a sample architecture.

Synchronize with RDBMS overview