JNDI is a service-provider interface. You can use this to store serialized objects into LDAP, for example. JNDI uses LDAP syntax for search filters.
JNDI posts NamingException.
LDAP has an attribute for object class. The JNDI list() method returns the name and type of data. Authentication can be passed to JNDI which passes it down to directory service - each service has its own way to handle authentication, so you have to do special code here for now.
In the slide example, the variable environment is a hash table of properties.