APIs sind definierte Schnittstellen und öffnen Systeme

Durch eine API können verfügbare Funktionen gezielt genutzt werden

Ein API (Application Programming Interface) ist eine definierte Schnittstelle in einem Betriebssystem oder einer Applikation, die von einem Anwendungsentwickler (Programmierer) in seinen Programmen benutzt werden kann. Eine Applikation kann auch als «Service-Komponente» ausgestaltet werden und über APIs ihre Dienste (z. B. Prüfung einer Kreditkartennummer) zur Verfügung stellen.

Mit Hilfe eines API können somit häufig benutzte Funktionen vom Betriebssystem- bzw. Software-Hersteller den Entwicklern zur Verfügung gestellt werden, die Zugriffe auf Betriebssystem-Ressourcen oder Applikations-Komponenten und -Komponenten über ein API können standardisiert abgewickelt werden, dadurch wird die Systemstabilität erhöht.

Die Dokumentation und Verwendung von APIs ist ein wichtiger Erfolgsfaktor für die Einführung von Service Orientierten Architekturen (SOA).

Beispiele von APIs

Windows API
Unter der Betriebssystemfamilie Windows (Windows 9x, ME, NT, 2000, XP, Vista, 7) existieren viele verschiedene und umfassend dokumentierte API-Schnittstellen. Beispielsweise für Grafik- und Fensteraufbau, für Bildschirm-Meldungen, Dateisystem-Zugriffe, Registry-Funktionen, Netzwerk-Dienste- und -Funktionen, Internet, Drucker-Installation und Ausdruck, ISDN, Telefonie usw.

Die APIs (beispielsweise für den Zugriff auf Registry-Inhalte) werden oft in Form von Funktionen, gespeichert in sogenannten «Dynamic Link Libraries» (DLLs) zur Verfügung gestellt. Die API-Funktionen können in vielen aktuellen Programmiersprachen oder Entwicklungsumgebungen wie Visual Studio, Borland Delphi usw. benutzt werden.

Da die API-Funktionen jedoch nicht zum Standard-Befehlsschatz der Programmiersprache gehören, müssen Sie vor dem ersten Einsatz deklariert werden. Das folgende Beispiel zeigt die Deklaration einer Funktion "RegSetValueEx" aus dem Advanced API (DLL = advapi32.dll) von Windows 2000:

Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" _
(ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, _
ByVal dwType As Long, ByRef lpData As Any, ByVal cbData As Long) As Long

Bei der Deklaration werden alle erforderlichen Parameter (hKey, lpValueName usw.) sowie deren Datentypen (Long, String usw.) der aufgerufenen Funktion ("RegSetValueEx") der Programmiersprache bekannt gemacht. Durch die Deklaration erhält die Programmiersprache Kenntnisse über die API-Funktion und ist in der Lage eine korrekte Fehlerkontrolle («Errorhandling») bei den Funktionsaufrufen durchzuführen.

DOS API
Das alte Betriebssystem DOS von Microsoft verfügt nur über wenige API-Schnittstellen. Sehr bekannt sind die Software-Interrupt 21h-Funktionen, welche von Programmierern für Dateisystem-Zugriffe verwendet werden.