Wenn zwei verschiedene, oder auch gleiche, IT-Systeme Daten untereinander austauschen wollen, benötigen sie ein Hilfsmittel, mit dem sie sich verständigen können. Diese Kommunikation leistet eine Schnittstelle, die Programmierer unter der Bezeichnung API kennen, das steht für „Application Programming Interface“ – eine Anwendungs-Programmierschnittstelle.

API Programmierung anfragen

Funktionsweise und Anwendung einer API & Was ist eine API

Streng genommen basiert jegliche Softwarelandschaft auf solchen Programmierschnittstellen. Computeranwender, Handynutzer und alle Menschen, die im Internet unterwegs sind, kommen ununterbrochen mit APIs in Berührung.  Bei einem Shopsystem etwa kommunizieren eine Datenbank, eine Anwendungslogik und das Webfrontend zur Darstellung der Internetseite inklusive Warenkorb miteinander. Außerhalb des Webshops können Zahlungsdienstleister und Social Media-Kanäle angebunden werden. Jede Einheit für sich basiert auf völlig unterschiedlichen Technologien, vielleicht an getrennten Standorten, mitunter auf anderen Kontinenten. Dennoch arbeiten sie alle zusammen, um ein ganzes System zu bilden und Kontakt zu außenstehenden Anwendungen aufzunehmen. APIs übermitteln Produkt- und Kundendaten, Gesamtpreis mit Mehrwertsteuer und sonstige Informationen für den Bestell- und Bezahlvorgang über genau definierte Schnittstellen. Sie kümmern sich im Webshop darum, dass Produkt XY beim Kunden Müller, und nicht bei Meyer ankommt und dass es nicht von Schmidts Konto bezahlt wird.

Dieses vereinfachte Beispiel lässt sich auf die IT-Landschaft Ihres Unternehmens übertragen. Zwischen zwei voneinander total verschiedenen Systemen kann eine Kommunikation entstehen, ohne dass deren Software komplett umgebaut werden muss. APIs verlangen von der Quell- und Zielanwendung nur minimale Anpassungen. Oft ist Software im Unternehmensbereich bereits darauf ausgelegt, mit Programmierschnittstellen zu arbeiten, sodass sich der Integrationsaufwand nochmals verringert. Sogar firmen- oder behördenübergreifender Datenaustausch ist so möglich, ohne dass einheitliche IT-Umgebungen vorausgesetzt sind.

API Definition

Worauf sich beide Systeme einigen müssen, sind die Einzelheiten der Übertragung. Diese Einigung schafft die Definition der API. Sie umfasst das Datenformat und weitere Details wie Funktionsaufrufe, zugrundeliegende Protokolle, Sicherungsmaßnahmen und Fehlerbehandlung. Dafür schreibt der Anbieter der Schnittstelle eine genaue Dokumentation, an der sich Absender und Empfänger zu orientieren haben. Das Quellsystem muss wissen, welche Daten in welchem Format vom Zielsystem erwartet und verstanden werden. Das Zielsystem muss wissen, welche Daten es empfangen wird und wie es eine Antwort an die Gegenseite formulieren soll.

API Beispiel

In SuiteCRM sollen Kurse erstellt und verwaltet werden, diese Kurse sollen in einem WooCommerce Shop angeboten werden. Dazu verbinden wir bei Systeme über die bereits vorhandenen Schnittstellen mittels einer API, die die Daten zwischen beiden Systemen Synchron hält und zusätzlich Bestellungen aus WooCommerce in das SuiteCRM System überträgt.

API – Design, Dokumentation und Testing von Schnittstellen

Unter API-Design versteht man die Entwicklung von APIs, diese werden nach den aktuellen Best Practice Standards in Tools, wie z.b. Swagger, beschrieben und gleichzeitig dokumentiert. Anschließend lässt sich diese Beschreibung nutzen, um API Test’s durchzuführen und Automatisierte Testings zu Programmieren.

Schnittstellenstandards

Standardisierte APIs helfen bei der Entwicklung derartiger Kommunikationswege. Sie nutzen ebenfalls standardisierte Protokolle, Datenformate und Skriptsprachen. Dazu zählen unter anderem JSON und XML. Durch diese Vereinheitlichung kann sich der Schnittstellenentwickler ganz darauf konzentrieren, was übertragen werden soll. Er muss sich nicht um das Wie kümmern, da dieses bereits fertig ist und sich zig-fach im produktiven Einsatz bewährt hat. Offene Schnittstellenstandards sind ähnlich wie Open Source-Software frei verfügbar und können von jedem fachlich versierten Anwender ohne Lizenzkosten genutzt werden.

API Sicherheit

Übertragungen durch öffentliche Netze bergen immer die Gefahr, dass Unbefugte mitlesen. Der Großteil der Datentransfers im Internet passiert mittlerweile verschlüsselt. Keine ernstzunehmende Webseite ist im Jahre 2022 noch über HTTP zu erreichen. Dies übernimmt das gesicherte HTTPS-Protokoll, welchem der Austausch von Zertifikaten zugrunde liegt.

Auch APIs, die über Internet-Protokolle die Kommunikation realisieren, unterstützen Verschlüsselung per HTTPS. Einigen sich beide Teilnehmer auf eine zusätzliche Authentifizierung, kann dies mit auf Token basierenden Verfahren wie JSON Web Token, OAuth oder OpenID geschehen. Mit diesen Technologien kann auch der REST-Standard umgehen. Hier legt die Schnittstellendefinition fest, welche Authentifizierungsmethode zu nutzen ist.

REST API für einheitliche Kommunikation

Ein weit verbreiteter Schnittstellenstandard ist REST. Das steht für „Representational State Transfer“. Dessen Entwicklung in den 1990er Jahren orientierte sich an der damaligen Beschaffenheit des World Wide Web und griff die Schwächen der seinerzeit genutzten Technologien auf. REST folgte dem Wunsch nach einer einheitlichen, flexiblen und mächtigen Lösung für die auf Schnittstellen basierende Kommunikation zwischen IT-Systemen. Als ernsthaftes Fundament einer einheitlichen Webarchitektur hat sich RESTful allerdings erst 2014 etabliert.

REST kann sich der Funktionsaufrufe bedienen, die im HTTP-Protokoll festgelegt sind. So nutzt es in seiner Eigenschaft als Standard die Voraussetzungen eines bereits existierenden Standards. Hinzu kommt, dass HTTP und das verschlüsselte HTTPS ihren festen Platz bei der Kommunikation im World Wide Web haben. Eine bessere Basis, REST als einheitliche Lösung für weltumspannende Datentransfers zu etablieren, gibt es quasi nicht.

Die Funktionsaufrufe sind recht einfach gestaltet und lassen sich leicht in den IT-Systemen umsetzen, die sich über das Netzwerk unterhalten wollen:
– GET: Fordert eine Ressource an. Was diese Ressource ist, legt nicht der Standard fest, sondern die Dokumentation der REST-Schnittstelle. Die Ressource ist jedoch für die Funktion der beteiligten Seiten von Bedeutung.
– POST: Fügt eine neue Ressource ein.
– PUT: Legt eine neue Ressource an oder aktualisiert sie, falls sie schon vorhanden ist.
– DELETE: Entfernt die genannte Ressource.
Daneben stehen die Funktionen PATCH, HEAD, OPTIONS, CONNECT und TRACE zur Verfügung.

Wie diese Aufrufe genau zu implementieren sind, ist im REST-Standard nicht festgelegt. Hier entfaltet sich seine große Flexibilität. Erst der Entwickler einer auf REST fußenden API definiert in seiner Dokumentation, was jede einzelne Funktion mit welcher Ressource bewirken soll. Auch die Programmiersprache der API sind im REST nicht festgelegt, hier greifen wir auf PHP und Javascript zurückt, in denen z.B. über Node.js die API realisiert wird.

Webhooks für erhöhte Geschwindigkeit und zeitkritische Anwendungen

Systeme, die auf neue Informationen warten, können sich ungeduldig verhalten. Ein Beispiel sei eine Nachrichtenseite, die für ihre Nutzer nach relevanten Artikeln Ausschau hält. Anstatt per API andauernd bei den Nachrichtenquellen umsonst anzufragen, ob es etwas Neues gibt, kann die Gegenseite auf Webhooks setzen.

Webhooks sind ereignisgesteuerte API-Aufrufe. Sie geschehen nur, wenn ein vorher definierter Zustand eintritt. Ein solcher Zustand wäre das Erscheinen eines für den Nutzer passenden Nachrichtenartikels. Die Einrichtung von Webhooks verhindert überflüssige Kommunikationsversuche und entlastet das Netz, weil erst in abgesprochenen Situationen Daten übertragen werden. Bei zeitkritischen Anwendungen kann dies durchaus ins Gewicht fallen.

Offene APIs von prominenten Dienstleistern

Die Anmeldung bei diversen Internetportalen, die Sie bequem mit Ihrem Google- und Facebook-Konto oder Ihrer Apple-ID ausführen können, ist Ihnen sicher wohl bekannt. Diese Anbieter stellen für solche Zwecke offene APIs bereit, die Webseitenbetreiber in ihre Internetauftritte einbinden können. Gleiches gilt für die Hersteller von smarten Fernsehern, die per offener API die Angebote von youtube, Netflix oder Amazon Prime Video in ihren Apps zugänglich machen.

Entwicklung Ihrer individuellen API

Da Sie nun eine Vorstellung davon haben, was APIs leisten können, haben Sie sicher bereits Ideen für deren Einsatz in Ihrer Unternehmens-IT. CodeSchreiber.de unterstützt Sie von der Beratung über die Planung bis zur Produktivsetzung und Weiterentwicklung von Schnittstellen zwischen Ihren Anwendungssystemen. Dabei setzen wir auf die etablierten Standards, von denen Sie gerade gelesen haben.

APIs wie REST sind auf Skalierung ausgelegt und ermöglichen wachsende Serverlandschaften ohne Anpassung. Nehmen Sie mit uns Kontakt auf und sagen Sie uns, was miteinander verbunden werden soll. Wir kümmern uns um das Wie.

Schneller Kontakt über das Kontaktformular





    mit dem Absenden stimmen Sie einer Verarbeitung Ihrer Daten laut Datenschutzerklärung zu.