Suchen

Definition Was ist API?

Autor / Redakteur: Updater / Sarah Böttcher

Ein Application-Programming-Interface (API) repräsentiert eine Schnittstelle, mittels derer Programme an eine zentrale Software-Anwendung andocken können. Auf diese Weise kann jederzeit zusätzliche Software bereitgestellt werden.

Firmen zum Thema

Grundlagenwissen zum IT-Business
Grundlagenwissen zum IT-Business
(Bild: © adiruch na chiangmai - Fotolia.com)

Der Term entstammt dem Englischen und steht für „Application-Programming-Interface“, zu Deutsch etwa „Schnittstelle zur Anwendungsprogrammierung“. Das API ermöglicht es externen Programmen, sich auf Quelltextebene an ein bestimmtes Software-System anbinden zu können. Über das Betriebssystem können Entwickler die Hardware des Systems (z.B. die Festplatte) sodann beliebig konfigurieren, ohne diese direkt adressieren zu müssen. Eine wichtige Rolle spielen hier Libraries, welche in Zusammenarbeit mit dem Betriebssystem Anfragen der angebundenen Software-Produkte entgegennehmen und entsprechend codiert an die Treiber der Hardware weiterleiten. Auf diese Weise ist ein Datenaustausch zwischen Programmen, Webpages oder Anwendern problemlos möglich.

Welchen Nutzen bringt ein Application-Programming-Interface?

Ist eine ausführlich dokumentierte Programmierschnittstelle vorhanden, stellt dies für eine Software-Anwendung beziehungsweise deren Hardware-Plattform in der Regel eine Aufwertung dar, da Software-Updates oder lauffähige Programme jederzeit in das Basissystem eingespielt werden können. Je größer das Programmangebot, desto höher die Attraktivität des Systems, dies gilt besonders etwa für Betriebssysteme, Spielkonsolen oder IT-Endgeräte wie Smartphones. APIs gelten überdies als langfristig stabil, was dem Entwickler einer Zusatzanwendung die Gewissheit einer nachhaltigen Kompatibilität seiner Applikation mit dem Basissystem gibt.

Einteilung von Programmierschnittstellen

API-Interfaces lassen sich je nach Funktionalitätsorientierung in folgende Kategorien einteilen:

  • Funktionsorientierte Schnittstellen: Derartige Programmierschnittstellen reagieren nur auf Funktionen, wahlweise mit oder ohne Rückgabewert. Auf den Aufruf einer Funktion folgt die Ausgabe eines Referenzwertes (Handle). Dieser Wert dient zum Aufruf weiterer Funktionen, sind alle Funktionen verfügbar, wird das Handle geschlossen.
  • Dateiorientierte Schnittstellen: Dieser Schnittstellen-Typ wird über die Befehle open, read, write und close angesprochen. Gesendete Daten werden mit write geschrieben, sollen Daten empfangen werden, sind diese mit dem read-Kommando einzulesen.
  • Objektorientierte Schnittstellen: Objektorientierte Programmier-Interfaces adressieren definierte Schnittstellen-Pointer, was diesem Schnittstellentyp gegenüber funktionsorientierten Schnittstellen eine erhöhte Flexibilität verleiht. Oft wird mit den Daten auch eine Typ- oder Klassen-Bibliothek übergeben.
  • Protokollorientierte Schnittstellen: Diese Programmierschnittstellen befinden sich in keinerlei Abhängigkeit von Betriebssystem oder Hardware, allerdings ist das Übergabeprotokoll stets neu zu implementieren. Um diesen Vorgang zu erleichtern, werden protokollorientierte Schnittstellen im Regelfall von interface- oder funktionsorientierten Schnittstellen gekapselt.
  • RESTful-API-Schnittstelle: Einen Sonderfall stellt das RESTful-API-Interface dar, dabei handelt es sich um eine Schnittstelle für Anfragen im HTTP-Format, der Datenzugriff erfolgt über GET-, PUT-, POST- und DELETE-Befehle.

(ID:45644907)