Solutional new logo (1)

API

Share This
« Back to Glossary Index

An Application Programming Interface (API[4]) is a software intermediary that enables two applications to communicate with each other. APIs simplify the programming process by abstracting the underlying implementation and exposing only necessary objects or actions. This concept, dating back to the 1940s, has evolved to include hardware interfaces and has become crucial in modern software development[1]. APIs are used for various purposes, including data exchange, operating system interactions, and combining services into new applications. They also play a significant role in business expansion and integration with third-party services. Proper designing, documentation, versioning, and security[3] measures are essential aspects of API management. Furthermore, APIs have significant legal implications and are often targeted by cybercriminals. OpenAPI, a framework for API design, contributes to the standardization and interoperability[2] of APIs.

Terms definitions
1. software development. Software development is a structured process involving various methods, processes, phases, testing and production stages, as well as diverse personnel and tools. The methodologies include strategies like code-and-fix, iterative, waterfall, Agile, and DevOps, each suited for different project needs. The software development process consists of steps such as the software development life cycle, feasibility analysis, the analysis phase, design, and programming. The phases involve feasibility analysis, requirements analysis, detailed specifications, decomposition, and design. Testing and production encompass activities like code testing, debugging, quality assurance, production deployment, and bug fixing. Finally, the process requires team collaboration, effective communication, and the use of various tools such as Computer-Aided Software Engineering (CASE), Integrated Development Environments (IDEs), and version control systems. Intellectual property and licensing considerations are also crucial in software development.
2. interoperability. Interoperability, in the realm of technology and systems, is the capability of different systems or products to work together and exchange information seamlessly. It comprises various types such as syntactic interoperability, which ensures common data formats and protocols, and semantic interoperability, allowing meaningful data interpretation. Cross-domain interoperability facilitates data exchange across multiple entities. Interoperability standards aid in the creation of products that can cooperate effortlessly. Post facto interoperability is significant in competitive landscapes where dominant products set market standards. Challenges include data encumbrance and lack of open standards, but solutions lie in improving infrastructure interoperability and promoting open standards. Industry-specific interoperability, like in NATO forces or eGovernment services, is crucial for effective collaboration and efficient service delivery.
API (Wikipedia)

An application programming interface (API) 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 API specification. A computer system that meets this standard is said to implement or expose 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.

Screenshot of web API documentation written by NASA demonstrating the use of APOD.

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 call that portion of the API. The calls that make up the API are also known as subroutines, methods, requests, or endpoints. An API specification defines 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, 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.

« Back to Glossary Index
en_USEN
Scroll to Top