This page provides a basic comparison of the capabilities included in JNDI, the Netscape Directory SDK for Java, and the UnboundID LDAP SDK for Java.
| Description | JNDI | Netscape SDK | UnboundID SDK | 
|---|---|---|---|
| Full support for the core LDAPv3 protocol | Yes | Yes | Yes | 
| Uses LDAPv3 by default | Yes | No | Yes | 
| Ease of use | Poor | Moderate | Excellent | 
| Support for Java SE 5+ features | 
 | None | 
 | 
| Supported standards-based controls | 3 | 7 | 32 | 
| Supported standards-based extended operations | 1 | 0 | 7 | 
| Supported SASL mechanisms | 5 | 1 | 9 | 
| Direct support for asynchronous operations | No | Yes (via queue polling) | Yes (via notification interface or Java futures API) | 
| Support for connection pooling | Basic | Basic | Enhanced | 
| Multiple connection pools in the same JVM | No | Yes | Yes | 
| Support for failover between servers | None | Basic | Enhanced | 
| Support for load balancing across servers | No | No | Yes | 
| Reusable request objects | No | No | Yes | 
| Disconnect notification | No | No | Yes | 
| Access to response data for successful operations | 
 | 
 | 
 | 
| Access to response data for failed operations | 
 | 
 | 
 | 
| Client-side entry sorting | None | Basic | Enhanced | 
| Client-side filter evaluation | No | No | Yes | 
| Provided example tools | 0 | 3 | 30 | 
| Description | JNDI | Netscape SDK | UnboundID SDK | 
|---|---|---|---|
| Secure communication with SSL | Basic | Basic | Enhanced | 
| Secure communication with StartTLS | Basic | None | Enhanced | 
| Secure communication with SASL QoS | Yes | No | Yes | 
| Prevent simple binds with a DN but no password | No | No | Yes | 
| Methods for retrieving the client identity | None | None | 
 | 
| Support for the proxied authorization control | None | V1 Only | V1 and V2 | 
| Supported password policy controls | None | 
 | 
 | 
| Supported password policy extended operations | None | None | 
 | 
| Support for atomic operations | None | None | 
 | 
| Search filter construction | Basic | None | Enhanced | 
| Description | JNDI | Netscape SDK | UnboundID SDK | 
|---|---|---|---|
| LDIF processing | None | Basic | Enhanced | 
| Base64 processing | None | Basic | Enhanced | 
| ASN.1 BER processing | None | Basic | Enhanced | 
| Root DSE parsing | No | No | Yes | 
| Schema parsing | Basic | Basic | Enhanced | 
| Changelog entry parsing | No | No | Yes | 
| LDAP Object Persistence | None | None | Enhanced | 
| LDAP Communication Decoding | None | Limited | Enhanced | 
| Command line argument parsing | None | Basic | Enhanced | 
| Simple LDAP-enabled command-line tool development | No | No | Yes | 
| Description | JNDI | Netscape SDK | UnboundID SDK | 
|---|---|---|---|
| Actively developed and enhanced | No | No | Yes | 
| Full localization support | No | No | Yes | 
| Testing support classes | None | None | In-Memory Directory Server, LDAPTestUtils class | 
| Availability of debug information | Basic (using JDK logging) | Basic (debug written to standard out, trace written to a custom handler) | Enhanced (using JDK logging) |