OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

xmlvoc message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]

Subject: API - 3 choices


So, for the first round on defining API we have:

1. The interface (calling conventions) by which an application program 
accesses operating system and other services.  An API provides a level 
of abstraction between the application and the kernel (or other 
privileged utilities) to ensure the portability of the code.

From: Free On-line Dictionary of Computing, modified to remove reference 
to source code as per Erik Wilde.

2. An API is an Interface which is used for accessing an application or 
a service from a program. An API makes it possible to use programs from 
within programs, therefore it is the foundation for modular systems with 
clearly defined Interfaces between separate components. In a way, an API 
can be regarded as the local equivalent of a Protocol, because it is 
used for the same purposes and defines the same things (the possible 
interactions between components, and the data that is exchanged while 
interacting). However, traditionally APIs are used for Interfaces on one 
computer, while Protocols are used for distributed scenarios.

From: Erik Wilde (http://wildesweb.com/glossary/api)

3. A language and message format used by an application program to 
communicate with the operating system or some other control program such 
as a database management system (DBMS) or communications protocol. APIs 
are implemented by writing function calls in the program, which provide 
the linkage to the required subroutine for execution. Thus, an API 
implies that some program module is available in the computer to perform 
the operation or that it must be linked into the existing program to 
perform the tasks.

(suggested by Mary Nishkawa)

I prefer #1 mainly because it avoids the details given in #2 and #3. 
Recalling that we are trying to define a vocabulary for classification 
of resources and not provide a definition of API for use in system 
documentation. Not objecting that #2 or #3 are inaccurate, just too 
verbose. No strong feelings against the latter two so would not object 
if a majority goes for one of the others.

Hope everyone is having a great day!


Patrick Durusau
Director of Research and Development
Society of Biblical Literature
Co-Editor, ISO 13250, Topic Maps -- Reference Model

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]