Was ist eine Schnittstelle?
Eine Schnittstelle ist wie eine Brücke, die verschiedene Programme oder Systeme miteinander verbindet, damit
sie Informationen austauschen können. Sie ermöglicht es, dass ein Programm Daten an ein anderes senden oder von diesem
empfangen kann, damit die beiden Programme zusammenarbeiten können.
Was ist eine API Schnittstelle?
API-Schnittstellen (Application Programming Interfaces) sind wie Brücken, die verschiedene digitale Systeme,
Geräte oder Programme miteinander verbinden, um Daten auszutauschen. Digitale Schnittstellen arbeiten im Hintergrund,
egal ob beim Online-Shopping, der Nutzung von Apps oder in Unternehmensnetzwerken. Sie sorgen
dafür, dass nicht nur Produktinformationen angezeigt, sondern auch sichere Transaktionen durchgeführt werden können.
Schnittstellen sind also grundlegende Bausteine, die Ihren digitalen Alltag effizienter und vernetzter machen.
Unterschiedliche Interessen - Unterschiedliche Schnittstellen
Je nachdem wofür Sie eine Schnittstelle brauchen, kommen verschiedene API-Lösungen in Betracht.
Internal API
Betriebsinterne Kommunikation zwischen einzelnen Systemen sollte idealerweise von der Öffentlichkeit nicht einsehbar sein. Genau dafür sorgen Internal APIs. Sie ermöglichen einen privaten Verkehr von Daten, sodass diese sicher und geschützt am Ziel ankommen. Unternehmen können sich auf sie verlassen und erzielen durch die Nutzung eine deutliche Effizienzsteigerung.
Customer API
Diese Schnittstelle verfügt über ein Berechtigungssystem, welches den Raum der Benutzer so einschränkt, dass Informationen nur da ankommen,
wo sie auch sollen. Unterschied zu der bereits genannten ist die Nutzungserweiterung auf externe Unternehmen - vorausgesetzt ist natürlich der Besitz einer speziellen Berechtigung, die den Zugriff auf die Schnittstelle ermöglicht.
Open Source API
Den Kreis schließt eine immer beliebter werdende Methode der Datenübertragung - die Open Source API. Wie der Name schon sagt, ist die Schnittstelle öffentlich und für jeden zugänglich. Daraus ergeben sich Kostenersparnisse, eine bessere Datenerfassung und ein schnellerer Datenaustausch.
Verbreitete Software-Schnittstellen
Unterschiedliche Bedürfnisse verlangen auch nach unterschiedlichen Schnittstellen,
die nächste Entscheidung betrifft den Anbieter und die technische Umsetzung.
REST-API
REST API ist die am häufigsten verwendete API-Architektur. Sie ist einfach und standardisiert, daher kann sie mit verschiedenen Datentypen arbeiten. Meistens hilft sie webbasierten Apps, miteinander oder mit Kunden zu kommunizieren. Dabei nutzt sie das HTTP-Protokoll, um Daten im JSON-Format zu übertragen.
GraphQL
GraphQL verbessert viele Schwächen der REST-API. Der Hauptunterschied ist, dass bei GraphQL nur die genau angefragten Daten gesendet werden. Dies wird durch eine präzisere Steuerung des Datenverkehrs erreicht. Dadurch wird das Problem des Zu-viel- oder Zu-wenig-Abfragens (Overfetching und Underfetching) von Daten stark reduziert, was das gesamte System schneller macht. Einfach gesagt: Es werden keine unnötigen Daten gesendet, und keine wichtigen Daten fehlen.
XML oder JSON?
Diese beiden Datenformate werden oft für den Austausch strukturierter Daten verwendet. netzreich bevorzugt JSON, weil es einfacher zu handhaben ist. JSON ist kompakter, was Übertragungen schneller und effizienter macht. Außerdem ist JSON für Laien verständlicher und leichter zu lesen. Deshalb wird JSON immer beliebter und von netzreich hauptsächlich verwendet.
Schnittstellen Kundenprojekte
Für die folgenden Kunden haben wir bereits Schnittstellen implementiert.
TelemaxX
Das Projekt Kundencenter unseres Partners TelemaxX umfasst moderne APIs, die auf GraphQL und REST basieren und ein sicheres JWT-Token-Autorisierungssystem nutzen. Die Kernkomponente ist eine leistungsstarke GraphQL-API, entwickelt mit Typescript und Apollo, inklusive automatischer Code-Generierung für benutzerfreundliche Client-SDKs. Als Datenbank nutzen wir CockroachDB. Das Kundencenter bedient Kundenanfragen hauptsächlich über die GraphQL-API, während Administrationsaufgaben und Schnittstellen ausschließlich über REST abgewickelt werden. Unsere APIs sind als Microservices organisiert und in Kubernetes gehostet, um eine zuverlässige Hochverfügbarkeit zu gewährleisten.
ASS
Für dieses Projekt nutzt netzreich eine REST-API mit der Swagger Documentation, also dem Open API Standard. Da diese Schnittstelle nicht öffentlich zugänglich ist, regelt das JSON Web Token die Zugriffsrechte. So können sie nur authentifizierte User einsehen. Die Programmierung wurde mit Nest JS umgesetzt. Zum Warenwirtschaftssystem nutzt netzreich eine XML-Schnittstelle.
STOBAG
Hierfür nutzt netzreich eine GraphQL-Schnittstelle auf der Basis von Hygraph. Diese API sorgt dafür, dass aktuelle Inhalte / Angebote der STOBAG auf den Websites der jeweiligen Fachpartner angezeigt werden. So muss ein neues Produkt nur einmal angelegt werden und wird auf alles Websites der Partner direkt übernommen. Durch diese vielschichtige Verbreitung ist eine schlanke und performante Schnittstelle sehr wichtig, weshalb GraphQL in diesem Fall das Mittel der Wahl ist.
Schnittstellen als Song
-
netzreich_-_API_Schnittstellen.mp3