Application Programming Interface (API)
Der Begriff API steht für Application Programming Interface, auch bekannt als Programmierschnittstelle.
Eine Programmierschnittstelle wird genutzt, um Drittprogramme mit dem Hauptprogramm kommunizieren zu lassen. Der Hauptzweck von APIs besteht darin, die Programmierung zu vereinfachen, indem sie Modularität fördert.
Der Datenaustausch einer API erfolgt via Echtzeit und wird oft mit dem Pull-/Push-Prinzip durchgeführt. APIs ermöglichen den Zugriff auf verschiedene Komponenten, wie Datenbanken, Benutzeroberflächen oder einzelne Anwendungsfunktionen.
API - Aufbau und Funktion
Eine API (Application Programming Interface) erlaubt den Austausch von Daten zwischen verschiedenen Software- und Programmteilen, indem eine vorher festgelegte Struktur verwendet wird.
Der Hauptzweck von APIs besteht darin, die Programmierung zu vereinfachen, indem sie Modularität fördert. Jeder Programmteil, der über eine API eingebunden wird, ist von der restlichen Anwendung getrennt. Die Kommunikation zwischen diesen einzelnen Bausteinen erfolgt ausschließlich über die spezifische Programmierschnittstelle.
APIs ermöglichen den Zugriff auf verschiedene Komponenten, wie Datenbanken, Hardware, Benutzeroberflächen und einzelne Anwendungsfunktionen. Es ist wichtig zu beachten, dass eine API nicht dasselbe ist wie eine Benutzerschnittstelle (User Interface/UI), die ausschließlich für die Verbindung von Benutzer und Software-Logik zuständig ist.
APIs funktionieren in der Regel nach dem Client-Server-Modell, das bedeutet, dass eine Anwendung als Client auf die API zugreift, während die API als Server agiert und die angeforderten Informationen bereitstellt. Der Client sendet in der Regel eine Anfrage an die API, die daraufhin die notwendigen Daten verarbeitet und als Antwort zurücksendet.
Um eine API-Schnittstelle nutzen zu können, müssen Entwickler die API-Regeln und -Protokolle verstehen und anhand dieser Anfragen und Antworten erstellen. API-Dokumentationen sind oft verfügbar und geben Informationen über die erforderlichen Anfragemethoden, Parameter und Formate.
In der Regel werden APIs durch verschiedene Technologien, wie REST (Representational State Transfer), SOAP (Simple Object Access Protocol) oder GraphQL implementiert, um eine standardisierte und sichere Kommunikation zu gewährleisten.
API - Arten und Einsatzgebiete
Es gibt verschiedene Arten von APIs (Application Programming Interfaces), die in der Softwareentwicklung eingesetzt werden können. Hier eine kleine Auflistung von gängigen API-Arten und deren Einsatzgebieten anhand von Beispielen:
- Web APIs ermöglichen die Kommunikation über das Internet und werden oft verwendet, um Daten von einem Webserver abzurufen oder darauf zuzugreifen. Beispiele für Web APIs sind RESTful APIs, SOAP APIs und GraphQL APIs.
- Internen APIs werden innerhalb eines Unternehmens oder einer Organisation verwendet, um die Kommunikation zwischen verschiedenen Anwendungen, Abteilungen oder Teams zu erleichtern.
Beispiele für interne APIs sind Microsoft .NET Framework APIs und Java APIs. - Partner APIs ermöglichen die Integration von Drittanbieteranwendungen oder -systemen in eine bestehende Anwendung oder Plattform.
Beispiele für Partner APIs sind Facebook APIs und Google Maps APIs. - Hardware APIs ermöglichen den Zugriff auf die Funktionen und Ressourcen von Hardwarekomponenten wie Kameras, Sensoren und Mikrofonen.
Beispiele für Hardware APIs sind Android APIs und iOS APIs. - Bibliotheks-APIs ermöglichen den Zugriff auf eine Sammlung von Funktionen oder Ressourcen, die in einer Bibliothek gespeichert sind.
Beispiele für Bibliotheks-APIs sind JavaScript-Bibliotheken wie jQuery und React. - Datenbank-APIs werden für den Zugriff auf Datenbanken und die Verwaltung von Daten eingesetzt.
Beispiele für Datenbank-APIs sind SQL APIs wie MySQL und Oracle.
Es ist wichtig zu beachten, dass diese Kategorien nicht strikt getrennt sind und dass APIs oft mehrere dieser Arten kombinieren.
API Beispiel - Datenbank-API mittels REST umsetzen
Ein Beispiel für eine Datenbank-API mittels REST könnte wie folgt aussehen: Angenommen, es gibt eine Datenbank, die Informationen zu Büchern enthält, einschließlich Titel, Autor und ISBN.
Ein Datenbankentwickler könnte eine RESTful-API erstellen, um auf diese Datenbank zuzugreifen und Buchinformationen zu suchen, hinzuzufügen oder zu aktualisieren. Die API für den Zugriff auf die Datenbank könnte wie folgt definiert sein:
- GET /Firma: Diese Routine würde alle vorhandenen Firmen aus der Datenbank abrufen.
- GET /Firma/:nr: Diese Routine würde eine bestimmte Firma anhand seiner eindeutigen NR abrufen.
- POST /Firma: Diese Routine würde ein neue Firma in die Datenbank einfügen.
- PUT /Firma/:nr: Diese Routine würde eine vorhandene Firma anhand seiner NR aktualisieren.
- DELETE /Firma/:id: Diese Routine würde ein vorhandene Firma anhand seiner NR aus der Datenbank löschen
Wenn ein Client auf eine dieser Routinen zugreift, würde die RESTful-API eine Anfrage an die Datenbank senden, um die entsprechenden Informationen abzurufen, hinzuzufügen, zu aktualisieren oder zu löschen. Die Antwort der Datenbank würde dann an den Client zurückgegeben werden.
Zum Beispiel könnte ein Datenbankentwickler die Routine GET /Firma/:nr verwenden, um die Informationen einer bestimmten Firma anhand ihrer NR abzurufen. Wenn ein Benutzer diese Routine aufruft und eine NR angibt, würde die API die Datenbankanfrage ausführen und das entsprechende Buch zurückgeben.
Eine RESTful-API bietet Datenbank- und Softwareentwicklern eine flexible Möglichkeit, auf Datenbankinhalte zuzugreifen, indem sie eine einheitliche Schnittstelle bereitstellt, die über das HTTP-Protokoll verfügbar ist.
API - Definition & Erklärung - Zusammenfassung
Im Zusammenhang mit dem Lexikoneintrag API sollte man sich folgende Punkte merken:
- Der Begriff API steht für Application Programming Interface, auch bekannt als Programmierschnittstelle.
- Eine API (Application Programming Interface) erlaubt den Austausch von Daten zwischen verschiedenen Software- und Programmteilen, indem eine vorher festgelegte Struktur verwendet wird.
- Eine RESTful-API bietet Datenbank- und Softwareentwicklern eine flexible Möglichkeit, auf Datenbankinhalte zuzugreifen, indem sie eine einheitliche Schnittstelle bereitstellt, die über das HTTP-Protokoll verfügbar ist.