API – Application Programming Interface

Eine Schnittstelle für andere Programme

Eine API ist eine Schnittstelle zur Anwendungsprogrammierung. Als Akronym steht API für Application Programming Interface. Grundsätzlich bietet eine API als Teil eines Systems oder einer Software anderen Systemen oder Programmen die Möglichkeit, sich anzubinden, um so bspw. auf systeminterne Bibliotheken oder auf gespeicherte Daten und Dateien zuzugreifen. Es gibt vier verschiedene Arten einer API:

  • Die funktionsorientierte API ermöglicht einem Programm einen direkten Zugriff auf die Hardware eines Systems, bspw. zur Aktivierung eines Hardwaregerätetreibers. Das Programm sendet über die API des Betriebssystems einen Request zum Öffnen eines Handles, das über seine eigene Schnittstelle den angefragten Wert an das Programm weitergibt. Das Handle kann dabei auch mehrere Funktionen freischalten, die dann über andere, daran anknüpfende Requests abgerufen werden können.
  • Die dateiorientierte API ermöglicht die Kommunikation mit den Speichermedien des Computers, so dass per Request Dateien und Ordnerstrukturen angefragt, ausgelesen oder überschrieben werden können. Für die Verteilung und Einhaltung der Zugriffsrechte ist das Betriebssystem zuständig.
  • Die protokollorientierte API funktioniert unabhängig von Hardware und Betriebssystem, die Kommunikation findet über Protokolle und Bibliotheken statt. Sie gilt als flexibel, obwohl Requests über mehrere Programmkomponenten nicht möglich sind. Oft ist  bereits die Implementierung von ein bis zwei Bibliotheken ausreichend, um den vollen Umfang der Kommunikation zu gewährleisten.
  • Die objektorientierte API wird genutzt, um die Funktionalität verschiedener Klassen miteinander zu kombinieren. Eine solche Schnittstelle ist an mehrere, vorab definierte Restriktionen gebunden, die über die Syntax ausgehandelt werden.

Ähnlich wie eine Software kann auch eine Schnittstelle weiterentwickelt werden. Lassen sich bei einer neuen Softwareversion frühere Schnittstellen nicht mehr nutzen, spricht man von einer „Evolving API“. Ändert sich die Schnittstelle trotz neuer Softwareversion nicht, wird sie als „Stable API“ bezeichnet. Wichtig ist, dass eine API dokumentiert ist, so dass die Anbindung der verschiedenen Systeme und Programme überhaupt funktionieren kann.

Im Kontext von Online-Plattformen und Eco-Systemen wird inzwischen auch von der digitalen Reichweite einer API gesprochen, die durch die Bereitstellung eine Basis für neue Dienste und Services bietet. Als Äquivalent zur API gilt das User Interface, mit dem Anwender auf die Funktionen und Daten eines Systems zugreifen.

“Das Fachwissen zu Softwarearchitekturen, die Expertise in der Softwareentwicklung und die sehr flexible Arbeitsweise waren ideal für uns.“

„Ihren Blog lese ich schon lange und mit großer Freude. Systematisch, auf den Punkt und ansprechend.“

Share This