Application programming interface

From Citizendium
Revision as of 20:13, 18 July 2010 by imported>Anderson Osagie (Added Microsoft's CLR as an additional example of an application service abstraction)
Jump to navigation Jump to search
This article is developing and not approved.
Main Article
Discussion
Related Articles  [?]
Bibliography  [?]
External Links  [?]
Citable Version  [?]
 
This editable Main Article is under development and subject to a disclaimer.

An application programming interface (API) is the set of conventions by which a user application program written for a specific purpose communicates with software infrastructure such as the operating system, data base management services, web services, etc. APIs are specific to programming languages, although there may be multiple APIs to access the same service.

The application service presented may be by a physical computer, or an abstraction such as a Java virtual machine or a .NET common language runtime.

User applications, in this context, could serve either human or computer users. A web browser, word processor, or computer game is an application with a human interface. Alternatively, an electrical power grid manager, a missile guidance system or the control of a cardiac pacemaker is an application that serves a computer.

The term "application layer", in Computer networking reference models, refers to the services that support applications, not the applications themselves. APIs provide access to the top of the application layer.