Anwendungsschnittstelle (API)

Was ist eine API?

Eine API, kurz für Application Programming Interface, dient als standardisierter Vermittler innerhalb der Software-Domäne. Sie erleichtert die Kommunikation zwischen verschiedenen Softwarekomponenten, einschließlich Anwendungen, Bibliotheken und Betriebssystemen, indem sie Protokolle und Richtlinien für die nahtlose gemeinsame Nutzung von Daten festlegt.

Ein Diagramm zur Veranschaulichung des Arbeitsablaufs einer API, mit der Reihenfolge: "eine Webanwendung in einem Browser" sendet eine Anfrage über das "Internet" an eine "API", die mit einem "Webserver" und dann mit einer "Datenbank" kommuniziert. Die Datenbank sendet eine Antwort über den Webserver und die API zurück, die schließlich an die Webanwendung im Browser zurückgeht
Schematische Darstellung des API-Kommunikationsprozesses

Komponenten einer API:

  • Spezifikationen bilden den rechtlichen Rahmen, der die Funktionsweise einer API vorgibt. Sie umfassen Aspekte wie Datenformate, Kommunikationsprotokolle und Authentifizierungsmechanismen.
  • Implementierungen beziehen sich auf den konkreten Code, der für die Ausführung von Kommunikationsprozessen innerhalb einer API verantwortlich ist. Dieser Code fungiert als operativer Motor, der Funktionen, Methoden und Verfahren ausführt, um eine nahtlose Interaktion zu ermöglichen.

Die Rolle von APIs in der Softwareentwicklung

APIs spielen eine entscheidende Rolle bei der Vereinfachung von App-Entwicklungsprozessen, indem sie Entwicklern Zugang zu bestehenden Funktionen und Diensten bieten. Durch die Nutzung von APIs können sich Entwickler auf die Ausarbeitung der Logik ihrer App konzentrieren, ohne grundlegende Komponenten neu erstellen zu müssen, und so den Entwicklungsablauf optimieren.

Arten von APIs

APIs können in zwei Haupttypen eingeteilt werden:

Lehrreiche Grafik mit zwei Arten von APIs: Lokale APIs, die für den internen Systembetrieb unerlässlich sind, und Remote-APIs, die die externe Kommunikation ermöglichen
Infografik mit einer vergleichenden Übersicht über lokale und entfernte APIs

Lokale APIs

Lokale APIs sind in ein System integriert und umfassen:

  • Software-Bibliotheken: Sammlungen von vorgefertigten Funktionen und Modulen zur Bewältigung gängiger Programmieraufgaben, die zur einfachen Integration mit eigenen APIs versehen sind.
  • Rahmenwerke: Umfassende Toolsets mit Bibliotheken, Werkzeugen und Konventionen, die auf die Entwicklung bestimmter Anwendungstypen zugeschnitten sind, ergänzt durch ihre jeweiligen APIs.
  • Betriebssysteme: Betriebssysteme verfügen über APIs, die es Anwendungen ermöglichen, auf Hardware- und Systemressourcen zuzugreifen und Aufgaben wie Dateioperationen, Netzwerkbetrieb und Prozessverwaltung zu erleichtern.

Entfernte APIs

Remote-APIs erweitern die Anwendungsfunktionalitäten, indem sie die Interaktion mit externen Diensten oder Ressourcen ermöglichen, die auf entfernten Servern gehostet werden. Diese APIs verwenden Netzwerkprotokolle wie TCP/IP oder HTTP, um die Kommunikation herzustellen.

  • Web-APIs: Eine Untergruppe der Remote-APIs, die Web-APIs, auch bekannt als RESTful-APIs, nutzen die Möglichkeiten des Internets und des Hypertext Transfer Protocol (HTTP), um die Kommunikation zwischen Anwendungen zu erleichtern.

Verweise

  1. Reddy, Martin (2011). API Design for C++. Elsevier Science. p. 1. ISBN 9780123850041
  2. Wood, Laura (2021-08-25). “Global Cloud Microservices Market (2021 to 2026)” businesswire.com. Abgerufen am 2022-03-29
  3. Clarke, Steven (2004). “Measuring API Usability”. Dr. Dobb’s
  4. Wikipedia API API: Main page – MediaWiki
  5. Set of guidelines from Microsoft for designing high-quality APIs

Additional Resources