My Java Tips

JNDI - Introduction

JNDI is a standard Java API that comes with JDK 1.3 and higher. It provides a common interface to a variety of existing naming services for example DNS, LDAP, Active Directory, RMI registry, COS registry, NIS, and file systems.

The JNDI API is divided logically into a client API and service provider interface. Client API is used to access naming services and a SPI allows the user to create JNDI implementations for naming services.
The naming service providers must implement SPI to enable the core JNDI classes to expose the naming service, using the common JNDI client interface. So SPI is of interest only if you are planning to create a naming service. An JNDI implementation is referred to as a JNDI provider. JBoss naming is an example of JNDI implementation (means it implements SPI). If you are a J2EE component developer, then you may not need to study JNDI SPI.