Software-Tipps
Software > Software-Tipps > Schnittstellen > Programmierschnittstelle (API)

Programmierschnittstelle (API)


Ermitteln aller vorhandenen Programmierschnittstellen
Welche Programmierschnittstellen sind vorhanden?

Was ist eine API?

API ist die Abkürzung für Application Programming Interface. APIs sind Programmierschnittstellen, die vom Softwarehersteller mitgeliefert werden. APIs sind Sätze von Befehlen, Funktionen und Protokollen, die Programmierer beim Erstellen von Software für ein bestimmtes Betriebssystem oder für notwendige Software-Integrationen verwenden können. Die API ermöglicht Programmierern vordefinierte Funktionen zu verwenden, um mit dem Betriebssystem zu interagieren, anstatt sie selbst zu schreiben, was deutlich Kosten für notwendige Funktionen und Anpassungen einspart.

APIs werden meist wie ein Softwareprodukt angesehen und behandelt. APIs haben wie andere Softwareprodukte auch ihren eigenen Software Development Lifecycle. Sie werden überwacht und verwaltet, damit die Sicherheit gewährleistet ist.

Alle Computer-Betriebssysteme, wie zum Beispiel Windows, Unix und MacOS liefern eine sogenannte Anwendungsprogramm-Schnittstelle für Programmierer mit. Während APIs dem Programmierer die Arbeit erleichtern, profitieren auch Anwender von vorhandenen API Schnittstellen. APIs stellen immer sicher, das alle Programme mit der gleichen API eine ähnliche Benutzeroberfläche haben. Somit werden Einarbeitungszeiten verkürzt und Kosten für Anwenderschulungen minimiert.

Es wird zwischen verschiedenen Arten von Programmierschnittstellen (APIs) unterschieden:

  • Interne APIs
    Eine interne API wird u.a. für interne Team-Abläufe (Entwickler, Nutzer) genutzt und steht deshalb auch nur innerhalb einer Organisation zur Verfügung. Die internen APIs sind nicht für die Nutzung außerhalb des Unternehmens bestimmt. Sie werden von Unternehmen ausschließlich verwendet, um in verschiedenen Bereichen wie beispielsweise der Produktentwicklung, effektiver zu arbeiten.
  • Externe, offene APIs
    Eine offene API (Open Source API) bietet die Möglichkeit des Zugriffs von einer Software auf eine andere. Offene APIs sind in praktisch jeder Branche und jedem Bereich zu finden. Offene APIs bieten zahlreiche Optionen für Interaktionen und Datenerfassung. Unternehmen haben so die Möglichkeit, mehr Erkenntnisse über Abläufe und Kunden zu gewinnen.
  • Plattform-APIs
    Eine Plattform-API bietet Programmierschnittstellen für die Einbindung einer externen Webseite oder Plattform. Plattform-APIs ermöglichen beispielsweise den Zugriff auf Benutzerdaten. So können zentrale Funktionalitäten auch auf einer anderen Webseite verfügbar gemacht werden.
  • Authentifizierungs- und Autorisierungs-APIs
    Authentifizierungs-APIs unterstützen durch eine Autorisierungs-API die Identifikation von Nutzern auf einer Plattform, auf der sie nicht direkt angemeldet sind. Dadurch können beispielsweise Nutzerkontodaten von Google oder Facebook für die Anmeldung auf anderen Webseiten genutzt oder Amazon Pay auf anderen Webseiten für den Bezahlvorgang eingesetzt werden.

API Architekturtypen

  • CORBA
  • RDA
  • XML-RPC
  • SOAP
  • REST
  • JSON-RPC
  • ODATA
  • GraphQL
  • gRPC

Über die Jahre hinweg wurden diverse API Architekturtypen veröffentlicht. Jeder dieser Architekturtypen hat seine eigenen Muster für die Standardisierung des Datenaustauschs. Manche der aufgeführten API Typen wird mittlerweile kaum noch eingesetzt, während andere häufig genutzt werden für den Datenaustausch. Die am häufigsten eingesetzten API Architekturtypen sind RPC, SOAP, REST und GraphQL.

API-Beispiele

  • Google APIs
    Google Maps in der eigenen Website oder in einer App verwenden
  • YouTube APIs
    YouTube Videos in eine Website einbetten
  • Facebook APIs
    Conversion API ermöglicht browserunabhängiges Tracking
  • Twitter APIs
    Einbinden von Tweets, direkten Nachrichten, Listen etc.
  • Automatisierung von Prozessen zwischen B2B-Software

Abkürzungen:
API: application programming interface
MacOS: Macintosh Operating System
CORBA: Common Object Request Broker Architecture
XML-RPC: Extensible Markup Language Remote Procedure Call
SOAP: Simple Object Access Protocol
RPC: Radio Paging Call
App: Application