1.2 Driver Concepts

1.2.1 JDBC

Java DataBase Connectivity (JDBC) is a cross-platform database interface standard that Sun* Microsystems* developed.

Most enterprise database vendors provide a unique implementation of the JDBC interface. Three versions of the JDBC interface are available:

  • JDBC 1 (Java 1.0)

  • JDBC 2 (Java 1.2 or 1.3)

  • JDBC 3 (Java 1.4 or 1.5)

The Identity Manager Driver for JDBC primarily uses the JDBC 1 interface. It uses a small subset of JDBC 2 or JDBC 3 methods when supported by third-party JDBC drivers.

1.2.2 Identity Manager Driver for JDBC

The Identity Manager Driver for JDBC uses the JDBC interface to synchronize data and identities between an Identity Vault and relational databases.

The driver consists of four jar files:

  • JDBCShim.jar

  • JDBCUtil.jar

  • JDBCConfig.jar

  • CommonDriverShim.jar

In addition to these files, you need a third-party JDBC driver to communicate with each individual database.

1.2.3 Third-Party JDBC Driver

A third-party JDBC driver is one of the numerous JDBC interface implementations that the Identity Manager Driver for JDBC uses to communicate with a particular database.

For example, classes12.zip is one of the Oracle* JDBC drivers. Different third-party JDBC drivers implement different portions of the JDBC interface specification and implement the interface in a relatively consistent manner.

The following illustration indicates the relationship between the Driver for JDBC and third-party JDBC drivers.

Figure 1-1 IDM JDBC Driver vs. Third-Party JDBC Drivers

1.2.4 Identity Vault

An Identity Vault is the data store that Identity Manager uses.

1.2.5 Directory Schema

The directory schema is the set of object classes and attributes in the directory.

For example, the eDirectory™ User class and Given Name attribute are part of the eDirectory schema.

1.2.6 Application Schema

The application schema is the set of classes and attributes in an application.

Because databases have no concept of classes or attributes, the Driver for JDBC maps eDirectory classes to tables or views, and maps eDirectory attributes to columns.

1.2.7 Database Schema

Database schema is essentially synonymous with ownership. A database schema consists of database objects (for example, tables, views, triggers, stored procedures, and functions) that a database user owns.

With the Driver for JDBC, schema is useful to scope the database (reduce the number of database objects visible to the driver at runtime).

Ownership is often expressed by using a qualified dot notation (for example, indirect.usr, where indirect is the name of the database user that owns the table usr). All of the database objects owned by indirect constitute the indirect database schema.

1.2.8 Synchronization Schema

The synchronization schema is the database schema visible to the driver at runtime.

1.2.9 Logical Database Class

The logical database class is the set of tables or view used to represent an eDirectory class in a database.

1.2.10 XDS

XDS format is the defined Novell® subset of possible XML formats that Identity Manager can use.

XDS is the initial format for data coming from the Identity Vault. By modifying default rules and changing the style sheets, you can configure the Driver for JDBC to work with any XML format.