Application Programming Interface (API)
Jump to navigation
Jump to search
An Application Programming Interface (API) is a computing system interface that can be used for building a software application.
- Context:
- It can (often) be specified by an API Specification, which describes its functionalities, methods, and data formats.
- It can (often) be tested via an API Testing Task (often a component test).
- It can range from being a Simple API to being a Complex API.
- It can range from being a Single-Purpose API to being a Multipurpose API.
- It can range from being a Synchronous API to being an Asynchronous API (that implements API callbacks), which allows for handling tasks that do not require an immediate response.
- It can utilize mechanisms like Webhooks, WebSockets, Server-Sent Events (SSE), and Message Queues for communication in Asynchronous APIs.
- It can be behind an API Gateway.
- It can foster Event-Driven Architecture through Asynchronous APIs.
- It can enable Non-Blocking Operations in Asynchronous APIs, allowing the client to perform other tasks while waiting for the server.
- It can use protocols such as HTTP, MQTT, AMQP, and Kafka in Asynchronous APIs.
- ...
- Example(s):
- General APIs:
- a REST API that allows communication over HTTP with stateless requests and responses.
- a Web API that enables interaction with web services using HTTP.
- a Chatbot API that facilitates the integration of chat functionalities into applications.
- a Database API that allows applications to interact with database management systems.
- ...
- Asynchronous APIs:
- a Facebook Messenger API that uses an Async API to handle instant messaging, sending messages asynchronously via POST requests.
- a Multiplayer Video Game API like World of Warcraft that uses Async APIs to manage in-game communication and events.
- a Gmail API that handles email operations asynchronously, returning metadata in JSON format upon successful message delivery.
- an Asana API that includes asynchronous features for task management and notifications using webhooks.
- ...
- ...
- General APIs:
- Counter-Example(s):
- a devkit/SDK.
- a User Interface.
- See: API Documentation, Communication Protocol, Data Exchange, Microservices, Middleware, Service-Oriented Architecture, Software Development Kit, Web Service.
References
2024
- (Wikipedia, 2024) ⇒ https://en.wikipedia.org/wiki/API Retrieved:2024-6-20.
- An () is a way for two or more computer programs or components to communicate with each other. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how to build or use such a connection or interface is called an . A computer system that meets this standard is said to or an API. The term API may refer either to the specification or to the implementation. Whereas a system's user interface dictates how its end-users interact with the system in question, its API dictates how to write code that takes advantage of that system's capabilities. In contrast to a user interface, which connects a computer to a person, an application programming interface connects computers or pieces of software to each other. It is not intended to be used directly by a person (the end user) other than a computer programmer who is incorporating it into the software. An API is often made up of different parts which act as tools or services that are available to the programmer. A program or a programmer that uses one of these parts is said to that portion of the API. The calls that make up the API are also known as subroutines, methods, requests, or endpoints. An API specification these calls, meaning that it explains how to use or implement them. One purpose of APIs is to hide the internal details of how a system works, exposing only those parts that a programmer will find useful, and keeping them consistent even if the internal details change later. An API may be custom-built for a particular pair of systems, or it may be a shared standard allowing interoperability among many systems. There are APIs for programming languages, software libraries, computer operating systems, and computer hardware. APIs originated in the 1940s, though the term did not emerge until the 1960s and 1970s. Contemporary usage of the term API often refers to web APIs,[1] which allow communication between computers that are joined by the internet. Recent developments in APIs have led to the rise in popularity of microservices, which are loosely coupled services accessed through public APIs. APIs should be versioned. There are two common versioning strategies:
- Additive change strategy: new features are added without modifying existing ones. Any update must be backward compatible. This strategy is suitable for small projects with low rate of change.
- Explicit version strategy: this strategy allows making any changes including breaking changes. This strategy is suitable for complex applications and complex changes.
- An () is a way for two or more computer programs or components to communicate with each other. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how to build or use such a connection or interface is called an . A computer system that meets this standard is said to or an API. The term API may refer either to the specification or to the implementation. Whereas a system's user interface dictates how its end-users interact with the system in question, its API dictates how to write code that takes advantage of that system's capabilities. In contrast to a user interface, which connects a computer to a person, an application programming interface connects computers or pieces of software to each other. It is not intended to be used directly by a person (the end user) other than a computer programmer who is incorporating it into the software. An API is often made up of different parts which act as tools or services that are available to the programmer. A program or a programmer that uses one of these parts is said to that portion of the API. The calls that make up the API are also known as subroutines, methods, requests, or endpoints. An API specification these calls, meaning that it explains how to use or implement them. One purpose of APIs is to hide the internal details of how a system works, exposing only those parts that a programmer will find useful, and keeping them consistent even if the internal details change later. An API may be custom-built for a particular pair of systems, or it may be a shared standard allowing interoperability among many systems. There are APIs for programming languages, software libraries, computer operating systems, and computer hardware. APIs originated in the 1940s, though the term did not emerge until the 1960s and 1970s. Contemporary usage of the term API often refers to web APIs,[1] which allow communication between computers that are joined by the internet. Recent developments in APIs have led to the rise in popularity of microservices, which are loosely coupled services accessed through public APIs. APIs should be versioned. There are two common versioning strategies:
- ↑ Cite error: Invalid
<ref>
tag; no text was provided for refs namedLane2019
2016
- (Wikipedia, 2016) ⇒ http://wikipedia.org/wiki/Application_programming_interface Retrieved:2016-4-29.
- In computer programming, an application programming interface (API) is a set of routines, protocols, and tools for building software and applications.
An API expresses a software component in terms of its operations, inputs, outputs, and underlying types, defining functionalities that are independent of their respective implementations, which allows definitions and implementations to vary without compromising the interface. A good API makes it easier to develop a program by providing all the building blocks, which are then put together by the programmer. ...
- In computer programming, an application programming interface (API) is a set of routines, protocols, and tools for building software and applications.