Was ist eine API (Application Programming Interface)?

Michael Chen | Senior Writer | 24. Februar 2025

Der Begriff "API" steht für Application Programming Interface. APIs fungieren als Brücken zwischen Anwendungen und ermöglichen ihnen die Kommunikation und den Austausch von Daten. Beispiel: Ein Dashboard, mit dem ein Marketingteam mehrere Social-Media-Accounts verwaltet, hängt von APIs ab, mit denen die Social-Plattformen des Unternehmens mit der Dashboard-Anzeige verbunden werden und relevante Daten abgerufen werden.

Ein typischer Internetnutzer profitiert ständig von APIs, oft ohne es zu merken. APIs verbinden öffentliche Datenquellen wie Wettervorhersage-Sites mit kommerziellen Apps, um uns vor bevorstehenden Stürmen zu warnen. Entwickler greifen regelmäßig auf die Google Maps API zu, um Karten und Ortungsdienste in ihre Websites einzubetten. Einzelhändler verwenden API-gestützte Zahlungsgateways wie PayPal und Stripe, um Finanztransaktionen mit Kunden sicher abzuwickeln.

Was ist eine API?

Eine API oder Anwendungsprogrammierschnittstelle ist ein Satz von Regeln und Protokollen, mit denen Anwendungen Daten austauschen, Aktionen ausführen und auf gut dokumentierte Weise interagieren können. Wenn beispielsweise eine Anforderung für eine Wetteraktualisierung gestellt wird, verarbeitet die API die Anforderung, führt die erforderlichen Aktionen aus und gibt eine Antwort zurück, in der Regel in einem Standardformat wie den von JSON oder XML definierten.

Wichtige Erkenntnisse

  • Eine API ist ein Mittelsmann, der es zwei Softwareprogrammen ermöglicht, miteinander zu sprechen und zu definieren, wie sie Daten oder Funktionen anfordern und empfangen.
  • APIs sind für die Erstellung moderner Softwareanwendungen, die Informationen verbinden und gemeinsam nutzen, unerlässlich.
  • APIs spielen eine entscheidende Rolle bei der Nutzung von Cloud-Services, indem sie ihnen die Integration und den Austausch von Daten mit On-Premises-Software ermöglichen.

APIs erklärt

Mit APIs können Entwickler nativ von den von ihnen erstellten Anwendungen auf Softwareplattformen und -services zugreifen. Ohne APIs müssten Daten manuell aus einer Anwendung exportiert, vorbereitet und transformiert und dann jedes Mal manuell in eine andere Anwendung importiert werden, wenn ein Benutzer das Wetter überprüfen oder auf einen Kommentar auf einer Social-Media-Site antworten wollte.

Einfach ausgedrückt, sind drei Parteien am Austauschprozess beteiligt:

  • Kunde: Die Partei, die den Antrag stellt
  • Server: Die Partei, die den Request erfüllt
  • API: Der Vermittler, der die beiden auf gut dokumentierte, vorhersehbare Weise verbindet

Denken Sie an ein Restaurant. Wenn alle Kunden in die Küche gingen, um ihre Lieblingsgerichte zu bestellen, würde Chaos entstehen. In diesem Szenario stellt die API ein Menü (Dokumentation) bereit, in dem alle Dienste (Geschirr) aufgeführt sind, die von der Küche (Serveranwendung) angeboten werden können. Sie erklärt, welche Informationen Sie als Kunde bereitstellen müssen und in welchem Format Ihre Bestellung präsentiert werden soll.

Die API fungiert als Kellner oder zwischendurch, um sicherzustellen, dass Bestellungen standardisiert angenommen und geliefert werden.

Funktionsweise von APIs

APIs arbeiten, indem sie angeben, wie Softwarekomponenten interagieren sollen, sodass Entwickler verschiedene Systeme integrieren und Daten und Funktionen gemeinsam nutzen können, ohne alles von Grund auf neu erstellen zu müssen und Zeit und Ressourcen zu sparen. APIs definieren normalerweise die Methoden und Protokolle, die für die Kommunikation verwendet werden müssen, sowie die Datenformate, die ausgetauscht werden können.

Eine API definiert, wie Anwendungen interagieren, indem sie Details wie:

  • Endpunkte. Bestimmte URLs, die definieren, wohin Daten und Anforderungen gesendet werden sollen.
  • Methoden Anweisungen wie GET zum Abrufen von Daten, POST zum Senden von Daten, PUT zum Aktualisieren von Daten und DELETE zum Entfernen von Daten.
  • Parameter. Spezifische Details, die für die Anforderung erforderlich sind, wie Standort für Wetterdaten oder Anmeldedaten für Social Media.
  • Antworten. Das Format der von der Anwendung zurückgesendeten Daten, wie JSON oder XML.

Der Entwickler der Clientanwendung, die Daten anfordert, schreibt Code für einen API-Aufruf. Dieser Code gibt Folgendes an:

  • Die API-Endpunkt-URL
  • Die HTTP-Methode
  • Alle erforderlichen Parameter

Die Anwendung sendet Anforderungen an das API-Gateway der Serveranwendung, das eingehende Anforderungen verwaltet. Das API-Gateway leitet die Anforderung an den entsprechenden Service innerhalb der Zielanwendung weiter. Der Service verarbeitet die Anforderung und ruft die Daten ab oder führt eine andere gewünschte Aktion aus.

Der Zielservice bereitet dann die Antwortdaten gemäß der API-Definition vor und sendet sie über das API-Gateway an die anfordernde Anwendung zurück, die die Daten empfängt und parst und das erwartete Ergebnis an den Endbenutzer liefert.

Warum sind APIs wichtig?

Da sie Entwicklern eine standardisierte Möglichkeit bieten, auf die Daten und Funktionen anderer Anwendungen und Dienste zuzugreifen, ermöglichen APIs es Unternehmen, das sprichwörtliche Rad nicht neu zu erstellen. Das spart Zeit und Geld. Die Standardisierung fördert auch Innovation und Skalierbarkeit, indem sie das modulare Hinzufügen neuer Funktionen und Services ermöglicht, ohne den Betrieb bestehender Systeme zu stören.

Auf Unternehmensebene sind APIs entscheidend, da sie es Unternehmen ermöglichen, sich wiederholende Aufgaben und Prozesse zu automatisieren, indem Software direkt mit anderer Software interagieren kann. Da die meisten Unternehmen daran arbeiten, Automatisierung hinzuzufügen, um Mitarbeiter für übergeordnete Aufgaben freizugeben, ist die Fähigkeit von APIs, manuelle Workloads zu reduzieren und die betriebliche Effizienz zu steigern, ein wesentlicher Vorteil. Unternehmen, die verstärkt Cloud-Services nutzen möchten, sind ebenfalls stark von APIs abhängig.

API-Komponenten

API-Komponenten arbeiten zusammen, um verschiedenen Softwaresystemen die Kommunikation und den Austausch von Daten und Funktionen zu ermöglichen. Das Verständnis dieser Komponenten ist für die erfolgreiche Integration von APIs in Ihre Software unerlässlich. API-Komponenten umfassen:

  • Eine API-Spezifikation bietet eine strukturierte Beschreibung der Funktionsweise der API und der genauen Interaktion mit ihr.
  • Der API-Designer ist ein Utility, mit dem Entwickler APIs erstellen können. Ein API-Designer kann so einfach sein wie ein Plug-in für eine Entwicklungsumgebung oder ein hochspezialisiertes Tool. Ziel ist es, integrierte Regeln für die Validierung und Formatierung der API zu haben, um Zeit und Verschärfung zu sparen.
  • In API-Portalen finden und teilen Entwickler veröffentlichte APIs und Peruse-Spezifikationen, um zu verstehen, ob eine API ihnen helfen kann und wie sie verwendet werden kann. Die Portale für öffentliche APIs sind häufig in eine Website mit unterstützendem Material eingebettet, wie z. B. rechtliche Bedingungen.
  • Das API-Backend ist die Software, mit der ein API-Aufruf für den Client in die Tat umgesetzt wird.
  • API-Gateways stellen die URL für eine API bereit, wenden Regeln an, die für die Verwendung dieser API gelten, und leiten den API-Aufruf an das relevante Backend weiter. In der Regel kennt ein Gateway sowohl die API-Spezifikation als auch die Details der Regeln, die es anwenden soll. Regeln können Authentifizierung und Autorisierung, Zertifikatsverwaltung, Ratenbegrenzung und -drosselung, Payload-Prüfung und -Validierung, intelligentes Routing basierend auf dem Header- oder Payload-Inhalt und mehr betreffen.

APIs können auch Ratenbegrenzung, Fehlerbehandlung und Dokumentation für Entwickler umfassen. Das Schreiben einer soliden API umfasst eine Reihe von Entscheidungen, vom Architekturstil bis hin zu Designtools, und ist eine unschätzbare Fähigkeit für Unternehmen, die eine cloudnative Zukunft anstreben.

Vorteile von APIs

Mithilfe von APIs können Entwickler verteilte Anwendungen verbinden, z. B. eine Smartphone-Anwendung mit einer Social-Media-Website oder ein Gehaltsabrechnungssystem mit einem Geschäftsbankkonto. Da APIs die Erstellung praktischer Anwendungen aus kleinen, individuellen, vernetzten Services ermöglichen, profitieren sie von Robustheit und Skalierbarkeit.

Wenn ein Dienst kaputt geht, kann der Großteil der App weitermachen. Weitere Vorteile sind:

  • Flexibilität. Mit APIs können Entwickler die beste Technologie für jedes Problem auswählen, das gelöst werden muss.
  • Schnellere Entwicklung. Mit APIs können Entwickler vorhandene Funktionen integrieren, anstatt alles von Grund auf neu zu erstellen.
  • Innovation. APIs fördern die Zusammenarbeit und das Experimentieren, indem sie es Entwicklern ermöglichen, neue Dienste zu entdecken und sie ohne große Investitionen auszuprobieren.
  • Mehr Kontrolle. APIs können mit strengen Autorisierungskontrollen ausgestattet werden, um granular einzuschränken, auf welche Daten oder Aktionen eine Anwendung zugreifen kann.
  • Skalierbarkeit. APIs ermöglichen es Anwendungen, die gestiegene Nachfrage zu bewältigen, indem sie Aufgaben an andere Services auslagern. Beispiel: Anstatt ein eigenes Zahlungsverarbeitungssystem zu verwalten, kann sich ein kleiner Einzelhändler für eine Zahlungs-API wie Stripe oder PayPal entscheiden. Dadurch wird eine komplexe Aufgabe ausgelagert. Jetzt kann sich der Verkäufer darauf konzentrieren, sein Kerngeschäft auszubauen, während er die Zahlungsabwicklung den Experten überlässt und das Vertrauen der Kunden erhöht.

Herausforderungen bei APIs

Für alle Vorteile von APIs gibt es Herausforderungen in Bezug auf Komplexität, Kosten und Sicherheit, die beim Entwerfen von Anwendungen, die API-Aufrufe verwenden, und beim Erstellen eigener APIs zu berücksichtigen sind. Software, die von mehreren APIs abhängig ist, kann schwierig zu verwalten und zu warten sein – insbesondere, wenn der API-Provider häufige Updates oder Änderungen vornimmt.

Besondere Herausforderungen, die zu bewältigen sind, sind:

  • API-Auswahl. Mit der großen Anzahl verfügbarer APIs kann die Auswahl der besten Lösung eine entmutigende Aufgabe sein. Tatsächlich gibt es möglicherweise keine einzige, perfekte API – möglicherweise müssen Sie Daten und Funktionen aus mehreren Quellen zusammenfassen.
  • Kosten Während viele APIs kostenlos verwendet werden können, achten Sie auf Einschränkungen bei Aufrufen und Funktionen. Je nach Anwendung und Zielgruppe benötigen Sie möglicherweise kostenpflichtige Abonnements für bestimmte Funktionen oder Kapazitäten. Zahlen Sie eine Pauschale oder eine nutzungsbasierte Gebühr? Die laufenden Kosten für die Wartung Ihrer API-Verbindungen müssen auch in architektonische Entscheidungen einbezogen werden.

    Wenn Sie eine große Anzahl von APIs verwenden oder über ein großes Volumen verfügen, suchen Sie nach einem API-Nutzungsplan, um die Kosten unter Kontrolle zu halten.
  • Integrationskomplexität. Auch nach der Suche nach einer geeigneten API kann die Integration in Ihre Anwendung eine komplexe Aufgabe sein. APIs verschiedener Provider können unterschiedliche Protokolle, Datenformate und Authentifizierungsmechanismen aufweisen. Die Überbrückung der Lücken kann erheblichen Entwicklungsaufwand erfordern.
  • Leistung. Die Leistung – oder nicht – einer API kann die Benutzer frustrieren, die Ihre Anwendung verwenden. APIs können zu Latenzzeiten führen, die zu langsamen Antwortzeiten führen und die Datenverarbeitung beeinträchtigen. Denken Sie daran, dass der Mitarbeiter oder Kunde dem API-Anbieter keine Schuld geben wird. Es ist der Name Ihres Unternehmens in der Anwendung.
  • Sicherheit. Die einfachere Erkennung von APIs erhöht das Risiko von Missbrauch, sodass Unternehmen auf die Sicherheit achten müssen. Glücklicherweise ist das Erstellen sicherer APIs mit den richtigen Tools relativ einfach. Authentifizierungsmechanismen wie API-Schlüssel, Token oder andere Zugangsdaten können sicherstellen, dass nur autorisierte Anwendungen auf Systeme zugreifen. Prüfen Sie unbedingt die Datenverschlüsselungsstandards der API. Darüber hinaus wird eine gut gestaltete API verbergen, wie sein Backend implementiert wird, sodass Teams Änderungen vornehmen können, ohne den Kunden zu beeinträchtigen.
  • Lieferantenbindung. Wenn Sie sich für Funktionen, die für Ihre Anwendung wichtig sind, stark auf einen bestimmten API-Provider verlassen, können Sie sich an dieses Ökosystem binden. Wenn Sie in Zukunft API-Provider wechseln möchten, kann dies ein teurer und störender Betrieb sein.
  • Versionierungsprobleme. Wie die meisten Software sind APIs nicht statisch. Sie entwickeln sich weiter, um neue Funktionen hinzuzufügen und Sicherheits- und technische Änderungen zu bewältigen. Neue Versionen führen möglicherweise zu Codeänderungen, die Ihre Anwendung stören. Und selbst wenn es keine Fehlfunktionen gibt, kann die Aufzeichnung der verschiedenen API-Versionen und Integrationen, die verwendet werden, eine große Belastung darstellen.

Nicht alle API-Entwickler stellen die klare und umfassende Dokumentation aus, die für Ihre Entwickler unerlässlich ist, um eine API zu verwenden und zu integrieren. Wählen Sie daher die Anbieterpartner sorgfältig aus.

Häufige API-Fehler

Für diejenigen, die APIs entwickeln möchten, gibt es einige Gotchas, insbesondere in Bezug auf die Auswahl der Spezifikationen und die Unterschätzung der Nachfrage. Ein Grundsatz des guten API-Designs besteht darin, den Verbraucher vor Änderungen an der Implementierung des Backends zu abstrahieren und zu schützen. Ihr API-Design spiegelt beispielsweise direkt den zugrunde liegenden Datenspeicher wider. Wenn sich also die internen Datenstrukturen ändern, ist die API betroffen, was den API-Client stören kann.

Andere Fehler zu vermeiden sind:

Schlechte Dokumentation. Eine klare, detaillierte Dokumentation ist für den Erfolg Ihrer API unerlässlich. Beispiel: Wenn Sie ein Datum beschreiben, müssen Sie das Format klar definieren. In Europa wird ein Datum typischerweise als Tag, Monat, dann Jahr dargestellt, während in Nordamerika die Reihenfolge Monat, Tag, Jahr ist. Nicht explizit in solchen Details zu sein, kann zu Datenqualitätsproblemen führen und im schlimmsten Fall, dass Ihre API eine Anwendung verletzt.

Produktionsdatenmengen werden nicht berücksichtigt. Bei der Entwicklung von APIs werden relativ kleine Datasets verwendet. In der Produktion sind die Datenmengen oft viel größer, was dazu führt, dass API-Aufrufe versuchen, riesige Datenmengen in einer einzigen Anforderung zu kommunizieren. Dies kann je nach Netzwerk zwischen Client und Backend zu einer Reihe von Problemen führen. Im schlimmsten Fall kann die Anforderung übermäßigen Bedarf am API-Backend verursachen, was dazu führen kann, dass der API-Aufruf nicht erfolgreich verläuft.

Fehler können auch beim Festlegen von Policys für das API-Gateway auftreten. Diese Fehler beinhalten in der Regel keine ausreichende Sicherheit, die es böswilligen Akteuren ermöglichen kann, Daten zu ändern oder unsachgemäß darauf zuzugreifen oder sogar die API als Möglichkeit zu nutzen, das Netzwerk anzugreifen. Diese Art von Problemen werden von der OWASP Foundation analysiert und gesammelt. Die häufigsten Fehler werden in ihrer bekannten Top 10 API-Sicherheitsrisikoliste gemeldet.

Die Rollen eines API-Gateways und des API-Backends zu verwechseln, ist ein weiterer häufiger Fehler. Beide Funktionen müssen APIs verarbeiten, sobald sie empfangen werden, und es ist einfach, die beiden Elemente miteinander zu vermischen. Die Aufgabe des Gateways besteht jedoch darin, Anfragen sehr schnell zu überprüfen und an den richtigen Ort zu leiten. Das API-Backend benötigt länger, um jede Anforderung zu verarbeiten, da es Geschäftslogik bereitstellt.

Denken Sie daran, dass die Beziehung zwischen API-Aufrufen und dem API-Backend nicht Eins-zu-Eins ist.

Arten von APIs

Es gibt vier Haupttypen von APIs. Welche Sie wählen, hängt von Ihrem Anwendungsfall ab. Berücksichtigen Sie kurz- und längerfristige Pläne für die Anwendung, bevor Sie sich mit einem Modell abgleichen. Der Austausch in einer anderen API ist möglich, erhöht jedoch Kosten und Komplexität.

  • Öffentliche APIs können von jedem Benutzer verwendet werden, um von einer Clientanwendung aus auf die Daten eines Servers oder andere Services zuzugreifen. Zu den gängigen Anwendungen öffentlicher APIs gehören das Abrufen von Verkehrs- und Wetterdaten und das Verwalten von Anmeldeprozessen von Drittanbietern. Öffentliche APIs dienen im Allgemeinen dazu, dass jede Anwendung einen Service verwenden kann. Dieser Zugriff kann eine einfache Aktion sein, z. B. das Abrufen der aktuellen Zeit oder etwas Komplexeres, wie das Abrufen eines Wetterradarbilds oder eine detaillierte Liste der Richtungen von Punkt A nach Punkt B. Da öffentliche APIs in der Regel weit verbreitet sind, wird darauf geachtet, sie nicht zu ändern, es sei denn, dies ist unbedingt erforderlich, um die Funktionalität von Anwendungen nicht zu beeinträchtigen.
  • Private APIs wurden nur zur internen Verwendung entwickelt und sind nicht allgemein veröffentlicht. In der Regel können private APIs die Anwendungen eines Anbieters mit den Servern dieses Anbieters kommunizieren. Beispiel: Die Bankanwendung auf Ihrem Telefon verwendet private APIs, um auf die einzigartigen Services Ihrer spezifischen Bank zuzugreifen.
  • Partner-APIs wurden für die Verwendung zwischen bestimmten Organisationen entwickelt. Die Details der API werden einer begrenzten Anzahl von Partnern offengelegt. Beispiel: Eine Cloud-Datenbankplattform kann zustimmen, mit einer bestimmten Anzahl von Analyseanbietern zusammenzuarbeiten. Dies führt zu Partner-APIs, die effizient die Datenbank mit den Analyseplattformen verbinden.
  • Composite-APIs werden für eine bestimmte Funktion verkettet und können eine Kombination aus öffentlichen, privaten und Partner-APIs sein. Ein Beispiel für eine verkettete API, die öffentliche und private APIs verwendet, ist die Integration zwischen einer Wetter-App und einer Fitness-Tracker-App. Die öffentliche API der Wetter-App liefert der Fitness-Tracker-App Daten wie Temperatur und Luftfeuchtigkeit. Seine private API bringt Daten über das Tempo und die zurückgelegte Entfernung des Eigentümers und kombiniert sie mit Umweltfaktoren, um verbrannte Kalorien zu berechnen.

Beispiele für APIs

Die meisten Menschen sind mit Verbraucher-APIs vertraut, z. B. für Wetter oder Standort. Es gibt jedoch ein Universum aus hochentwickelten APIs, mit denen Unternehmen die Vorteile der Funktionalität nutzen können, von Cloud-Services über Datenbanken bis hin zu robusten Geschäftsanwendungen.

Beispiel: Oracle bietet eine breite Palette von APIs für seine Services. Unternehmen, die Oracle Cloud Infrastructure (OCI) verwenden, können APIs für die programmgesteuerte Verwaltung virtueller Netzwerke nutzen, darunter das Erstellen, Konfigurieren und Verwalten von Subnetzen, Sicherheitslisten und Routentabellen. Mit einer Compute-API können Administratoren Compute-Instanzen in OCI starten, stoppen, neu starten und konfigurieren. Andere APIs verbinden IT-Teams mit Objektspeicher- und Identitäts- und Zugriffsverwaltungsfunktionen.

Auch innovative Startups nutzen APIs. Beispiel: Inworld.ai bietet KI-gesteuerte virtuelle Charaktere für das Rollenspiel von Online-Spielen. Mithilfe von APIs können Entwickler nicht spielbare Charaktere (NPCs) erstellen, die auf realistische und ansprechende Weise mit Spielern interagieren. Mit den APIs können Spieleentwickler die Attribute, die Persönlichkeit und das Verhalten eines Charakters angeben, sodass sie NPCs anpassen können, um ihren Spielen Tiefe und Vielfalt zu verleihen. Virtuelle Zeichen können Texteingaben oder Spracheingaben verstehen und beantworten – alles über APIs.

Von der Verwendung von APIs durch Dominoes für die Integration mit Sprachassistenten, damit Kunden Pizza bestellen können, ohne ein Gerät zu berühren, bis hin zu Uber mithilfe von APIs, um Echtzeitdaten zu verknüpfen und Fahrtpreise basierend auf Nachfrage und Verkehrsbedingungen dynamisch anzupassen, treibt diese Technologie jetzt echte Innovationen voran.

API-Anwendungsfälle

Für die durchschnittliche Person sind die APIs, die Social-Media-Integration und Zahlungsverarbeitung ermöglichen, vertraut. Viele Websites und Anwendungen verwenden APIs, um gängige Social-Media-Funktionen zu ermöglichen, wie das Teilen von Inhalten, während E-Commerce-Plattformen APIs verwenden, um eine Verbindung zu Zahlungsgateways wie Stripe oder PayPal herzustellen.

Aber das ist nicht der einzige Weg, wie APIs unseren Alltag erleichtern. Sie ermöglichen die Geolocation-Services, die von Apps verwendet werden, die Ride-Sharing- oder Food-Delivery-Services bereitstellen, die von Mapping-APIs abhängen, um den Standort des Kunden zu Hause oder am Zielort zu finden.

Auf der Geschäftsseite umfassen API-Anwendungsfälle, mit denen Teams mit Cloud-Ressourcen interagieren können, wie z. B. die Anwendungen, die sie für Finanz- oder Kundenservicefunktionen verwenden. APIs sind auch das, was Stromkommunikation und Datenaustausch zwischen IoT-Geräten und ihren Steuerungssystemen ist.

Wenn Sie in einem Smart Office arbeiten, in dem Licht und Temperatur automatisch eingestellt werden, ist dies ein API-Anwendungsfall.

API-Protokolle

Es gibt mehrere Protokolle oder Architekturstile, mit denen Entwickler APIs zugänglich machen können. Diese Ansätze lassen den Entwickler wissen, wie sie erwarten sollten, dass eine Reihe von APIs funktionieren und in der Regel welchen Mechanismus sie verwenden, um von ihren eigenen Programmen aus auf die API zuzugreifen.

Zu den gängigen Architekturstilen gehören:

  • Representational State Transfer (REST)
    Dies ist möglicherweise die beliebteste Architektur für den Zugriff auf Ressourcen und Services im Web. In vielen Umgebungen durchläuft ein Client Prozesse, die seinen Status relativ zum Server ändern. Wenn Sie beispielsweise Ihren Banksaldo kennen möchten, müssen Sie von einem nicht authentifizierten Status zu einem authentifizierten wechseln. Der Server und der Client behalten dann diesen authentifizierten Status bei, sobald er eingerichtet wurde. REST-APIs hingegen sind zustandslos. Wenn ein Entwickler mit einer REST-API einen Banksaldo prüfen möchte, muss die Anforderung genügend Informationen enthalten, um den Benutzer zu authentifizieren, der die Anforderung stellt. Nachdem die Anforderung verarbeitet wurde, werden keine Statusinformationen beibehalten. Wenn der Benutzer eine weitere ähnliche Anforderung stellen möchte, muss er erneut Authentifizierungsinformationen mit der Anforderung angeben. Ein Vorteil von REST-APIs besteht darin, dass Server den Status von Clients nicht verfolgen müssen, was die Serverarchitektur erheblich vereinfachen kann.
  • Remote Procedure Calls (RPCs)
    In herkömmlichen Anwendungen werden Prozeduraufrufe, manchmal auch als Funktionsaufrufe bezeichnet, für den Zugriff auf die Geräte und Dienste des Computers verwendet, auf dem die Anwendung ausgeführt wird. Dateien öffnen und lesen oder auf dem Bildschirm des Computers oder anderen Geräten schreiben sind Funktionen, die über Prozeduraufrufe ausgeführt werden. Auf diese Weise stellt das Betriebssystem eine Abstraktionsschicht zwischen der Anwendung und der tatsächlichen Hardware des Computers bereit. Anwendungsprogrammierer müssen nichts über das Display des Computers wissen; sie verwenden nur einen Prozeduraufruf. Auf die gleiche Weise können Prozeduraufrufe einer Anwendung erlauben, eine Ressource in einem Netzwerk zu verwenden. Vielleicht sind die Dateien des Benutzers nicht auf dem lokalen Computer, sondern auf einem Netzwerkserver. Ein Remote-Prozeduraufruf erledigt den Job. Oft weiß die Anwendung nicht, ob die Ressource, die sie verwenden möchte, lokal oder remote ist. Das Betriebssystem ermittelt es und ergreift die entsprechenden Schritte, um die Anforderung zu erfüllen. Im Allgemeinen können RPCs jedes Format verwenden, um auf eine Funktion zuzugreifen. Konventionen für die Funktionsweise der Aufrufe sind in der Regel die Domäne des Betriebssystems.

    Betriebssystemaufrufe sind nur ein RPC-Typ. Andere Arten können entwickelt werden, um fast alles zu tun. Ein Unternehmen kann beispielsweise eine eigene Anwendung erstellen, um Mitarbeiterstunden zu verfolgen. Entwickler können grundlegende Netzwerkfunktionen verwenden, um Prozeduren zu erstellen, mit denen mobile Apps Check-ins oder Check-outs an zentrale Server melden können. Verschiedene Bibliotheken erleichtern diese Entwicklung, während die Verwendung einer Standardarchitektur wie REST hilfreich sein kann, da andere Entwickler eher verstehen, wie der RPC funktioniert.
  • Einfaches Objektzugriffsprotokoll (SOAP)
    Wie REST bietet SOAP eine Möglichkeit, auf Services im Internet zuzugreifen. Es verwendet XML, um zu definieren, wie Anforderungen formatiert werden und auf einer Vielzahl von Transportprotokollen ausgeführt werden können, was bedeutet, dass es herstellerunabhängig sein kann. SOAP wird am häufigsten für den Zugriff auf Webservices verwendet, wobei HTTP als Transportschicht fungiert. Wenn eine Anwendung eine Produktbeschreibung abrufen möchte, erstellt sie das richtige XML-Dokument und sendet es an einen Webserver, der das Produkt kennt. Der Webserver sendet ein eigenes XML-Dokument zurück, einschließlich der angeforderten Produktinformationen. Da SOAP Objekte abrufen soll, sind Aktionen auf GET, POST, PUT und DELETE beschränkt, was die Verbstruktur des Protokolls extrem einfach macht.

API-Integrationen

API-Integrationen verbinden Anwendungen und ermöglichen den Austausch von Daten und Funktionen. Stellen Sie sich Integrationen als Telefonleitungen vor, die eine offene Back-and-Fort-Kommunikation ermöglichen.

Es sind drei Komponenten beteiligt.

Die APIs selbst stellen die Regeln und Spezifikationen bereit, die bestimmen, wie Anwendungen kommunizieren können. APIs definieren, welche Daten ausgetauscht werden können, wie sie formatiert werden und welche Aktionen ausgelöst werden können.

Die Serveranwendung stellt ihre Funktionalitäten oder Daten über eine API zur Verfügung. Beispiel: Ein Cloud-Service bietet eine API, mit der IT-Teams schnell neue Instanzen einrichten oder Plätze hinzufügen können.

Die Clientanwendung verwendet APIs, um Daten oder Funktionen aus der Serveranwendung anzufordern. Eine Rideshare-App verwendet beispielsweise die API eines Wetterservice, um die Preise anzupassen, wenn es regnet oder bestimmte Temperaturschwellen überschreitet.

Der eigentliche Prozess umfasst einige Schritte, beginnend mit dem Entwickler der Client-Anwendung, die eine geeignete API auswählt. Der Client verwendet API-Schlüssel, Token oder andere Zugangsdaten, um sich bei der gewünschten API zu authentifizieren und Autorisierung für den Zugriff auf bestimmte Daten oder Aktionen zu erhalten. Er stellt dann Anforderungen oder Aufrufe an die API des Servers, in der die genauen Daten oder Aktionen angefordert werden.

Die bereitstellende Anwendung verarbeitet die Anforderung und führt, falls autorisiert, die Aktion aus oder ruft die Daten ab und sendet sie über die API in einem strukturierten Format, wie JSON oder XML, an den Client zurück.

APIs und digitale Transformation

Bei der digitalen Transformation dreht sich alles um die Cloud, und APIs sind ein Eckpfeiler cloudnativer Architekturen. APIs ermöglichen die Integration von Services und Systemen in die Cloud und ermöglichen es Unternehmen, Legacy-Anwendungen mit ihren neuen Cloud-Services zu verbinden und so einen schrittweisen Übergang in eine digitale Zukunft zu ermöglichen, ohne den Betrieb zu unterbrechen. Und mit APIs können Unternehmen schnell auf Marktveränderungen und -chancen reagieren. Denken Sie daran, moderne Services wie Zahlungsgateways, Social-Media-Plattformen und Analysetools direkt in Ihre Anwendungen zu integrieren.

Eine weitere transformative und API-gesteuerte Technologie sind Microservices, ein architektonischer Ansatz für die moderne Anwendungsentwicklung, der unabhängige Services und Funktionen bevorzugt. In einer Microservices-Architektur wird eine Anwendung in enthaltene Bausteine unterteilt, die eine einzelne Aufgabe effizient ausführen. Microservices kommunizieren mit anderen Anwendungen oder Services über APIs. Eine Anwendung könnte nur ein paar Microservices haben, oder sie könnte aus Hunderten oder sogar Tausenden beweglicher Teile bestehen. Microservices-basierte Anwendungen können schneller skaliert werden, indem einzelne Elemente unabhängig bleiben. Dies bietet die Agilität und Flexibilität, die für Initiativen zur digitalen Transformation erforderlich sind, die durch die monolithischen Architekturen in der Legacy-Softwareentwicklung behindert werden können.

Cloud-native Unternehmen, die Microservices nutzen, können schnell umsteigen, um neue Chancen zu nutzen und Automatisierung zu nutzen. APIs unterstützen diese Strategie.

Wie Oracle hilft

Oracle Cloud Infrastructure (OCI) bietet eine umfassende Reihe von Services zur Verwaltung des Lebenszyklus von APIs. Dank integrierter Tools können Entwicklerteams ganz einfach bei Prototypen, Tests und Validierungen von APIs zusammenarbeiten. Oracle Cloud Infrastructure API Gateway bietet Integration, Beschleunigung, Governance und Sicherheit für API- und SOA-basierte Systeme und ermöglicht es Teams, Web-APIs sicher zu verwalten und bereitzustellen. Darüber hinaus können API-Operatoren mit Nutzungsplänen und Abonnements APIs überwachen und monetarisieren.

Sobald ein Entwicklungsteam die Funktionsweise von APIs versteht, erhält es Einblick in die verborgenen Verbindungen, die viele der Anwendungen und Services unterstützen, die seine Kunden und Mitarbeiter täglich nutzen. Jetzt können Entwickler Anwendungen schneller, besser und kostengünstiger erstellen, indem sie Daten und Funktionalitäten nutzen, die über APIs bereitgestellt werden, anstatt alles von Grund auf neu zu erstellen.

Finanzanwendungen sind wichtige und anspruchsvolle Anwendungsfälle für APIs. Sie können CIOs dabei helfen, CFOs bei der Bereitstellung von Systemen zu unterstützen, die sowohl Mitarbeiter als auch Kunden begeistern. Im Folgenden finden Sie weitere Möglichkeiten zur Optimierung zentraler Finanzprozesse.

API – Häufig gestellte Fragen

Welche vier Arten von APIs gibt es?

Die vier Arten von APIs sind öffentlich (jeder kann sie verwenden), privat (intern innerhalb einer Organisation entwickelt), Partner (entwickelt, um zwischen Software von beteiligten Organisationen zu arbeiten) und zusammengesetzt (verschiedene Arten von APIs, die zusammen verwendet werden).

Was ist ein Beispiel für eine API im realen Leben?

Ein gutes Beispiel für einen öffentlichen API-Anbieter ist die NASA, die APIs zum Austausch von Forschungsdaten, Bildern und Ereignisverfolgungsinformationen bereitstellt. Diese APIs ermöglichen es Entwicklern, einen Feed ausgewählter NASA-Daten zu erhalten – wie Mars Rover-Updates oder Details über von der NASA verfolgte Naturereignisse wie Vulkanausbrüche – und sie in ihre eigenen Anwendungen zu integrieren. Zum Beispiel könnte eine Wetter-App Mars Rover-Updates in einen speziellen Abschnitt integrieren, der als "Live from Mars" -Feed für Benutzer zum Auschecken gefördert wird.

Ist das Erstellen einer API einfach?

Das Schreiben einer API kann ein einfacher Prozess sein, insbesondere für erfahrene Entwickler. APIs können in fast jeder Programmiersprache codiert werden, und vorhandene Architekturen wie REST bieten festgelegte Richtlinien für die Arbeit. Eine einfache Möglichkeit, die API-Entwicklung zu erlernen, besteht darin, öffentliche Open-Source-APIs per Reverse Engineering zu entwickeln, um zu sehen, wie ihre Architekten sie erstellt haben.

Was ist REST-API in einfachen Worten?

REST, manchmal auch als RESTful bezeichnet, steht für "representational state transfer" und ist ein Standardprotokoll, das für die Entwicklung von Webservices verwendet wird. REST bietet eine Reihe von Regeln und Richtlinien, mit denen verschiedene Anwendungen skalierbar und effizient über das Internet kommunizieren können. REST definiert, wie Anwendungen Anforderungen (in der Regel GET, PUT, POST und DELETE) über HTTP mit HTML, XLT, Python, JSON, PHP oder Klartext stellen, ohne dass eine zustandsbehaftete Beziehung zwischen dem Client und dem Server hergestellt werden muss.