Un proveedor de servicios básico necesita los siguientes componentes:
Implementación del Contexto.
Una clase que implementa el interface
Context o uno de sus subinterfaces. Esta implementación es el
corazón del proveedor. Es responsable de manejar casi todas las peticiones
enviadas por las aplicaciones de usuario.
Factoría de Contextos Iniciales.
Una clase que implementa el interface InitialContextFactory. Esta factoría crea el contexto
raíz que satisfará las llamadas a métodos sobre el
InitialContext o sus subclases. El contexto raíz que se crea con la
factoría de contextos iniciales normalmente es un ejemplar de la implementación de
contexto.
Analizador de Nombres.
Una clase que implementa el interface
NameParser. La implementación de contexto usa este
analizador para analizar los nombres que pertenecen a su espacio de nombres.
La siguiente imagen ilustra como interactúan estos tres componentes. Las flechas
indican caminos de ejemplarización.
Añadir Extensibilidad
Para hacer que una implementación de contexto sea extensible, deberíamos usar métodos
proporcionados por el marco de trabajo SPI de JNDI. Estos usan las clases
object, state, y factorías de controles de respuesta
accesibles a la aplicación. Estas factorías podrían ser empaquetadas con el proveedor
de servicios o ser suministradas por la aplicación. La siguiente figura muestra como
un proveedor de servicio básico interactúa con estas factorías: