Application Programming Interface
An Application Programming Interface (API) defines communications between client applications and server software processes.
Machine Learning systems and processes are often accessed via APIs.
API Request specifications define the types and format of API inputs and outputs.
Client Applications and Server Software can be located in the same (local) or separate (remote) hardware systems.
When applications and servers are located in separate hardware systems, the common practice is to use remote access technologies such as:
APIs vs. Functions
APIs and Functions are similar in some ways and different in others:
API Specifications
API Specifications typically include elements such as:
Server End Point - e.g., URL or IP Address
Input Parameters - e.g. key/value pairs
Outputs Results - e.g., JSON formatted data
API Processing
API requests are typically processed as illustrated below:
Application Processing - programming code that uses APIs to access specifically defined capabilities
Client Application - applications that serve defined user requirements
Request - data sent in a specific format from a client application to server software, typically including key-value pairs
Response - data sent in a specific format from server software to a client application, typically including JSON formatted data
Request Handler - programming code that communicates with an application API request send/receive
Request Send/Receive - programming code that communicates with a server request handler
Server Processing - programming code that performs server functions
Server Software - programming code that performs application functions