Service provider interface
Encyclopedia
Service Provider Interface (SPI) is a software mechanism to support replaceable components.

It is the implementer-side equivalent of an API
Application programming interface
An application programming interface is a source code based specification intended to be used as an interface by software components to communicate with each other...

; a set of hooks that can or must be overridden.

From Java official documentation: "A service is a well-known set of interfaces and (usually abstract) classes. A service provider is a specific implementation of a service. The classes in a provider typically implement the interfaces and subclass the classes defined in the service itself. Service providers can be installed in an implementation of the Java platform in the form of extensions, that is, jar files placed into any of the usual extension directories. Providers can also be made available by adding them to the application's class path or by some other platform-specific means."

The concept can be easily extended to any other platform using the corresponding tools.

In the Java Runtime Environment, SPIs are used in JDBC
Java Database Connectivity
Java DataBase Connectivity, commonly referred to as JDBC, is an API for the Java programming language that defines how a client may access a database. It provides methods for querying and updating data in a database. JDBC is oriented towards relational databases...

, JCE
Java Cryptography Extension
The Java Cryptography Extension is an officially released Standard Extension to the Java Platform. JCE provides a framework and implementation for encryption, key generation and key agreement, and Message Authentication Code algorithms...

, JNDI
Java Naming and Directory Interface
The Java Naming and Directory Interface is a Java API for a directory service that allows Java software clients to discover and look up data and objects via a name. Like all Java APIs that interface with host systems, JNDI is independent of the underlying implementation...

, JAXP
Java API for XML Processing
The Java API for XML Processing, or JAXP , is one of the Java XML programming APIs. It provides the capability of validating and parsing XML documents...

, JBI
Java Business Integration
Java Business Integration is a specification developed under the Java Community Process for an approach to implementing a service-oriented architecture . The JCP reference is JSR 208 for JBI 1.0 and JSR 312 for JBI 2.0....

, Java Sound and Java Image I/O.

See also

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK