9.1 Interoperability or Integration?

The terms interoperability and integration each have a different place within our coverage of LDAP. For our purposes, directory integration means enabling client applications to access data in an LDAP directory, a topic that has been covered extensively in previous chapters. Interoperability should address communication between LDAP servers themselves. The distinction between integration and interoperability begins to blur when one LDAP server becomes the client of another LDAP server.

Whenever you start thinking about interoperability or integration, your first step should be to ask what level of interoperability or integration your application requires. There are a number of solutions that provide interoperability or integration in various forms. Knowing what your application requires will make it much easier to decide which solution is appropriate. Table 9-1 lists some common approaches to interoperability and integration issues.

Table 9-1. Common directory interoperability solutions


Possible solution


"What can I do if my application doesn't speak LDAP?"

Gateways that translate one directory access protocol into another

The NIS/LDAP gateway presented in Chapter 6

"How can users in a non-Unix administrative domain access services on Unix hosts?"

Cross-platform authentication services

Authenticating non-Microsoft clients against an active directory

"How can I join information contained in different directories?"

Distributed, multivendor directories glued together by referrals and references

Connecting directories from different vendors into a single DIT

"How can I unify access to the databases and directories held by multiple departments in my organization?"

Metadirectories that provide an integrated view of several disjointed directories and databases

Using an LDAP proxy server to translate entries from a second directory into the format needed by client applications

"How can I implement replication or synchronization between directories from different vendors?"

Push/pull agents that synchronize information from one directory to another

Customizing scripts or in-house tools that suck data from one server and uploading it to another directory after translating it into a format understood by the second server

This chapter examines ways to implement each approach. No single approach is a solution in and of itself; they're tools that you can use to assemble a solution that works in your environment. My intent, therefore, is to spur your imagination and introduce you to the different types of glue that are available for coordinating directory services.