Definition „Programmierschnittstelle“ Was ist eine API?

Aktualisiert am 09.04.2024 Von Dipl.-Ing. (FH) Stefan Luber 5 min Lesedauer

Die Abkürzung API steht für Application Programming Interface und bezeichnet eine Programmierschnittstelle. Die Anbindung erfolgt auf Quelltext-Ebene. APIs kommen in vielen Anwendungen zum Einsatz und werden im Webumfeld in Form von Web-APIs genutzt.

APIs ermöglichen es verschiedenen Software-Anwendungen, Daten auszutauschen und miteinander zu interagieren, ohne dass Details zu Implementierung bekannt sein müssen.
APIs ermöglichen es verschiedenen Software-Anwendungen, Daten auszutauschen und miteinander zu interagieren, ohne dass Details zu Implementierung bekannt sein müssen.
(Bild: Gerd Altmann / Pixabay)

Grundlagen und Eigenschaften einer API

Eine Programmierschnittstelle dient dazu, Informationen zwischen einer Anwendung und einzelnen Programmteilen standardisiert auszutauschen. Die Übergabe von Daten und Befehlen erfolgt strukturiert nach einer zuvor definierten Syntax.

Die API ermöglicht es, die Programmierung zu modularisieren und dadurch zu vereinfachen. Die einzelnen über eine API angebundenen Programmteile erfüllen spezifische Funktionen und sind vom Rest der Applikation klar getrennt. Die Kommunikation von einzelnen Programmmodulen ist lediglich über die genau spezifizierte Schnittstelle möglich.

eBook API-Entwicklung
eBook „API-Entwicklung“
(Bild: Dev-Insider)

E-Book zum Thema

Im eBook „API-Entwicklung“ erfahren Sie, wie moderne API-Architekturen aufgebaut sind, wie sich APIs erstellen und einbinden lassen und welche Werkzeuge es gibt. Darüber hinaus beleuchtet es einige Best Practices.

Die API definiert, in welcher Form die Informationen und Daten vom Anwendungsmodul entgegengenommen und wieder zurückgesendet werden. Um den eigentlichen Programmablauf innerhalb des Moduls kümmert sich das Application Programming Interface nicht. Im Gegensatz zu einer Binärschnittstelle findet in der API die Programmanbindung rein auf der Quelltext-Ebene statt.

Wird eine Programmierschnittstelle bereitgestellt, erfolgt dies in der Regel zusammen mit einer ausführlichen Dokumentation der einzelnen Funktionen, der genauen Syntax und der möglichen Parameter. Über die API kann auf Hardwarekomponenten, Datenbanken, einzelne Programmfunktionen oder auf Oberflächen und weitere Elemente zugegriffen werden.

Abgrenzung zwischen Benutzer- und Programmierschnittstelle

Das Application Programming Interface lässt sich von einem User Interface (Benutzerschnittstelle) exakt abgrenzen. Während das User Interface die Schnittstelle zwischen der Programmlogik und dem Anwender der Software zur Verfügung stellt, bildet das Application Programming Interface das Äquivalent für maschinenlesbaren Programmcode.

Das User Interface nimmt Daten von Benutzern entgegen, leitet diese zur Verarbeitung an die Anwendung weiter und gibt die Ergebnisse wieder an den Benutzer zurück. Das Application Programming Interface interagiert nicht mit dem Anwender, sondern verarbeitet die von einem Programmmodul entgegengenommenen Daten und überträgt die Resultate an das Modul zurück.

Vorteile durch die Verwendung von Programmierschnittstellen

Durch die konsequente Verwendung von Programmierschnittstellen ergeben sich viele Vorteile. Komplexe und sehr große Software lässt sich durch APIs modularisieren und dadurch vereinfachen. Einzelne Funktionen können in Programmmodule ausgelagert werden, wodurch sich eine saubere Gesamtstruktur ergibt.

Die Verwendung des modularen Programmcodes zusammen mit den APIs macht die Programme weniger fehleranfällig und leichter wartbar. Arbeiten einzelne Funktionen fehlerhaft, müssen lediglich die betroffenen Module und die an der API übergebenen Daten genauer geprüft werden.

eBook API-Entwicklung
eBook „API-Entwicklung“
(Bild: Dev-Insider)

E-Book zum Thema

Im eBook „API-Entwicklung“ erfahren Sie, wie moderne API-Architekturen aufgebaut sind, wie sich APIs erstellen und einbinden lassen und welche Werkzeuge es gibt. Darüber hinaus beleuchtet es einige Best Practices.

Ein weiterer Vorteil einer sauber dokumentierten Programmierschnittstelle gegenüber Anwendungen ohne API ist die Möglichkeit der Auslagerung von Programmierarbeiten. Die Entwicklung einzelner Teilbereiche einer Software kann dank der Programmierschnittstelle mit geringem Aufwand an eine externe Softwarefirma oder einen freien Entwickler übertragen werden. Zudem können Drittanbieter selbst Funktionen für das System entwickeln. Dadurch steigert sich die Attraktivität und Flexibilität des Gesamtprodukts und es ergeben sich klare Wettbewerbsvorteile.

Nach außen hin unveränderte APIs steigern zudem die Langzeitstabilität eines Systems. Der eigentliche Programmcode kann beliebig geändert werden, ohne dass über die Programmierschnittstelle ausgelagerte Module davon betroffen sind. Zusatzanwendungen müssen daher nicht verändert werden. Kosten und Arbeitsaufwendungen lassen sich dank der Kontinuität der Software deutlich minimieren.

Grundsätzliche Einteilung der Programmierschnittstellen

Programmierschnittstellen können in vier verschiedene Typen unterteilt werden. Diese grundsätzlichen Typklassen sind:

  • funktionsorientierte APIs
  • dateiorientierte APIs
  • objektorientierte APIs
  • protokollorientierte APIs

Während funktionsorientierte Schnittstellen überwiegend Funktionen und deren Parameter zur Kommunikation verwenden, sprechen dateiorientierte APIs mit Hilfe von verschiedenen Dateisystemaufrufen einzelne Dateien und Dateifunktionen an. Objektorientierte Programmierschnittstellen arbeiten mit so genannten Schnittstellenzeigern und sind gegenüber rein funktionsorientierten Schnittstellen deutlich flexibler. Wesentliches Merkmal von protokollorientierten APIs ist ihre Unabhängigkeit von einem definierten Betriebssystem oder einer bestimmten Hardware.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Softwareentwicklung und DevOps

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung

Update: Beispiele für häufig genutzte APIs

APIs sind in vielen Bereichen unterschiedlichster Softwareanwendungen vorzufinden. Im Webumfeld sind viele öffentliche Web-APIs verfügbar, mit denen sich Angebote in eigene Anwendungen integrieren lassen. Beispielsweise existieren APIs zu Services wie Wikipedia, Google Maps, Facebook, Twitter, PayPal, DHL und vielen mehr.

APIs für Künstliche Intelligenz und maschinelles Lernen, wie die von OpenAI oder TensorFlow, eröffnen die Möglichkeit, entsprechende Funktionen in bestehende und neue Anwendungen zu integrieren. Banken und andere Finanzdienstleister und Kreditinstitute haben die Macht von APIs für den Datenaustausch erkannt, hier fällt oft das Schlagwort der API Economy.

Im Web-Umfeld kommen APIs häufig bei Online-Shops und Content-Management-Systemen zum Einsatz. Es können dadurch unterschiedliche Bezahldienstleister, Online-Marktplätze, Shop-Bewertungssysteme oder Versanddienstleister und weitere Services mit wenig Aufwand standardisiert an die verschiedenen Systeme angebunden werden.

Einen Sondertyp von Web-APIs stellen die Schnittstellen zur Authentifizierung und Autorisierung dar. APIs wie beispielsweise Facebook Connect oder OpenID-Standard gestatten Usern das Einloggen auf anderen Portalen, ohne dass dort eine eigene User-Verwaltung benötigt wird. Eine einzige Benutzeridentität ist durch diese APIs für viele verschiedene Portale nutzbar.

Weitere neue Arten von APIs und Nutzungskontexte haben sich mit der Etablierung von Cloud Computing, Software-as-a-Service-Lösungen und Microservices-Architekturen entwickelt. Schließlich erlauben sie eine nahtlose Integration und Interoperabilität zwischen unterschiedlichen Diensten und Plattformen. APIs sind unerlässlich für die Integration von Drittanbieter- und Cloud-Diensten sowie für die Entwicklung von mobilen Anwendungen und Embedded Software, beispielsweise für IoT-Geräte.

REST (Representational State Transfer) und GraphQL sind zwei Beispiele für moderne API-Paradigmen, die in der webbasierten Kommunikation weit verbreitet sind. RESTful-APIs nutzen HTTP-Methoden und sind durch ihren zustandslosen Charakter und ihre Skalierbarkeit für viele Webanwendungen geeignet. GraphQL, ein von Facebook entwickeltes Datenabfrage- und Manipulationssprache für APIs, ermöglicht es Clients, genau zu spezifizieren, welche Daten sie benötigen, was die Effizienz und Performance verbessert.

Sicherheit und Management

Mit der zunehmenden Bedeutung von APIs wachsen auch die Anforderungen an ihre Sicherheit. OAuth 2.0, OpenID Connect und JSON Web Tokens (JWT) sind Beispiele für Standards und Protokolle, die entwickelt wurden, um die Sicherheit bei der Authentifizierung und Autorisierung in API-basierten Systemen zu gewährleisten. Darüber hinaus gewinnen API-Management-Tools an Bedeutung, die helfen, APIs zu veröffentlichen, zu überwachen und zu sichern.

E-Book zum Thema

API-Entwicklung

eBook API-Entwicklung
eBook „API-Entwicklung“
(Bild: Dev-Insider)

APIs sind das Herzstück moderner Anwendungsarchitekturen und innovativer Geschäftsmodelle der „API-Wirtschaft“. Startups in diesem Bereich fließen üppige Kapitalsummen zu. Entsprechend scheint sich auch das Innovationstempo weiter zu beschleunigen.

Im eBook erfahren Sie mehr über:

  • Trends rund ums API-Design
  • Moderne API-Architekturen
  • Das ABC des API-Designs
  • Tools für das API-Management
  • Best Practices der API-Entwicklung

(ID:44536133)