API2

Was ist API?

Viele Abkürzungen erfreuen sich weltweit großer Bekanntheit, ganz egal, ob man denn von der Materie selbst viel Ahnung hat. Ein wenig anders verhält es sich mit „API“. Die drei Buchstaben stehen für „Application Programming Interface“. Wie es anhand des Wörtchens Programming vermutlich schon abzuleiten ist, bekommen wir es hier mit einem Thema zu tun, dass sich im Bereich Software und Programmierung bewegt. Kurz gesagt verbirgt sich hinter API eine Schnittstelle, die Soft- und Hardwarekomponenten miteinander verbindet. Beispiele hierfür können Festplatten, Anwendungen oder Benutzeroberflächen sein.

API oder ABI?

Was typisch für die Programmschnittstelle Abi ist: Sie definiert ausschließlich die Programmanbindung auf Quelltext-Ebene. Eine Binärschnittstelle dagegen, kurz „ABI“ genannt, definiert eine Schnittstelle zwischen zwei Computerprogrammen auf Maschinenebene.

Was kann API?

Mit der Programmschnittstelle lassen sich viele Vereinfachungen vornehmen. Auch Online-Dienste stellen APIs mittlerweile zur Verfügung, die schließlich unter dem Begriff „Webservice“ laufen. API kann unter anderem folgende Dinge:

  • Zugriff auf Datenbanken
  • Zugriff auf Hardware oder Festplatten
  • Erleichterungen bei grafischen Benutzeroberflächen
API

Welches Modul funktioniert alleine?

Je komplexer ein Programm ist, desto mehr muss es auf die Nutzung von API’s zurückgreifen. Einzelne Teile, auch Module genannt, kapseln sich vom Code ab. Kommunizieren können die einzelnen Module nun über die Programmschnittstellen. Die Wartung der Programme fällt leichter, wenn API’s arbeiten. Mittels übergebener Daten wird gecheckt, ob das Modul voll funktionsfähig ist. Etwaige Fehler lassen sich somit schnell beheben. API’s sind also eigentlich nichst anderes als geschickte Datenübermittler im Bereich der Software.

Welche Programmierschnittstellen existieren?

  1. Funktionsorientierte Schnittstellen
    Den funktionsorientierten Programmierschnittstellen sind lediglich Funktionen mit oder ohne Rückgabewert als Kommunikationsmittel bekannt. Dabei greift man auf ein eindeutiges Konzept zurück: Das des Handles. Die Funktion wird aufgerufen, woraufhin das Handle zurückkommt. Anschließend lassen sich noch weitere Funktionen erkennen, bevor sich das Handle wieder schließt.
  2. Dateiorientierte Schnittstellen
    Die dateiorientierten Programmierschnittstellen lassen sich über normale Dateisystemaufrufe ansprechen. Dazu gehören open, read, write und close. Daten müssen zu einem Objekt wandern. Ist dem der Fall, schreibt man sie mit write. Werden sie mit read geschrieben, geht es um den Empfang. Dieses Prinzip ist unter UNIX weit verbreitet.
  3. Objektorientierte Schnittstellen
    Unter objektorientierten Schnittstellen werden von Schnittstellenanzeigern verwendet. Damit verfügen sie über ein hohes Maß an Flexibilität, weshalb häufig eine Typbibliothek mitgegeben ist.
  4. Protokollorientierte Schnittstellen
    Unabhängig von Betriebssystem und Hardware dagegen sind die protokollorientierten Programmierschnittstellen. Das Protokoll unterliegt einer stetigen Neu-Implementierung. Damit sich der Aufwand minimieren lässt, kapselt man die protokollorientierte Schnittstelle durch eine funktions- oder interfaceorientierte Schnittstelle. Unterschiede gibt es lediglich zwischen allgemeinen (SOAP) und anwendungsspezifischen (SMTP) Protokollen.

Praktische Einsatzgebiete

Die theoretische Definition der API’s lässt sich ohne praktischen Beispielen nur schwer nachvollziehen. Vereinfacht gesagt werden in unserem Fall Daten in Echtzeit übertragen, dies geschieht außerordentlich zuverlässig zwischen zwei Ebenen. Die Einsatzgebiete klingen schon wesentlich verständlicher, als die bloße Definition der

API

Ohne API kein CRM

Programmierschnittstellen. Blicken wir doch einmal auf einen Datenimport zwischen zwei Systemen.

Das Kassensystem ist das entfernte, isolierte. Die Daten sollen nun in ein zentrales CRM-System übertragen werden. Das Customer Relationship Management kümmert sich um die Kundenpflege, das Unternehmen richtet seine strategischen Pläne nach den Mitgliedern/Interessenten aus. Nicht nur im CRM ist eine Schnittstelle von großer Relevanz, auch im Bereich der E-Mails kommen die Schnittstellen zum Einsatz. Sie kümmern sich um den Abruf von Inhalten eines externen Daten-Anbieters, das gilt für Daten personalisierten Mails. Lesen Sie hier alles zum CRM.

Werden Systeme ferngesteuert, handelt es sich ebenfalls um ein Einsatzgebiet von APIs. Ruft man eine Funktion auf, lassen sich bestimmte Routinen automatisch initiieren. Wichtige Datenmaterialien können außerdem in Echtzeit abgerufen und weiterverarbeitet werden.

Was ist eine Rest-API?

Die Rest-Api steht für den Begriff „Representational State Transfer-API“. Sie bezeichnet eine Schnittstelle, die zur Unterstützung des Austauschs von Daten verschiedener Systeme existiert. Web-Services stehen hierbei besonders im Fokus. Daten und Aufgaben verteilt man auf unterschiedlichen Servern, sie können jedoch auch durch das http-Requests angefordert werden. HTTP war übrigens die Grundlage für das Rest-API, weshalb viele Web-Services eine hohe REST-Kompatibilität aufweisen.

Was ist Open API?

API

Was kann Swagger?

Die OpenAPI Specification beschreibt einen Standard, der REST-konforme Programmierschnittstellen beschreibt. Die OpenAPI Initiative fördert diesen Vorgang. Eine vernetzte Welt soll sich in einem offenen und herstellerneutralen Beschreibungsformat zeigen. Die OpenAPI-Specification gehört zu „Swagger“, einem Software-Projekt. Die aktuellste Version ist die 3.0.3. Spezifikation. Zu verstehen ist sie als offenes Beschreibungsformat, das einen Überblick über die API`s erhalten soll. Im Angebot ist bei Swagger folgendes:

  • Ein Format, das sprachneutral und maschinenlesbar ist
  • Eine Definition in JSON und YAML
  • Einen Erweiterungsmechanismus
  • Contract-/API-First- sowie Code-First-Entwicklung

Verwenden müssen die Open API`s zahlreiche Unternehmen. Eines davon hört auf den bekannten Namen Zalando. Die API`s agieren zwischen den Services autonomer Teams. Genutzt werden sie im Konkreten zum Beispiel beim Abruf von Bewertungen.

Übrigens: Wussten Sie dass der virtuelle Datenraum von docurex bereits von Anfang an eine eigene API besitzt? Mit docurex können Sie unterschiedliche Software-Anwendungen direkt mit dem Datenraum von docurex verbinden. Testen Sie docurex doch gleich mal.