LDAP has four key advantages over DAP. First, it runs directly over TCP
(or other reliable transport, in theory), eliminating much of the connection
set-up and packet-handling overhead of the OSI session and presentation
layers required by DAP. In addition, the near universal availability of
TCP/IP implementations means that LDAP can run on most systems "out
of the box."
Second, LDAP simplifies the X.500 functional model in two ways. It leaves out the read and list operations, emulating them via the search operation. It also leaves out some of the more esoteric and less-often-used service controls and security features of full X.500 (e.g., the ability to sign operations). This simplifies LDAP implementations.
Third, though X.500 and LDAP both describe and encode protocol elements using ASN.1 and BER , LDAP uses string encodings for distinguished names and data elements. X.500 uses a complex and highly-structured encoding even for simple data elements; LDAP data elements are string types. This encoding is a big win for distinguished names, which have considerable structure leading to encoding/decoding complexity and size. LDAP relegates the knowledge of a value's syntax to the application program rather than lower-level protocol routines.
Finally, LDAP frees clients from the burden of chasing referrals. The LDAP server is responsible for chasing down any referrals returned by X.500, returning either results or errors to the client. Clients assume a single connection model in which X.500 appears as a single logical directory.