To enable dynamic lookup of LDAP server URLs the LDAPServerDescriptor and associated classes should be able to handle URLs of the format 'ldap:///dc=nuxeo,dc=org' where the hostport part of the URI is empty.
This should query the dns server for the service record _ldap._tcp.nuxeo.org to retrieve a list of servers providing the ldap service for the specified domain.
The service identifier should be modifiable to allow flexible use of other ldap services registered under different service records, for example use of the Global Cache as provided by Microsoft Active Directory which uses the _gc._tcp prefix.
The resultant DNS queries should be cached (with expiry) to prevent the need for repeated DNS querying and parsing whilst allowing changes to the network structure to have minimal effect on the operation of the server.