As part of a a Novell led team to design and build synchronization from Edirectory to Custom Oracle Database.

Designed and implemented Novell's JDBC driver to meet the requirements.

NYCT previously stored all functional data for Photo Identification Card application in an Oracle 8i database. Employee information was needed to be synchronized from I-Vault to the PIC System, and Cardholder information will be synchronized from the PIC System to I-Vault. Card holder data is needed to authenticate new users in I-Vault.

Implementation Overview#

This implementation deviates from the standard IDM JDBC driver design to support the overall goals and technical requirements of the PIC Identity solution. These decisions were made after weighing several options carefully, and were decision points made between the joint team during the discovery and design phase of this engagement.

The normal “goal” of the “standard” IDM JDBC connector is to maintain synchronization between a SQL table and a Edirectory ObjectClass. The design requirements prevent the normal implementation of the IDM JDBC driver. The IDM PIC connector is implemented as two instances of the IDM JDBC driver. One driver handles data flow “To PIC” and one handles data flow “From PIC”. The implementation provides a clean separation of the duties of each instance of the driver while allowing the design requirements to be obtained.

The design requirements may be classified in two basic functional requirements.

Data from the PIC Application (FromPIC)#

The design requirements are to obtain ivPicAFCInfo and ivPicCardHolderID values from the PIC application for entries in IVAULT. The data from PIC is implemented by using Publisher and Subscriber processes within the FromPIC instance of the driver.


When an entry is added to IVAULT which matches the requirements, the FromPIC Subscriber channel will query the AFC_VIEW for a row that matches the ivSSN for the IVAULT entry. If a match is found, then the values of the ivPicAFCInfo and ivPicCardHolderID will overwrite any values in IVAULT.


When a row is added to the IDM_TT table, the FromPIC Publisher which periodically queries the IDM_TT table will obtain the data from the added row. The values in the added IDM_TT row will be used to locate a row in the AFC_VIEW. The FromPIC Publisher will then try to find an entry in IVAULT based on the ivSSN value provided in the AFC_VIEW. If a match is found, values from the AFC_VIEW will overwrite any values within IVAULT.

Data to the PIC application (ToPIC)#


Any entry in IVAULT that meets the synchronization policy that is added or modified, the values for the attributes in the schema mapping policy will be inserted in a new row in the PIC_TT table.


The FromPIC Publisher is disabled in the PIC implementation.

New York City Transit Success Story#