A service provider implements contexts in a naming system. It also implements an interface, such as JNDI, which is the programmatic abstraction of contexts and their methods, whereas service providers contain the implementation of JNDI contexts.
This section covers the following topics:
Just as a naming system is comprised of contexts organized by function, a service provider is comprised of the implementations of those contexts. A service provider also has an initial context factory, which can produce entry points into the provider. Contexts in naming systems map JNDI operations to the semantics of the underlying naming system. This means that calling a Context or DirContext method on a DirContext from a different service provider can produce different results.
The file system is a well-known naming system, so it is a good example of the composition of a service provider. The File System service provider contains the following contexts:
The programmatic entry point to the File System service provider. When setting the system properties, use the FileSystemInitialDirContextFactory.
The implementation of a volume mounted on a NetWare server.
The implementation of a directory.
The implementation of a file.
Novell has implemented JNDI methods for named objects in Novell naming systems. Although these providers are public implementations of Context and DirContext, you cannot access provider classes except through JNDI. Following is a list of the Novell services (including JNDI Providers) that Novell has currently implemented.
Describes the Bindery provider for JNDI, which manages objects stored in a NetWare server's bindery.
Describes the NetWare file system provider for JNDI, how to access file streams, create and delete files, and access the attributes of the NetWare file system.
Describes the NetWare provider for JNDI, which acts as a logical root namespace for the Novell Providers for JNDI.
Describes the NetWare Core Protocol (NCP) Extensions provider for JNDI, and how to access these NetWare operating system extensions.
Describes the NDS provider for JNDI and the NDS service, including NDS objects, schema, and partitions.
Describes the Queue Management System provider for JNDI, including the creation, submission, and servicing of queue jobs.
Describes the Server provider for JNDI, and the server management and control functionality.